| 
|   | constructor (Qore::SQL::AbstractDatasource ds, *string dts, *string its, *hash opts) | 
|   | creates the object based on the arguments giving the location of the schema  More...
  | 
|   | 
| int  | align (bool force=False, int verbose=0, bool do_msgs=True) | 
|   | executes a schema alignment action on the database with the current schema template  More...
  | 
|   | 
| hash< SchemaAlignmentInfo >  | alignWithInfo (bool force=False, int verbose=0, bool do_msgs=True) | 
|   | executes a schema alignment action on the database with the current schema template  More...
  | 
|   | 
|   | constructor (Qore::SQL::AbstractDatasource ds, *hash< SchemaOptionInfo > opts) | 
|   | creates the object from the arguments  More...
  | 
|   | 
|   | constructor (Qore::SQL::AbstractDatasource ds, *string dts, *string its, *hash opts) | 
|   | creates the object from the arguments  More...
  | 
|   | 
| 
private  | doTable (AbstractTable table, list rows, int upsert_strategy, bool delete_others, int verbose, reference< hash< string, int > > sh) | 
|   | this method is called to perform schema reference data managment on the given table with the given data 
  | 
|   | 
| 
  | drop (bool force=False, int verbose=0, bool do_msgs=True) | 
|   | executes a schema drop operation in the database 
  | 
|   | 
| *hash< auto >  | getColumnOptions () | 
|   | returns column options  More...
  | 
|   | 
| *hash< auto >  | getCreateOnlyReferenceData () | 
|   | returns a hash of "create-only reference data", describing data that is written to the table when the table is created  More...
  | 
|   | 
| *hash< auto >  | getCreationOptions () | 
|   | returns schema creation options  More...
  | 
|   | 
| 
SqlUtil::AbstractDatabase  | getDatabase () | 
|   | returns the AbstractDatabase object used for the schema 
  | 
|   | 
| 
Qore::SQL::AbstractDatasource  | getDatasource () | 
|   | returns the datasource used for the schema 
  | 
|   | 
| *hash< auto >  | getFunctions () | 
|   | returns function definitions  More...
  | 
|   | 
| *hash< auto >  | getIndexOptions () | 
|   | returns index options  More...
  | 
|   | 
| *hash< auto >  | getInsertOnlyReferenceData () | 
|   | returns a hash of "create-only reference data", describing data that will only be inserted if missing, otherwise existing rows with changed data are left unchanged  More...
  | 
|   | 
| *hash< auto >  | getMaterializedViews () | 
|   | returns materialized view definitions  More...
  | 
|   | 
| 
string  | getName () | 
|   | returns the name of the schema 
  | 
|   | 
| *hash< auto >  | getPackages () | 
|   | returns (Oracle) package definitions  More...
  | 
|   | 
| *hash< auto >  | getProcedures () | 
|   | returns stored procedure definitions  More...
  | 
|   | 
| *hash< auto >  | getReferenceDataHash () | 
|   | returns a hash of "normal reference data", describing data that must appear in the target table, however additional rows are also acceptable  More...
  | 
|   | 
| *hash< auto >  | getSequences () | 
|   | returns sequence definitions  More...
  | 
|   | 
| *hash< auto >  | getStrictReferenceDataHash () | 
|   | returns a hash of "strict reference data", describing the only data that can appear in the target table  More...
  | 
|   | 
| *hash< auto >  | getTables () | 
|   | returns table definitions  More...
  | 
|   | 
| *hash< auto >  | getTypes () | 
|   | returns type definitions  More...
  | 
|   | 
| 
string  | getVersion () | 
|   | returns the version of the schema 
  | 
|   | 
|   | log (string fmt) | 
|   | outputs a log message  More...
  | 
|   | 
|   | logpf (string fmt) | 
|   | outputs a log message prefixed with the schema name  More...
  | 
|   | 
|   | logProgress (string str) | 
|   | outputs a log message without any newline  More...
  | 
|   | 
 | 
| 
bool  | checkDowngrade (string current_version) | 
|   | this method is called if the current schema version is greater than the target version; returns True if the schema can be downgraded 
  | 
|   | 
| 
bool  | checkDropSchema (bool force) | 
|   | this method returns True if the schema can be dropped 
  | 
|   | 
| 
bool  | checkUpdateSchema (bool force, reference< hash< auto > > initial_schema_info) | 
|   | this method returns True if the schema can be updated 
  | 
|   | 
| 
bool  | checkUpgrade (string current_version) | 
|   | this method is called if the current schema version is less than the target version; returns True if the schema can be updated 
  | 
|   | 
| 
*softstring  | getSchemaVersion () | 
|   | returns the existing schema version or NOTHING if not present 
  | 
|   | 
| string  | getVersionColumn () | 
|   | returns the name of the column holding the schema version string by calling getVersionColumnImpl()  More...
  | 
|   | 
| 
abstract string  | getVersionColumnImpl () | 
|   | returns the name of the column holding the schema version string 
  | 
|   | 
| string  | getVersionTable () | 
|   | returns the name of the table holding the schema version string by calling getVersionTableImpl()  More...
  | 
|   | 
| 
abstract string  | getVersionTableImpl () | 
|   | returns the name of the table holding the schema version string 
  | 
|   | 
| hash  | getVersionWhere () | 
|   | returns the where clause hash defining the row where the schema version string is located by calling getVersionWhereImpl()  More...
  | 
|   | 
| 
abstract hash  | getVersionWhereImpl () | 
|   | returns the where clause hash defining the row where the schema version string is located 
  | 
|   | 
| SchemaCallbackHelper  | alignIntern (bool force=False, int verbose=0, bool do_msgs=True) | 
|   | executes a schema alignment action on the database with the current schema template  More...
  | 
|   | 
| 
bool  | checkDropSchema (bool force) | 
|   | this method returns True if the schema can be dropped 
  | 
|   | 
| bool  | checkExistence () | 
|   | returns True if the method can detect that DB objects defined in the schema exist in the database  More...
  | 
|   | 
| 
bool  | checkFirstTimeInstall () | 
|   | returns True if checkExistence() returns False 
  | 
|   | 
| 
bool  | checkUpdateSchema (bool force, reference< hash< auto > > initial_schema_info) | 
|   | this method returns True if the schema can be updated 
  | 
|   | 
| 
  | doPostAlignment (Tables table_cache, bool first_time_install, *hash< auto > initial_schema_info) | 
|   | this method is called after schema structural alignment has been executed but before schema reference data management 
  | 
|   | 
| 
  | doPostAlignment (Tables table_cache, bool first_time_install, *hash< auto > initial_schema_info, int verbose) | 
|   | this method is called after schema structural alignment has been executed but before schema reference data management 
  | 
|   | 
| *hash< auto >  | getColumnOptionsImpl () | 
|   | returns column options  More...
  | 
|   | 
| *hash< auto >  | getCreateOnlyReferenceDataImpl () | 
|   | returns a hash of "create-only reference data", describing data that is written to the table when the table is created  More...
  | 
|   | 
| *hash< auto >  | getFunctionsImpl () | 
|   | returns function definitions  More...
  | 
|   | 
| *hash< auto >  | getGenericOptionsImpl () | 
|   | returns schema creation options  More...
  | 
|   | 
| *hash< auto >  | getIndexOptionsImpl () | 
|   | returns index options  More...
  | 
|   | 
| *hash< auto >  | getInsertOnlyReferenceDataImpl () | 
|   | returns a hash of "insert-only reference data", describing data that will only be inserted if missing, otherwise existing rows with changed data are left unchanged  More...
  | 
|   | 
| *hash< auto >  | getMaterializedViewsImpl () | 
|   | returns materialized view definitions  More...
  | 
|   | 
| 
abstract string  | getNameImpl () | 
|   | returns the name of the schema 
  | 
|   | 
| *hash< auto >  | getPackagesImpl () | 
|   | returns (Oracle) package definitions  More...
  | 
|   | 
| *hash< auto >  | getProceduresImpl () | 
|   | returns stored procedure definitions  More...
  | 
|   | 
| *hash< auto >  | getReferenceDataHashImpl () | 
|   | returns a hash of "normal reference data", describing data that must appear in the target table, however additional rows are also acceptable  More...
  | 
|   | 
| *hash< auto >  | getSequencesImpl () | 
|   | returns sequence definitions  More...
  | 
|   | 
| *hash< auto >  | getStrictReferenceDataHashImpl () | 
|   | returns a hash of "strict reference data", describing the only data that can appear in the target table  More...
  | 
|   | 
| *hash< auto >  | getTablesImpl () | 
|   | returns table definitions  More...
  | 
|   | 
| *hash< auto >  | getTypesImpl () | 
|   | returns type definitions  More...
  | 
|   | 
| 
int  | getUpsertStrategy (bool first_time_install) | 
|   | this method is called to return the upsert strategy before schema reference data management 
  | 
|   | 
| 
abstract string  | getVersionImpl () | 
|   | returns the version of the schema 
  | 
|   | 
| 
  | init (Qore::SQL::AbstractDatasource ds, *hash< SchemaOptionInfo > opts) | 
|   | shared constructor initialization 
  | 
|   | 
| 
  | postDataActions (bool first_time_install) | 
|   | this method is called after schema reference data has been managed 
  | 
|   | 
| 
  | postDataActions (Tables table_cache, bool first_time_install, *hash< auto > initial_schema_info, int verbose) | 
|   | this method is called after schema reference data has been managed 
  | 
|   | 
 | 
| 
string  | version_column | 
|   | the name of the column containing the version string 
  | 
|   | 
| 
string  | version_table | 
|   | the name of the table containing the version string 
  | 
|   | 
| 
hash  | version_where | 
|   | a where clause hash defining the row where the schema version string is located 
  | 
|   | 
| 
*hash  | all_options | 
|   | combined creation and column options 
  | 
|   | 
| 
hash  | callback_opts | 
|   | callback options plus all options 
  | 
|   | 
| 
*hash  | column_options | 
|   | column options, as provided by getColumnOptions() 
  | 
|   | 
| 
*hash  | creation_options | 
|   | creation options, as provided by getCreationOptions() 
  | 
|   | 
| 
*string  | data_ts | 
|   | explicit data tablespace name 
  | 
|   | 
| 
SqlUtil::Database  | db | 
|   | the Database object for the schema 
  | 
|   | 
| 
string  | drv | 
|   | the name of the database driver 
  | 
|   | 
| 
Qore::SQL::AbstractDatasource  | ds | 
|   | the datasource for the schema 
  | 
|   | 
| 
*hash  | index_options | 
|   | index options, as provided by getIndexOptions() 
  | 
|   | 
| 
*string  | index_ts | 
|   | explicit index tablespace name 
  | 
|   | 
| 
code  | info_callback | 
|   | the info callback for schema operations; can be used for explicit logging 
  | 
|   | 
| 
string  | name | 
|   | the name of the schema 
  | 
|   | 
| 
hash  | pure_callback_opts | 
|   | just callback options 
  | 
|   | 
| 
hash  | schema | 
|   | the schema template, as assembled from method callbacks providing schema element definitions 
  | 
|   | 
| 
string  | version | 
|   | the version of the schema 
  | 
|   | 
this class extends Schema::AbstractSchema by providing version logic based on a schema version string contained within the schema itself 
the location of the version string is defined by the following abstract methods that must be reimplemented in subclasses:
- Note
 - the schema version string (as designated by the return values of the methods listed above) must be included in reference data as returned by either getStrictReferenceDataHashImpl() or getReferenceDataHashImpl().