104 hash<GenericColumnInfo>
c_int(
bool notnull =
False, *
string comment);
114 hash<GenericColumnInfo>
c_int(
string comment);
122 hash<GenericColumnInfo>
c_varchar(
int size,
bool notnull =
False, *
string comment);
129 hash<GenericColumnInfo>
c_varchar(
int size,
string comment);
137 hash<GenericColumnInfo>
c_char(
int size,
bool notnull =
False, *
string comment);
144 hash<GenericColumnInfo>
c_char(
int size,
string comment);
153 hash<GenericColumnInfo>
c_date(
bool notnull =
False, *
string comment);
161 hash<GenericColumnInfo>
c_date(
string comment);
178 hash<GenericColumnInfo>
c_timestamp(
string comment);
188 hash<GenericColumnInfo>
c_number(
bool notnull =
False, *
string comment);
199 hash<GenericColumnInfo>
c_number(
int size,
int scale,
bool notnull =
False, *
string comment);
209 hash<GenericColumnInfo>
c_number(
int size,
bool notnull =
False, *
string comment);
218 hash<GenericColumnInfo>
c_number(
int size,
string comment);
227 hash<GenericColumnInfo>
c_blob(
bool notnull =
False, *
string comment);
235 hash<GenericColumnInfo>
c_blob(
string comment);
244 hash<GenericColumnInfo>
c_clob(
bool notnull =
False, *
string comment);
252 hash<GenericColumnInfo>
c_clob(
string comment);
262 int change_count = 0;
277 infoCallback(
string str,
int ac, *
string type, *
string name, *
string table, *
string new_name, *
string info);
411 logProgress(
string str);
422 int align(
bool force =
False,
int verbose = 0);
426 drop(
bool force =
False,
int verbose = 0);
434 *
hash getIndexOptions();
442 *
hash getCreationOptions();
449 *
hash getColumnOptions();
463 *
hash getSequences();
477 *
hash getFunctions();
484 *
hash getProcedures();
498 *
hash getMaterializedViews();
505 *
hash getStrictReferenceDataHash();
512 *
hash getReferenceDataHash();
519 *
hash getCreateOnlyReferenceData();
526 *
hash getInsertOnlyReferenceData();
532 abstract string getNameImpl();
538 abstract string getVersionImpl();
546 *
hash getIndexOptionsImpl();
555 *
hash getColumnOptionsImpl();
564 *
hash getGenericOptionsImpl();
573 *
hash getTablesImpl();
582 *
hash getSequencesImpl();
591 *
hash getTypesImpl();
600 *
hash getFunctionsImpl();
609 *
hash getProceduresImpl();
618 *
hash getPackagesImpl();
627 *
hash getMaterializedViewsImpl();
636 *
hash getStrictReferenceDataHashImpl();
645 *
hash getReferenceDataHashImpl();
654 *
hash getCreateOnlyReferenceDataImpl();
663 *
hash getInsertOnlyReferenceDataImpl();
673 bool checkExistence();
680 bool checkFirstTimeInstall();
687 bool checkDropSchema(
bool force);
694 bool checkUpdateSchema(
bool force, reference<hash> initial_schema_info);
701 doPostAlignment(Tables table_cache,
bool first_time_install, *
hash initial_schema_info);
708 int getUpsertStrategy(
bool first_time_install);
715 postDataActions(
bool first_time_install);
722 doTable(AbstractTable table,
list rows,
int upsert_strategy,
bool delete_others,
int verbose, reference<hash> sh);
729 static list getRows(*softlist l);
732 static hash combineOptions(*
hash h);
770 *softstring getSchemaVersion();
777 bool checkDropSchema(
bool force);
784 bool checkUpdateSchema(
bool force, reference<hash> initial_schema_info);
791 bool checkUpgrade(
string current_version);
798 bool checkDowngrade(
string current_version);
808 string getVersionTable();
818 string getVersionColumn();
828 hash getVersionWhere();
835 abstract string getVersionTableImpl();
841 abstract string getVersionColumnImpl();
847 abstract hash getVersionWhereImpl();
Qore::SQL::AbstractDatasource ds
the datasource for the schema
Definition: Schema.qm.dox.h:348
hash getCallbacks(bool force=False)
returns a callback option hash usable with SqlUtil schema operations
infoCallback(string str, int ac, *string type, *string name, *string table, *string new_name, *string info)
this is the informational callback method for schema operations
hash< GenericColumnInfo > c_varchar(int size, bool notnull=False, *string comment)
returns a column hash for a VARCHAR column
string name
the name of the schema
Definition: Schema.qm.dox.h:331
hash< GenericColumnInfo > c_clob(bool notnull=False, *string comment)
returns a column hash for a CLOB column
hash< GenericColumnInfo > c_char(int size, bool notnull=False, *string comment)
returns a column hash for a CHAR column
*hash column_options
column options, as provided by getColumnOptions()
Definition: Schema.qm.dox.h:343
hash callback_opts
callback options plus all options
Definition: Schema.qm.dox.h:358
hash< GenericColumnInfo > c_int(bool notnull=False, *string comment)
returns a column hash for an INT column
hash< GenericColumnInfo > c_blob(bool notnull=False, *string comment)
returns a column hash for a BLOB column
*hash index_options
index options, as provided by getIndexOptions()
Definition: Schema.qm.dox.h:339
sqlCallback(string str)
this is the SQL callback method for schema operations
string version_column
the name of the column containing the version string
Definition: Schema.qm.dox.h:752
*string data_ts
explicit data tablespace name
Definition: Schema.qm.dox.h:364
hash< GenericColumnInfo > c_timestamp(bool notnull=False, *string comment)
returns a column hash for a TIMESTAMP column
hash< GenericColumnInfo > c_number(bool notnull=False, *string comment)
returns a column hash for a NUMBER or NUMERIC column
const C_NULL
Helper constant for column hash functions with "NULL" constraint for better readability.
Definition: Schema.qm.dox.h:92
constructor(AbstractSchema sc, int v=0)
creates the callback object from the given arguments
this namespace contains all public definitions in the Schema module
Definition: Schema.qm.dox.h:90
this class extends Schema::AbstractSchema by providing version logic based on a schema version string...
Definition: Schema.qm.dox.h:745
*hash creation_options
creation options, as provided by getCreationOptions()
Definition: Schema.qm.dox.h:341
hash schema
the schema template, as assembled from method callbacks providing schema element definitions ...
Definition: Schema.qm.dox.h:336
this class provides callback support for schema operations
Definition: Schema.qm.dox.h:256
string version_table
the name of the table containing the version string
Definition: Schema.qm.dox.h:750
SqlUtil::Database db
the Database object for the schema
Definition: Schema.qm.dox.h:353
code info_callback
the info callback for schema operations; can be used for explicit logging
Definition: Schema.qm.dox.h:361
string version
the version of the schema
Definition: Schema.qm.dox.h:333
const C_NOT_NULL
Helper constant for column hash functions with "NOT NULL" constraint for better readability.
Definition: Schema.qm.dox.h:94
*hash all_options
combined creation and column options
Definition: Schema.qm.dox.h:345
string drv
the name of the database driver
Definition: Schema.qm.dox.h:350
hash version_where
a where clause hash defining the row where the schema version string is located
Definition: Schema.qm.dox.h:754
hash< GenericColumnInfo > c_date(bool notnull=False, *string comment)
returns a column hash for a DATE column
hash pure_callback_opts
just callback options
Definition: Schema.qm.dox.h:356
*string index_ts
explicit index tablespace name
Definition: Schema.qm.dox.h:367
nothing sqlForceCallback(string str)
this is the SQL callback method for forced schema operations
the AbstractSchema class is a base class to assist with automatic schema management ...
Definition: Schema.qm.dox.h:326