pytable.dbschema
index
p:\table\pytable\dbschema.py

Data-description of table structure

 
Modules
       
basicproperty.basic
basictypes.callable
basicproperty.common
basictypes.enumeration
basictypes.list_types
basicproperty.propertied
pytable.sqlquery
basicproperty.weak

 
Classes
       
BasicProperty(Propertied)
ActionProperty(EnumerationProperty, BasicProperty)
EnumerationProperty(object)
ActionProperty(EnumerationProperty, BasicProperty)
ListOf(rlist)
ConstraintSchemas
FieldSchemas
IndexSchemas
SequenceSchemas
TableSchemas
Propertied(object)
Schema
ConstraintSchema
CheckConstraint
ForeignKeyConstraint
NotNullConstraint
UniqueConstraint
PrimaryConstraint
IndexSchema
ParentSchema
BaseTableSchema
TableSchema
DatabaseSchema
FieldSchema
SequenceSchema

 
class ActionProperty(EnumerationProperty, BasicProperty)
    Class representing a constraint's action operation
 
 
Method resolution order:
ActionProperty
EnumerationProperty
BasicProperty
Propertied
object

Data and other attributes defined here:
set = {u'default': EnumerationChoice( name=u'default',..., value='NO ACTION', friendlyName=u'Do Nothing')}

Data and other attributes inherited from EnumerationProperty:
__dict__ = <dictproxy object at 0x01D86CF0>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'EnumerationProperty' objects>
list of weak references to the object (if defined)

Methods inherited from BasicProperty:
__delete__(self, client)
Delete the current value of the property for the client
 
At the moment, this method does nothing beyond calling
_delValue( client ), as there does not appear to be
any common feature required from __delete__.  The method is
here primarily to maintain the consistency of the interface
and allow for applications to override _delValue without
worrying about losing future features added to __delete__.
__get__(self, client, klass=None)
Retrieve the current value of the property for the client
 
This function provides the machinery for default value and
default function support.  If the _getValue method raises
a KeyError or AttributeError, this method will attempt to
find a default value for the property using self.getDefault
__init__(self, name, documentation='', **namedarguments)
Create a new basic property object
 
name -- name of the property, used for storage and reporting
documentation -- appears in automated documentation systems
 
baseType -- an object representing the base-type of the
        property's values.  May include the following values:
 
                coerce( value ) -- coerce value to acceptable type
                check( value ) -- check that given value is acceptable,
                        return false if it is not.
                factories( ) -- return a list of factory functions/classes
                        for creating new instances of the class
                dataType -- string specifying a data-type key for the
                        values.  This specifier is entirely local to the
                        properties system, with no neccessary relation to
                        class or type names.  With that said, generally the
                        values are the dotted-name of the class/type allowed
                        for the property.
                        
                        Note: This can be a dotted name with the trailing
                        items specifying more specific data types, so, for
                        instance, str.long will use the "long string" editor if
                        it's registered, or the "string" editor if not.
                        
        if coerce is not present, the class should have an initialiser
        that allows passing a single value as the value to coerce.
 
        if check is not present, check will be done as
        isinstance( value, baseType).
 
        if factories is not present, factories will be assumed to be
        the baseType itself.
 
defaultValue -- static value to be used as default, if not
        specified, not provided
defaultFunction -- function with signature function( property,
        client ) which returns a dynamic default value
setDefaultOnGet -- if true (default), then retrieving a
        default value causes the value to be explicitly set as the
        current value
 
 
friendlyName -- user-friendly name for use in UIs and the like,
        defaults to the current value of name
trueProperty -- if true, this property really does describe a
        property, that is, a descriptor for an attribute which is
        accessed using object.x notation.
        
        if false, this property is used to interact with the
        property system, but is not actually a property of an
        object (for instance when the object is an old-style class
        which cannot support properties, you can define virtual
        properties for use with the class)  The property system
        can examine the value of trueProperty to determine whether
        to use setattr(object,name,value) or call
        property.__set__(object, value) to use the property.
 
Notes:
        You can specify _any_ name=value set to store a value, so,
        for instance, you could specify __get__ to override the
        __get__ method, or similarly _getValue or getDefault.
 
        Sub-classes may (and do) define extra name=value pairs to
        support extended functionality.  You will need to look at
        the sub-class's documentation for details on other
        significant attribute names.
__repr__(self)
Get a representation of this property object
__set__(self, client, value)
Set the current value of the property for the client
 
This function provides the machinery for coercion and
bounds checking.  Before calling the _setValue method,
__set__ calls coerce( client, value ), with the return
value from the coercion becoming the value to be set.
Coercion may raise TypeError or ValueError exceptions,
and the application should be ready to catch these errors.
 
Once coercion is finished, __set__ calls
check( client, value ) to allow each boundary
condition to check the current value.  The boundary
conditions may raise BoundaryErrors (with the particular
error classes generally being sub-classes of ValueError
or TypeError).
__str__ = __repr__(self)
Get a representation of this property object
check(self, client, value)
Use our basetype to check the coerced value's type
coerce(self, client, value)
Attempt to convert the given value to an appropriate data type
 
Tries to use the baseType's coerce function,
failing that, calls the base type with the
value as the first positional parameter.
getBaseType(self)
Get our base-type object or None if not set
getDataType(self)
Get our data-type string
getDefault(self, client)
Get the default value of this property for the given client
 
This simply calls the Default object registered as self.default,
which, depending on whether defaultValue or defaultFunction was
specified during initialisation, will return a value or the
result of a function call.  If neither was specified, an
AttributeError will be raised.
getFactories(self)
Attempt to determine the factory callables for this property
getState(self, client)
Helper for client.__getstate__, gets storable value for this property
setState(self, client, value)
Helper for client.__setstate__, sets storable value

Data and other attributes inherited from BasicProperty:
baseType = None
setDefaultOnGet = 1
trueProperty = 1

Methods inherited from Propertied:
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

 
class BaseTableSchema(ParentSchema)
    Base-class for table-like schemas
 
 
Method resolution order:
BaseTableSchema
ParentSchema
Schema
Propertied
object

Methods defined here:
buildProperties(self)
Build dbdescriptors for this table's properties/fields
buildRowClass(self)
Build a new row-class if we don't have an explicitly-specified one

Data and other attributes defined here:
baseItemClass = <ClassProperty 'baseItemClass'>
The default base-class for itemclass
collectionClass = <ClassProperty 'collectionClass'>
The class used to wrap result-sets as collection objects
fields = <ListProperty 'fields'>
FieldSchema objects for the table
itemClass = <ClassProperty 'itemClass'>
The class used to wrap result-set-row objects
name = <StringProperty 'name'>
Name of the table (required)
properties = <DictionaryProperty 'properties'>
Table/View's property-descriptor objects
 
Created from fields via wrapping
propertiesCalculated = <BooleanProperty 'propertiesCalculated'>
Whether property-set was automatically calculated
 
Used to determine whether to re-calculate if necessary

Methods inherited from ParentSchema:
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
findParent(self, requiredType=None)
Find our last parent of the given type, or None

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D96F50>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class CheckConstraint(ConstraintSchema)
    An SQL-statement CHECK constraint
 
 
Method resolution order:
CheckConstraint
ConstraintSchema
Schema
Propertied
object

Data and other attributes defined here:
dbConstraintType = 'CHECK'
expression = <StringProperty 'expression'>
The SQL-formatted expression to test on insertions/updates

Methods inherited from ConstraintSchema:
localFields(self)
Get field objects for the affected field(s)
resolve(self)
Attempt to resolve all field references

Data and other attributes inherited from ConstraintSchema:
dbObjectType = 'CONSTRAINT'
deferrable = <BooleanProperty 'deferrable'>
Whether checking can be deferred to the end of the transaction
deferred = <BooleanProperty 'deferred'>
Whether constraint is currently deferred
fields = <StringsProperty 'fields'>
The list of fields affected by the constraint
name = <StringProperty 'name'>
Name of the constraint, often not specified

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D86390>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class ConstraintSchema(Schema)
    Representation of a field or table constraint
 
 
Method resolution order:
ConstraintSchema
Schema
Propertied
object

Methods defined here:
localFields(self)
Get field objects for the affected field(s)
resolve(self)
Attempt to resolve all field references

Data and other attributes defined here:
dbObjectType = 'CONSTRAINT'
deferrable = <BooleanProperty 'deferrable'>
Whether checking can be deferred to the end of the transaction
deferred = <BooleanProperty 'deferred'>
Whether constraint is currently deferred
fields = <StringsProperty 'fields'>
The list of fields affected by the constraint
name = <StringProperty 'name'>
Name of the constraint, often not specified

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D96710>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class ConstraintSchemas(ListOf)
    
Method resolution order:
ConstraintSchemas
ListOf
rlist
list
object

Class methods defined here:
factories = constraint_factories(cls) from listof

Data and other attributes defined here:
dataType = 'list.ConstraintSchemas'

Methods inherited from ListOf:
beforeAdd(self, value)
Called before all attempts to add an item

Methods inherited from rlist:
__iadd__ = extend(self, value)
extend with value checking
__init__(self, value=None)
Initialize the restricted list object
__setitem__(self, index, value)
__setitem__ with value checking
__setslice__(self, start, stop, value)
__setslice__ with value checking
append(self, value)
append with value checking
beforeMultipleAdd(self, value)
Called before attempts to add more than one item (beforeAdd has already be called for each item)
extend(self, value)
extend with value checking
insert(self, index, value)
insert with value checking

Data and other attributes inherited from rlist:
__dict__ = <dictproxy object at 0x01D96F10>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'rlist' objects>
list of weak references to the object (if defined)

Methods inherited from list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__rmul__(...)
x.__rmul__(n) <==> n*x
count(...)
L.count(value) -> integer -- return number of occurrences of value
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last)
remove(...)
L.remove(value) -- remove first occurrence of value
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmpfunc=None) -- stable sort *IN PLACE*; cmpfunc(x, y) -> -1, 0, 1

Data and other attributes inherited from list:
__new__ = <built-in method __new__ of type object at 0x1E0C3C78>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
class DatabaseSchema(ParentSchema)
    Schema for an overall database object
 
 
Method resolution order:
DatabaseSchema
ParentSchema
Schema
Propertied
object

Methods defined here:
__iter__(self)
Iterate over our sub-elements
__repr__(self)
# procedures
# users, groups, permissions
# table-mapping name:schema
__str__ = __repr__(self)
resolve(self, driver=None)
Attempt to resolve all references (check consistency)
 
This will scan through each sub-element looking for
name-references.  Each sub-element will have a pointer
created for their active namespace, and each name will
be checked in that namespace to determine that it does
actually exist.  Sub-elements may perform additional
checks (such as data-type agreement) as well.

Data and other attributes defined here:
autoCommit = <BooleanProperty 'autoCommit'>
If true, immediately commit all property changes to the database
dbObjectType = 'DATABASE'
driver = <BasicProperty 'driver'>
Optional binding to the driver with which the schema works
name = <StringProperty 'name'>
Name of the database
readOnly = <BooleanProperty 'readOnly'>
Disable all writing to the database if true
sequences = <ListProperty 'sequences'>
Sequence/counter objects in the database
tables = <ListProperty 'tables'>
Tables in the database

Methods inherited from ParentSchema:
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Methods inherited from Schema:
actionByName(self, name)
Retrieve a particular action by name
findParent(self, requiredType=None)
Find our last parent of the given type, or None

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01DF3950>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class FieldSchema(ParentSchema)
    Schema for a particular field of a table
 
A field schema describes a particular field of
a particular table (or view).  It is used to create
descriptors (properties) which affect table rows
(among other uses).
 
 
Method resolution order:
FieldSchema
ParentSchema
Schema
Propertied
object

Methods defined here:
__iter__(self)
Iterate over the sub-elements of this schema
buildProperty(self)
Build a BasicProperty which uses this schema
checkConstraint(self, constraint)
Check/ensure that constraint refers only to us
foreign(self)
Determine whether we have a foreign-key constraint

Data and other attributes defined here:
baseClass = <ClassProperty 'baseClass'>
The class used to represent items, also used for dataType and the like
constraints = <ListProperty 'constraints'>
Constraint objects which constrain this field
control = <ClassProperty 'control'>
Explicitly-set control class to use for this field
dataType = <StringProperty 'dataType'>
wxoo string dataType declaration
 
If not explicitly set, this value can normally be
inferred from the database itself.  Explicitly
setting the value allows for defining "special"
dataTypes such as for a choice from a referenced
table.
dbDataType = <StringProperty 'dbDataType'>
database's SQL dataType declaration
dbObjectType = 'COLUMN'
defaultValue = <BasicProperty 'defaultValue'>
A string representation of the default value for the field
displaySize = <IntegerProperty 'displaySize'>
Text-mode display size of the value
friendlyName = <StringProperty 'friendlyName'>
Name of the field (required)
gridEditor = <ClassProperty 'gridEditor'>
Explicitly-set gridEditor class to use for this field
 
Note: if this property is not set, but the control property
        is set, the control will be auto-wrapped as a grid editor.
gridViewer = <ClassProperty 'gridViewer'>
Explicitly-set gridViewer class to use for this field
index = <IntegerProperty 'index'>
Index of the field in its table/view
internalSize = <IntegerProperty 'internalSize'>
Binary internal size of the value
name = <StringProperty 'name'>
Name of the field (required)
nullOk = <BooleanProperty 'nullOk'>
Whether value can be left null when inserting/updating
 
This is actually just mirroring the presence of a
NotNullConstraint in our constraints set.
propertyClass = <ClassProperty 'propertyClass'>
The class used to represent this property object

Methods inherited from ParentSchema:
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Methods inherited from Schema:
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
findParent(self, requiredType=None)
Find our last parent of the given type, or None

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01DF3950>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class FieldSchemas(ListOf)
    
Method resolution order:
FieldSchemas
ListOf
rlist
list
object

Data and other attributes defined here:
dataType = 'list.FieldSchemas'

Methods inherited from ListOf:
beforeAdd(self, value)
Called before all attempts to add an item

Methods inherited from rlist:
__iadd__ = extend(self, value)
extend with value checking
__init__(self, value=None)
Initialize the restricted list object
__setitem__(self, index, value)
__setitem__ with value checking
__setslice__(self, start, stop, value)
__setslice__ with value checking
append(self, value)
append with value checking
beforeMultipleAdd(self, value)
Called before attempts to add more than one item (beforeAdd has already be called for each item)
extend(self, value)
extend with value checking
insert(self, index, value)
insert with value checking

Data and other attributes inherited from rlist:
__dict__ = <dictproxy object at 0x01DF3750>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'rlist' objects>
list of weak references to the object (if defined)

Methods inherited from list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__rmul__(...)
x.__rmul__(n) <==> n*x
count(...)
L.count(value) -> integer -- return number of occurrences of value
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last)
remove(...)
L.remove(value) -- remove first occurrence of value
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmpfunc=None) -- stable sort *IN PLACE*; cmpfunc(x, y) -> -1, 0, 1

Data and other attributes inherited from list:
__new__ = <built-in method __new__ of type object at 0x1E0C3C78>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
class ForeignKeyConstraint(ConstraintSchema)
    Foreign-key constraint for a field or table
 
 
Method resolution order:
ForeignKeyConstraint
ConstraintSchema
Schema
Propertied
object

Methods defined here:
getForeignFields(self)
Find the foreign field-name for the referenced table
resolve(self)
Attempt to resolve all field references

Data and other attributes defined here:
dbConstraintType = 'FOREIGN KEY'
foreignFields = <StringsProperty 'foreignFields'>
The fields which constrain us
foreignTable = <StringProperty 'foreignTable'>
The name of the table which constrains us
onDelete = <ActionProperty 'onDelete'>
What to do when the constraint is violated
 
CASCADE causes the local row to be deleted
 
default is normally "NO ACTION", which raises
errors.
onUpdate = <ActionProperty 'onUpdate'>
What to do when the referenced table.column changes
 
CASCADE copies the new value
 
default is normally "NO ACTION", which raises
errors.

Methods inherited from ConstraintSchema:
localFields(self)
Get field objects for the affected field(s)

Data and other attributes inherited from ConstraintSchema:
dbObjectType = 'CONSTRAINT'
deferrable = <BooleanProperty 'deferrable'>
Whether checking can be deferred to the end of the transaction
deferred = <BooleanProperty 'deferred'>
Whether constraint is currently deferred
fields = <StringsProperty 'fields'>
The list of fields affected by the constraint
name = <StringProperty 'name'>
Name of the constraint, often not specified

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D96F10>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class IndexSchema(Schema)
    Schema for defining a particular index (on a particular table)
 
properties are the participating properties for the index
 
 
Method resolution order:
IndexSchema
Schema
Propertied
object

Methods defined here:
resolve(self)
Attempt to resolve all references (check consistency)
 
This will scan through each sub-element looking for
name-references.  Each sub-element will have a pointer
created for their active namespace, and each name will
be checked in that namespace to determine that it does
actually exist.  Sub-elements may perform additional
checks (such as data-type agreement) as well.

Data and other attributes defined here:
accessMethod = <StringProperty 'accessMethod'>
The internal access method for the table
 
Internally will likely default to "BTREE", but we
specify default as "" to use the DB's default.
 
This is not necessarily supported by your db, of course.
dbObjectType = 'INDEX'
fields = <StringsProperty 'fields'>
Set of field-names to index
functionName = <StringProperty 'functionName'>
SQL function name taking fields and returning indexable value
name = <StringProperty 'name'>
Name of the index
table = <StringProperty 'table'>
The table on which we are going to operate
unique = <BooleanProperty 'unique'>
Whether index values must be unique
where = <StringProperty 'where'>
SQL-formatted string defining a test expression
 
Only records matching the where expression will be
included in the index.

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D965B0>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class IndexSchemas(ListOf)
    
Method resolution order:
IndexSchemas
ListOf
rlist
list
object

Data and other attributes defined here:
dataType = 'list.IndexSchemas'

Methods inherited from ListOf:
beforeAdd(self, value)
Called before all attempts to add an item

Methods inherited from rlist:
__iadd__ = extend(self, value)
extend with value checking
__init__(self, value=None)
Initialize the restricted list object
__setitem__(self, index, value)
__setitem__ with value checking
__setslice__(self, start, stop, value)
__setslice__ with value checking
append(self, value)
append with value checking
beforeMultipleAdd(self, value)
Called before attempts to add more than one item (beforeAdd has already be called for each item)
extend(self, value)
extend with value checking
insert(self, index, value)
insert with value checking

Data and other attributes inherited from rlist:
__dict__ = <dictproxy object at 0x01D96EB0>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'rlist' objects>
list of weak references to the object (if defined)

Methods inherited from list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__rmul__(...)
x.__rmul__(n) <==> n*x
count(...)
L.count(value) -> integer -- return number of occurrences of value
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last)
remove(...)
L.remove(value) -- remove first occurrence of value
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmpfunc=None) -- stable sort *IN PLACE*; cmpfunc(x, y) -> -1, 0, 1

Data and other attributes inherited from list:
__new__ = <built-in method __new__ of type object at 0x1E0C3C78>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
class NotNullConstraint(ConstraintSchema)
    A field's not-null constraint
 
 
Method resolution order:
NotNullConstraint
ConstraintSchema
Schema
Propertied
object

Data and other attributes defined here:
dbConstraintType = 'NOT NULL'

Methods inherited from ConstraintSchema:
localFields(self)
Get field objects for the affected field(s)
resolve(self)
Attempt to resolve all field references

Data and other attributes inherited from ConstraintSchema:
dbObjectType = 'CONSTRAINT'
deferrable = <BooleanProperty 'deferrable'>
Whether checking can be deferred to the end of the transaction
deferred = <BooleanProperty 'deferred'>
Whether constraint is currently deferred
fields = <StringsProperty 'fields'>
The list of fields affected by the constraint
name = <StringProperty 'name'>
Name of the constraint, often not specified

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D96550>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class ParentSchema(Schema)
    Base class for all Schemas which have children
 
 
Method resolution order:
ParentSchema
Schema
Propertied
object

Methods defined here:
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
findParent(self, requiredType=None)
Find our last parent of the given type, or None

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D963D0>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class PrimaryConstraint(UniqueConstraint)
    (Possibly multi-field) primary-key unique constraint
 
 
Method resolution order:
PrimaryConstraint
UniqueConstraint
ConstraintSchema
Schema
Propertied
object

Data and other attributes defined here:
dbConstraintType = 'PRIMARY KEY'

Methods inherited from ConstraintSchema:
localFields(self)
Get field objects for the affected field(s)
resolve(self)
Attempt to resolve all field references

Data and other attributes inherited from ConstraintSchema:
dbObjectType = 'CONSTRAINT'
deferrable = <BooleanProperty 'deferrable'>
Whether checking can be deferred to the end of the transaction
deferred = <BooleanProperty 'deferred'>
Whether constraint is currently deferred
fields = <StringsProperty 'fields'>
The list of fields affected by the constraint
name = <StringProperty 'name'>
Name of the constraint, often not specified

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D963B0>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class Schema(Propertied)
    Base-class for Schema objects
 
 
Method resolution order:
Schema
Propertied
object

Methods defined here:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes defined here:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D96170>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class SequenceSchema(Schema)
    A sequence object used for implementing e.g. serial fields
 
 
Method resolution order:
SequenceSchema
Schema
Propertied
object

Data and other attributes defined here:
ascending = <BasicProperty 'ascending'>
Whether this is an ascending value
cycle = <BooleanProperty 'cycle'>
Whether to loop when reach end or produce errors
dbObjectType = 'SEQUENCE'
increment = <IntegerProperty 'increment'>
Amount to increment on each "next" call
maximumValue = <IntegerProperty 'maximumValue'>
Maximum value to which we will traverse
minimumValue = <IntegerProperty 'minimumValue'>
Minimum value to which we will traverse
name = <StringProperty 'name'>
Name of the sequence
start = <IntegerProperty 'start'>
Initial starting value

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D965D0>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class SequenceSchemas(ListOf)
    
Method resolution order:
SequenceSchemas
ListOf
rlist
list
object

Data and other attributes defined here:
dataType = 'list.SequenceSchema'

Methods inherited from ListOf:
beforeAdd(self, value)
Called before all attempts to add an item

Methods inherited from rlist:
__iadd__ = extend(self, value)
extend with value checking
__init__(self, value=None)
Initialize the restricted list object
__setitem__(self, index, value)
__setitem__ with value checking
__setslice__(self, start, stop, value)
__setslice__ with value checking
append(self, value)
append with value checking
beforeMultipleAdd(self, value)
Called before attempts to add more than one item (beforeAdd has already be called for each item)
extend(self, value)
extend with value checking
insert(self, index, value)
insert with value checking

Data and other attributes inherited from rlist:
__dict__ = <dictproxy object at 0x01D96E90>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'rlist' objects>
list of weak references to the object (if defined)

Methods inherited from list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__rmul__(...)
x.__rmul__(n) <==> n*x
count(...)
L.count(value) -> integer -- return number of occurrences of value
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last)
remove(...)
L.remove(value) -- remove first occurrence of value
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmpfunc=None) -- stable sort *IN PLACE*; cmpfunc(x, y) -> -1, 0, 1

Data and other attributes inherited from list:
__new__ = <built-in method __new__ of type object at 0x1E0C3C78>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
class TableSchema(BaseTableSchema)
    High-level representation of a table's structure/schema
 
The TableSchema object encodes information about
a particular table in the database.  It does not
include information about, for instance, view-level
joins or interdependencies, though it does (if
possible) include information about relational
integrity constraints such as references to other
tables.
 
 
Method resolution order:
TableSchema
BaseTableSchema
ParentSchema
Schema
Propertied
object

Methods defined here:
__iter__(self)
Iterate over the sub-elements of this schema
getUniqueKeys(self)
Get unique key-sets for this table
 
Any of these key-sets can be used to uniquely
identify a row in the table.
query(self, query=None, connection=None, **named)
Do query returning records from this table/view
 
query -- the sqlquery.SQLQuery to be run
connection -- the connection to use to run the query
named -- named arguments to pass to the query
resolve(self)
Attempt to resolve all references (check consistency)
 
This will scan through each sub-element looking for
name-references.  Each sub-element will have a pointer
created for their active namespace, and each name will
be checked in that namespace to determine that it does
actually exist.  Sub-elements may perform additional
checks (such as data-type agreement) as well.

Class methods defined here:
fromConnection(cls, connection, tableName, **named) from type
Use introspection to build a table-structure object
 
Relies on the connection's driver's action queries
to provide the introspection features required for
building the various sub-elements of the table
structure.

Data and other attributes defined here:
actions = [<pytable.sqlquery.SQLQuery object at 0x01BEAF30>]
constraints = <ListProperty 'constraints'>
Constraint objects which constrain this table
dbObjectType = 'TABLE'
defaultRecords = <ListProperty 'defaultRecords'>
Set of default records to be included in table on creation
friendlyNameField = <StringProperty 'friendlyNameField'>
Field to be used as friendly name for rows (i.e. used in UIs)
indices = <ListProperty 'indices'>
IndexSchema objects for indices on this table
inherits = <StringsProperty 'inherits'>
List of tables from which this table inherits
        
Inherits is a PostgreSQL extension that creates an
object-relational system with single and multiple
inheritence types.  See PostgreSQL docs for details.
temporary = <BooleanProperty 'temporary'>
Whether this table should be created in temporary storage
 
Temporary tables do not persist across connections

Methods inherited from BaseTableSchema:
buildProperties(self)
Build dbdescriptors for this table's properties/fields
buildRowClass(self)
Build a new row-class if we don't have an explicitly-specified one

Data and other attributes inherited from BaseTableSchema:
baseItemClass = <ClassProperty 'baseItemClass'>
The default base-class for itemclass
collectionClass = <ClassProperty 'collectionClass'>
The class used to wrap result-sets as collection objects
fields = <ListProperty 'fields'>
FieldSchema objects for the table
itemClass = <ClassProperty 'itemClass'>
The class used to wrap result-set-row objects
name = <StringProperty 'name'>
Name of the table (required)
properties = <DictionaryProperty 'properties'>
Table/View's property-descriptor objects
 
Created from fields via wrapping
propertiesCalculated = <BooleanProperty 'propertiesCalculated'>
Whether property-set was automatically calculated
 
Used to determine whether to re-calculate if necessary

Methods inherited from ParentSchema:
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Methods inherited from Schema:
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
findParent(self, requiredType=None)
Find our last parent of the given type, or None

Data and other attributes inherited from Schema:
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D96A70>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
class TableSchemas(ListOf)
    
Method resolution order:
TableSchemas
ListOf
rlist
list
object

Data and other attributes defined here:
dataType = 'list.TableSchemas'

Methods inherited from ListOf:
beforeAdd(self, value)
Called before all attempts to add an item

Methods inherited from rlist:
__iadd__ = extend(self, value)
extend with value checking
__init__(self, value=None)
Initialize the restricted list object
__setitem__(self, index, value)
__setitem__ with value checking
__setslice__(self, start, stop, value)
__setslice__ with value checking
append(self, value)
append with value checking
beforeMultipleAdd(self, value)
Called before attempts to add more than one item (beforeAdd has already be called for each item)
extend(self, value)
extend with value checking
insert(self, index, value)
insert with value checking

Data and other attributes inherited from rlist:
__dict__ = <dictproxy object at 0x01D96D10>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'rlist' objects>
list of weak references to the object (if defined)

Methods inherited from list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__hash__(...)
x.__hash__() <==> hash(x)
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__rmul__(...)
x.__rmul__(n) <==> n*x
count(...)
L.count(value) -> integer -- return number of occurrences of value
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last)
remove(...)
L.remove(value) -- remove first occurrence of value
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmpfunc=None) -- stable sort *IN PLACE*; cmpfunc(x, y) -> -1, 0, 1

Data and other attributes inherited from list:
__new__ = <built-in method __new__ of type object at 0x1E0C3C78>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
class UniqueConstraint(ConstraintSchema)
    (Possibly Multi-field) unique-value constraint
 
 
Method resolution order:
UniqueConstraint
ConstraintSchema
Schema
Propertied
object

Data and other attributes defined here:
dbConstraintType = 'UNIQUE'

Methods inherited from ConstraintSchema:
localFields(self)
Get field objects for the affected field(s)
resolve(self)
Attempt to resolve all field references

Data and other attributes inherited from ConstraintSchema:
dbObjectType = 'CONSTRAINT'
deferrable = <BooleanProperty 'deferrable'>
Whether checking can be deferred to the end of the transaction
deferred = <BooleanProperty 'deferred'>
Whether constraint is currently deferred
fields = <StringsProperty 'fields'>
The list of fields affected by the constraint
name = <StringProperty 'name'>
Name of the constraint, often not specified

Methods inherited from Schema:
__iter__(self)
Iterate over our sub-elements
__repr__ = toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(
actionByName(self, name)
Retrieve a particular action by name
buildNamespace(self, ignoreDuplicates=1)
Attempt to build namespace for this object
findParent(self, requiredType=None)
Find our last parent of the given type, or None
lookupName(self, name=None, requiredType=None)
Try to find object of the given name/type
 
name -- if specified, look for an object with the
        given name (only)
requiredType -- if specified, look for an object
        with the given type.
 
lookupName searches up the _Schema__names containment
hierarchy looking for matches to the given name/type
pair.  Note: the search is *and* if both are specified,
that is, both must be satisfied to match.

Data and other attributes inherited from Schema:
actions = <ListProperty 'actions'>
Actions defined for use with this schema-item
 
Some possible actions:
        selectAll/refreshView
        revert:
                all
                row(s)
                row,field
        save data:
                update all rows
                update row
                commit
                append row
        insert row
        delete row
comment = <StringProperty 'comment'>
Optional comment/documentation for this schema item

Methods inherited from Propertied:
__init__(self, *arguments, **namedarguments)
Propertied object initialisation, allows passing in initial values for properties by name
__str__(self)
Get a friendly representation of the object
clone(self, **newValues)
Clone this object, with optional new property values
 
This method calls the __init__ method of your class with
the current property values of your class.  Providing newValues
(a dictionary) overrides property settings with new values.
getCloneProperties(self)
Get properties dictionary (key:value) for use in cloning of the instance
 
By default you get getProperties()' values, with an
attempt made to use the property's name, then the property's
direct "__get__" method.
toString(self, indentation='', alreadyDone=None, indentString=' ')
Get a nicely formatted representation of this object
 
This version assumes that getProperties returns
the list of properties which should be presented,
it recursively calls it's children with greater
indents to get their representations.
 
indentation -- current string indentation level
alreadyDone -- set of object ids which are already finished
 
XXX Needs a far better API, likely a stand-alone class
        without the automatic inheritance problems here :(

Class methods inherited from Propertied:
getProperties(cls) from type
Get the BasicProperty properties for a particular object's class

Data and other attributes inherited from Propertied:
__dict__ = <dictproxy object at 0x01D96370>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'Propertied' objects>
list of weak references to the object (if defined)

 
Functions
       
constraint_factories(cls)
isPrimary(constraint)
Is the given object a primary-key constraint?
isUnique(schema)
Does the given index/constraint create a unique or primary constraint?

 
Data
        generators = _Feature((2, 2, 0, 'alpha', 1), (2, 3, 0, 'final', 0), 4096)