|
| 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().