Qore SqlUtil Module Reference  1.5.2
SqlUtil::AbstractUniqueConstraint Class Reference

represents a unique column constraint More...

Inheritance diagram for SqlUtil::AbstractUniqueConstraint:

Public Member Methods

 constructor (string n, *hash c, *string n_index)
 creates the object from the name an a hash of column information
 
- Public Member Methods inherited from SqlUtil::AbstractColumnSupportingConstraint
 addSourceConstraint (string tname, AbstractForeignConstraint fk)
 adds a foreign constraint source to the unique constraint More...
 
 clearIndex ()
 clears any index base for the constraint
 
 constructor (string n, *hash c, *string n_index)
 creates the object from the name and a hash of column information
 
 constructor (string n, Columns c, *string n_index)
 creates the object from the name and a Columns object
 
 findMatchingIndex (*Indexes indexes)
 find an index that matches the constraint and marks both objects as related
 
abstract string getCreateSql (string table_name, *hash< auto > opts)
 returns a string that can be used to create the constraint in the database
 
hash< auto > getDisableReenableSql (AbstractDatasource ds, string table_name, *hash< auto > opts)
 returns lists of SQL strings to disable this constraint plus any dependent constraints and another list of SQL strings to reenable the same constraints; used when updating indexes that depend on constraints
 
*string getIndex ()
 returns the name of the associated index, if any
 
Qore::AbstractIterator getSourceConstraintIterator ()
 returns an iterator through all known source foreign constraints on the current table More...
 
bool hasColumn (string cname)
 returns True if the constraint references the named column
 
 removeSourceConstraint (string tname, list cols)
 removes a source constraint
 
 renameSourceConstraintTable (string old_name, string new_name)
 renames a table in a source constraint
 
bool setIndexBase (string ix)
 returns True if the object supports an index property and is set, False if not
 
- Public Member Methods inherited from SqlUtil::AbstractConstraint
 constructor (string n)
 creates the object and sets its name
 
bool equal (AbstractConstraint c)
 returns True if the argument is equal to the current object, False if not
 
string getDisableSql (string table_name)
 returns a string that can be used to temporarily disable the constraint from the database; if disabling constraints is not supported, then the constraint will be dropped
 
string getDropSql (string table_name)
 returns a string that can be used to drop the constraint from the database
 
string getEnableSql (string table_name, *hash< auto > opt)
 returns a string that can be used to enable the constraint in the database; if disabling constraints is not supported, then the constraint will be dropped
 
string getName ()
 returns the constraint name
 
abstract list< auto > getRenameSql (string table_name, string new_name)
 returns a list of SQL strings that can be used to rename the constraint in the database
 
bool hasColumn (string cname)
 returns True if the constraint references the named column
 
 rename (string n)
 renames the constraint
 
- Public Member Methods inherited from SqlUtil::Columns
 add (string k, AbstractColumn val)
 adds the given value to the hash with the given key name
 
 constructor (*hash c)
 creates the object from the argument
 
 constructor (Columns old)
 creates a copy of the object
 
bool equal (Columns cols)
 returns True if the argument has the same columns in the same order as the current object, False if not
 
string getElementName ()
 returns "column" since this object stores column objects
 
AbstractIterator getSqlColumnNameIterator ()
 returns an iterator for column SQL names
 
AbstractColumn memberGate (string k)
 returns the AbstractColumn object corresponding to the key given or throws a KEY-ERROR exception More...
 
Columns subset (softlist l)
 returns a subset of the current columns according to the list<auto> argument
 
AbstractColumn take (string k)
 removes the given key from the contained hash and returns the value
 
- Public Member Methods inherited from SqlUtil::AbstractHashContainer
 clear ()
 purges the contained data More...
 
 constructor (*hash nh)
 creates the object with the hash argument passed
 
 constructor (AbstractHashContainer old)
 creates a copy of the object
 
 copy (AbstractHashContainer old)
 creates a "deep copy" of the object
 
bool empty ()
 returns True if the container is empty, False if not
 
*string firstKey ()
 Returns the first key name in the contained hash or NOTHING if the contained hash has no keys. More...
 
*hash< auto > getHash ()
 returns the hash contained by this object
 
bool hasKey (string k)
 Returns True if the key exists in the contained hash (may or may not be assigned a value), False if not. More...
 
bool hasKeyValue (string k)
 Returns True if the key exists in the contained hash and is assigned a value, False if not. More...
 
Qore::AbstractIterator iterator ()
 Returns a HashIterator object for the contained hash. More...
 
Qore::AbstractIterator keyIterator ()
 Returns a HashKeyIterator object for the contained hash. More...
 
list< stringkeys ()
 Returns a list of key names of the contained hash. More...
 
*string lastKey ()
 Returns the last key name in the contained hash or NOTHING if the contained hash has no keys. More...
 
bool matchKeys (hash h1)
 returns True if the hash argument has the same keys (in any order), False if not More...
 
bool matchKeys (list< auto > l)
 returns True if the list<auto> argument has the same list of key strings as the keys in the object (in any order), False if not More...
 
bool matchKeys (AbstractHashContainer c)
 returns True if the container argument has the same keys (in any order), False if not More...
 
auto memberGate (string k)
 returns the value of the given key in the contained hash if it exists, otherwise throws a KEY-ERROR exception More...
 
Qore::AbstractIterator pairIterator ()
 Returns a HashPairIterator object for the contained hash. More...
 
bool partialMatchKeys (hash h1)
 returns True if the hash argument has at least the same keys (in any order, can have more keys), False if not More...
 
bool partialMatchKeys (list< auto > l)
 returns True if the list<auto> argument has at least the same keys (in any order, can have more keys), False if not More...
 
bool partialMatchKeys (AbstractHashContainer c)
 returns True if the container argument has at least the same keys (in any order, can have more keys), False if not More...
 
 renameKey (string old_name, string new_name)
 renames the given key; maintains the key order
 
int size ()
 Returns the number of keys in the contained hash. More...
 
bool val ()
 Returns False if the contained hash has no keys, True if it does. More...
 
list< auto > values ()
 Returns a list of values of the contained hash. More...
 

Additional Inherited Members

- Private Member Methods inherited from SqlUtil::AbstractColumnSupportingConstraint
bool equalImpl (AbstractConstraint c)
 returns True if the argument is equal to the current object, False if not
 
- Private Attributes inherited from SqlUtil::AbstractColumnSupportingConstraint
*string index
 the index supporting the constraint
 
*hash sourceConstraints
 a hash of ForeignConstraintSources, keyed by table name, the value is a hash of foreign constraints keyed by constraint name
 
- Private Attributes inherited from SqlUtil::AbstractConstraint
string name
 the name of the constraint
 
- Private Attributes inherited from SqlUtil::AbstractHashContainer
*hash h
 the data to be contained
 

Detailed Description

represents a unique column constraint