42            "native_case": Type::Boolean,
 
   43            "table_cache": 
"Tables",
 
   53            "index_tablespace": Type::String,
 
   54            "replace": Type::Boolean,
 
   64            "table_cache": 
"Tables",
 
   73            "table_cache": 
"Tables",
 
   86            "alias": Type::String,
 
   87            "comment": Type::String,
 
   89            "columns": Type::NothingType,
 
   91            "orderby": 
"softstringinthashlist",
 
   92            "desc": Type::Boolean,
 
   96            "groupby": 
"softstringinthashlist",
 
   98            "superquery": Type::Hash,
 
   99            "forupdate": Type::Boolean,
 
  105            "foreign_constraints": True,
 
  114            "omit": 
"softstringlist",
 
  127            "column_map": Type::Hash,
 
  128            "index_map": Type::Hash,
 
  129            "constraint_map": Type::Hash,
 
  130            "trigger_map": Type::Hash,
 
  131            "db_table_cache": 
"Tables",
 
  132            "force": Type::Boolean,
 
  148            "columns": Type::Hash,
 
  149            "primary_key": Type::Hash,
 
  150            "indexes": Type::Hash,
 
  151            "triggers": Type::Hash,
 
  152            "foreign_constraints": Type::Hash,
 
  153            "unique_constraints": Type::Hash,
 
  155            "table_cache": 
"Tables",
 
  172            "qore_type": Type::String,
 
  173            "native_type": Type::String,
 
  176            "default_value": Type::NothingType,
 
  177            "default_value_native": Type::Boolean,
 
  178            "comment": Type::String,
 
  179            "notnull": Type::Boolean,
 
  180            "driver": Type::Hash,
 
  188            "notnull": Type::Boolean,
 
  200            "sqlarg_callback": 
"code",
 
  215            "returning": 
"stringhashlist",
 
  226            "info_callback": 
"code",
 
  227            "commit_block": Type::Int,
 
  228            "delete_others": Type::Boolean,
 
  229            "omit_update": 
"softstringlist",
 
  238            "info_callback": 
"code",
 
  239            "commit_block": Type::Int,
 
  401        hash m_customCopMap = {};
 
  439     doTableOptions(*hash<auto> nopts);
 
  683     doRenameIntern(
string new_name, *
Tables table_cache);
 
  716     bool emptyUnlocked();
 
  790    list<auto> 
getAddColumnSql(
string cname, hash<auto> copt, 
bool nullable = True, *hash<auto> opt);
 
  794     AbstractColumn addColumnUnlocked(
string cname, hash<auto> opt, 
bool nullable = True, *reference lsql, 
bool do_exec = True, 
bool modify_table = True);
 
  912     validateOptionsIntern(
string err, hash<auto> ropt, reference<hash<auto>> opt);
 
  917     validateOptionsIntern(
string err, hash<auto> ropt, reference<hash<auto>> opt, 
string tag);
 
  922     execSql(softlist lsql);
 
  982     AbstractPrimaryKey addPrimaryKeyUnlocked(
string pkname, softlist cols, *hash<auto> opt, *reference<string> sql);
 
  987     AbstractPrimaryKey addPrimaryKeyUnlockedIntern(
string pkname, softlist cols, *hash<auto> opt, *reference<string> sql);
 
 1012     list<auto> getDropAllConstraintsAndIndexesOnColumnSqlUnlocked(
string cname, *hash<auto> opt);
 
 1111     AbstractUniqueConstraint addUniqueConstraintUnlocked(
string cname, softlist cols, *hash<auto> opt, *reference<string> sql);
 
 1116     AbstractUniqueConstraint addUniqueConstraintUnlockedIntern(
string cname, softlist cols, *hash<auto> opt, *reference<string> sql);
 
 1167    string getAddIndexSql(
string iname, 
bool unique, softlist cols, *hash<auto> ixopt, *hash<auto> opt);
 
 1171     AbstractIndex addIndexUnlocked(
string iname, 
bool unique, softlist cols, *hash<auto> opt, *reference<string> sql);
 
 1176     AbstractIndex addIndexUnlockedIntern(
string iname, 
bool unique, softlist cols, *hash<auto> opt, *reference<string> sql);
 
 1294     Columns getReferencedTableColumnsUnlocked(
string table, *
Tables cache, 
string err = 
'FOREIGN-CONSTRAINT-ERROR');
 
 1299     AbstractForeignConstraint addForeignConstraintUnlocked(
string cname, softlist cols, 
string table, *softlist tcols, *hash<auto> opt, *reference<string> sql);
 
 1304     AbstractForeignConstraint addForeignConstraintUnlockedIntern(
string cname, softlist cols, 
string table, *softlist tcols, *hash<auto> opt, *reference<string> sql);
 
 1400     AbstractCheckConstraint addCheckConstraintUnlocked(
string cname, 
string src, *hash<auto> opt, *reference<string> sql);
 
 1405     AbstractCheckConstraint addCheckConstraintUnlockedIntern(
string cname, 
string src, *hash<auto> opt, *reference<string> sql);
 
 1549     AbstractTrigger addTriggerUnlocked(
string tname, 
string src, *hash<auto> opt, *reference lsql);
 
 1554     AbstractTrigger addTriggerUnlockedIntern(
string tname, 
string src, *hash<auto> opt, *reference lsql);
 
 1604     getAllConstraintsUnlocked(*hash<auto> opt);
 
 1609     checkUniqueConstraintName(
string err, 
string cname);
 
 1614     checkUniqueConstraintNameValidateOptions(
string err, 
string cname, hash<auto> ropt, reference<hash> opt);
 
 1706    *hash<auto> 
insertCommit(hash<auto> row, reference<string> sql, hash<auto> opt);
 
 1730    *hash<auto> 
insert(hash<auto> row, reference<string> sql);
 
 1738    *hash<auto> 
insert(hash<auto> row, hash<auto> opt);
 
 1747    *hash<auto> 
insert(hash<auto> row, reference<string> sql, hash<auto> opt);
 
 1764      deprecated *hash<auto> 
insertNoCommit(hash<auto> row, *reference<string> sql, *hash<auto> opt);
 
 1770     *hash<auto> insertIntern(hash<auto> row, *reference<string> sql, *hash<auto> opt, *reference<softlist<auto>> args);
 
 1775     hash<auto> getPlaceholdersAndValues(hash<auto> row);
 
 1885     int insertFromSelectIntern(list cols, 
AbstractTable source, *hash<auto> sh, *reference<string> sql, *hash<auto> opt, *reference<softlist<auto>> args);
 
 2146     *hash<string, int> doDeleteOthersIntern(hash<auto> pkh, *hash<auto> opt);
 
 2535     Qore::SQL::AbstractSQLStatement getStatementIntern(*hash<auto> sh, *reference<string> sql, *hash<auto> opt, *
bool no_exec, *reference<softlist<auto>> args);
 
 2561    *hash<auto> 
selectRow(*hash<auto> sh, *reference<string> sql, *hash<auto> opt);
 
 2565     *hash<auto> selectRowIntern(*hash<auto> sh, *reference<string> sql, *hash<auto> opt, *reference<softlist<auto>> args);
 
 2620    *list<auto> 
selectRows(*hash<auto> sh, *reference<string> sql, *hash<auto> opt);
 
 2624     *list<auto> selectRowsIntern(*hash<auto> sh, *reference<string> sql, *hash<auto> opt, *reference<softlist<auto>> args);
 
 2677    *hash<auto> 
select(*hash<auto> sh, *reference<string> sql, *hash<auto> opt);
 
 2681     *hash<auto> selectIntern(*hash<auto> sh, *reference<string> sql, *hash<auto> opt, *reference<softlist<auto>> args);
 
 2775    *hash<auto> 
select(*hash<auto> sh, *hash<auto> opt);
 
 2803    string getSelectSqlIntern(*hash<auto> qh, reference<list<auto>> args, *hash<auto> opt);
 
 2806    string getSelectSqlUnlocked(*hash<auto> qh, reference<list<auto>> args, *hash<auto> opt);
 
 2810    string getSelectSqlUnlockedIntern(*hash<auto> qh, 
string from, reference<list<auto>> args, *hash<string, bool> subquery_column_map, *hash<auto> opt, *hash<auto> pseudo_column_map);
 
 2817    string getExpressionArg(reference<hash<QueryInfo>> info, 
int role, 
auto arg, AbstractDataProviderType expected_type);
 
 2821     string getFromIntern(
string from, *hash<auto> qh);
 
 2826     list<auto> getGroupByListUnlocked(hash<QueryInfo> info, list<auto> coll);
 
 2831     list<auto> getOrderByListUnlocked(hash<QueryInfo> info, list<auto> coll);
 
 2836     list<auto> getGroupOrderByListUnlocked(hash<QueryInfo> info, 
string key, list<auto> coll);
 
 2841     doForUpdate(reference<string> sql);
 
 2846     string getSelectSqlName(*hash<auto> qh);
 
 2851     string getColumnExpressionIntern(reference<hash<QueryInfo>> info, 
auto cvc);
 
 2856     string doColumnOperatorIntern(reference<hash<QueryInfo>> info, hash<auto> cvc);
 
 2861     string doColumnOperatorIntern(reference<hash<QueryInfo>> info, 
auto cop, 
auto arg, *
string cve);
 
 2866     string getColumnNameIntern(hash<QueryInfo> info, 
string column_name);
 
 2877     getSelectWhereSqlUnlocked(reference<hash<QueryInfo>> info, reference<string> sql);
 
 2882     *
string getWhereClause(*hash<auto> cond, reference<list<auto>> args, *
string cprefix, *hash<string, AbstractTable> join_map);
 
 2887     *
string getWhereExpressionUnlocked(reference<hash<QueryInfo>> info, hash<DataProviderExpression> cond, *
string cprefix);
 
 2892     *
string getExpressionUnlockedIntern(reference<hash<QueryInfo>> info, 
int role, hash<DataProviderExpression> cond, AbstractDataProviderType expected_type);
 
 2897     *
string getWhereClauseUnlocked(reference<hash<QueryInfo>> info, *hash<auto> cond, *
string cprefix);
 
 2902     *list<string> getWhereClauseIntern(reference<hash<QueryInfo>> info, *hash<auto> cond, *
string cprefix);
 
 2907     string doWhereExpressionIntern(reference<hash<QueryInfo>> info, 
string cn, 
auto we);
 
 2911    string getOrClause(reference<hash<QueryInfo>> info, list<auto> arglist);
 
 2914    string getOrClause(reference<hash<QueryInfo>> info, hash<auto> arg);
 
 2918     doSelectOrderBySqlUnlocked(hash<QueryInfo> info, reference<string> sql, list<auto> coll);
 
 2939    int delCommit(hash<auto> cond, reference<string> sql, hash<auto> opt);
 
 2974    int del(hash<auto> cond, reference<string> sql, hash<auto> opt);
 
 2978    int del(hash<auto> cond, hash<auto> opt);
 
 2982    int del(hash<auto> cond, reference<string> sql);
 
 3015     int delIntern(*hash<auto> cond, *reference<string> sql, *hash<auto> opt, *reference<softlist<auto>> args);
 
 3037    int updateCommit(hash<auto> set, hash<auto> cond, reference<string> sql, hash<auto> opt);
 
 3074    int update(hash<auto> set, hash<auto> cond, reference<string> sql, hash<auto> opt);
 
 3078    int update(hash<auto> set, hash<auto> cond, reference<string> sql);
 
 3082    int update(hash<auto> set, hash<auto> cond, hash<auto> opt);
 
 3112    hash<SqlResultInfo> 
updateWithInfo(hash<auto> set, hash<auto> cond, *hash<auto> opt);
 
 3132      deprecated 
int updateNoCommit(hash<auto> set, *hash<auto> cond, *reference<string> sql);
 
 3138     int updateIntern(hash<auto> set, *hash<auto> cond, *reference<string> sql, *hash<auto> opt, *reference<softlist<auto>> args);
 
 3143     string getUpdateExpression(
string col, hash<UpdateOperatorInfo> uh);
 
 3148     bool emptyDataIntern();
 
 3153     Columns checkUpsertRow(hash<auto> row, reference<int> upsert_strategy);
 
 3158     code getUpsertInsertFirst(
Columns cols, hash<auto> example_row, *hash<auto> opt);
 
 3163     code getUpsertUpdateFirst(
Columns cols, hash<auto> example_row, *hash<auto> opt);
 
 3168     code getUpsertSelectFirst(
Columns cols, hash<auto> example_row, *hash<auto> opt);
 
 3173     code getUpsertInsertOnly(
Columns cols, hash<auto> example_row, *hash<auto> opt);
 
 3178     code getUpsertUpdateOnly(
Columns cols, hash<auto> example_row, *hash<auto> opt);
 
 3183     Columns getUpsertColumns(reference<string> csrc);
 
 3202     bool matchUniqueColumns(
Columns cols, hash<auto> row);
 
 3207     string getUpsertSelectSql(hash<auto> row, 
Columns cols, reference<list<string>> updc);
 
 3212     string getUpsertInsertSql(hash<auto> row);
 
 3217     string getUpsertUpdateSql(hash<auto> row, 
Columns cols, reference updc, *hash<auto> opt);
 
 3222     softbool tryUpdate(
string sql, hash<auto> row, 
Columns cols, list updc);
 
 3227     checkValue(
string cname, 
string argname, reference val, 
string type);
 
 3446     *hash<string, bool> getCheckOmissionOptions(*softlist<softstring> ol, 
string err);
 
 3477     list<auto> getAlignSqlUnlocked(
AbstractTable t, *hash<auto> opt);
 
 3487     *list<AbstractColumnConstraint> getAllSupportingConstraints(
string ixname);
 
 3640     string getPrimaryKeyColumn();
 
 3767    AbstractDataProviderType 
getColumnDataType(
string column_name, *hash<SqlUtilDataTypeOptionInfo> options);
 
 3779    AbstractDataProviderType 
getDbType(
string native_type, *
string qore_type, 
bool nullable, 
int max_size = -1, *hash<SqlUtilDataTypeOptionInfo> options);
 
 3785    AbstractDataProviderType 
getNumericType(
string type_name, 
bool nullable, *hash<auto> options);
 
 4042     string getCreateTableSqlUnlocked(*hash<auto> opt);
 
 4047     *list<auto> getCreateIndexesSqlUnlocked(*hash<auto> opt, 
bool cache = True);
 
 4052     *
string getCreatePrimaryKeySqlUnlocked(*hash<auto> opt, 
bool cache = True);
 
 4057     *list<auto> getCreateConstraintsSqlUnlocked(*hash<auto> opt, 
bool cache = True);
 
 4062     *list<auto> getCreateForeignConstraintsSqlUnlocked(*hash<auto> opt, 
bool cache = True);
 
 4067     *list<auto> getCreateMiscSqlUnlocked(*hash<auto> opt, 
bool cache = True);
 
 4072     *list<auto> getCreateTriggersSqlUnlocked(*hash<auto> opt, 
bool cache = True);
 
 4077     list<auto> getCreateSqlUnlocked(*hash<auto> opt, 
bool cache = True);
 
 4082     cacheUnlocked(*hash<auto> opt);
 
 4087     auto execData(*hash<auto> opt, 
string sql, *list<auto> args);
 
 4092     execData(AbstractSQLStatement stmt, *hash<auto> opt, *list<auto> args);
 
 4096      static AbstractTable getTable(AbstractDatasource nds, 
string nname, *hash<auto> 
opts);
 
 4103     getColumnsUnlocked();
 
 4108     getPrimaryKeyUnlocked();
 
 4114     getIndexesUnlocked();
 
 4119     getForeignConstraintsUnlocked(*hash<auto> opt);
 
 4129     getConstraintsUnlocked();
 
 4134     getTriggersUnlocked();
 
 4145     softlist<auto> getDropSqlImpl();
 
 4150     string getTruncateSqlImpl();
 
 4173     preSetupTableImpl(reference desc, *hash<auto> opt);
 
 4181     abstract AbstractDataProviderType 
getNumericTypeImpl(
string type_name, 
bool nullable, *hash<auto> options);
 
 4185     abstract *hash<auto> doReturningImpl(hash<auto> opt, reference<string> sql, list<auto> args);
 
 4189     abstract 
bool emptyImpl();
 
 4221     abstract setupTableImpl(hash<auto> desc, *hash<auto> opt);
 
 4225     abstract 
Columns describeImpl();
 
 4231     abstract 
Indexes getIndexesImpl();
 
 4240     abstract 
Triggers getTriggersImpl();
 
 4244     abstract 
string getCreateTableSqlImpl(*hash<auto> opt);
 
 4247     abstract *list<auto> getCreateMiscSqlImpl(*hash<auto> opt, 
bool cache);
 
 4250     abstract 
string getCreateSqlImpl(list<auto> 
l);
 
 4253     abstract 
string getRenameSqlImpl(
string new_name);
 
 4256     abstract *list<auto> getAlignSqlImpl(
AbstractTable t, *hash<auto> opt);
 
 4260     abstract 
AbstractColumn addColumnImpl(
string cname, hash<auto> opt, 
bool nullable = True);
 
 4263     abstract 
AbstractPrimaryKey addPrimaryKeyImpl(
string cname, hash<auto> ch, *hash<auto> opt);
 
 4266     abstract 
AbstractIndex addIndexImpl(
string iname, 
bool enabled, hash<auto> ch, *hash<auto> opt);
 
 4269     abstract 
AbstractForeignConstraint addForeignConstraintImpl(
string cname, hash<auto> ch, 
string table, hash<auto> tch, *hash<auto> opt);
 
 4279     abstract 
AbstractTrigger addTriggerImpl(
string tname, 
string src, *hash<auto> opt);
 
abstract class for check constraints
Definition: SqlUtil.qm.dox.h:6734
 
the base class for column information
Definition: SqlUtil.qm.dox.h:6364
 
the API for a constraint with columns
Definition: SqlUtil.qm.dox.h:6787
 
abstract base class for constraints
Definition: SqlUtil.qm.dox.h:6672
 
const CreationOptions
default generic creation options
Definition: AbstractDatabase.qc.dox.h:118
 
the base class for foreign key constraint information
Definition: SqlUtil.qm.dox.h:6947
 
the abstract base class for index information
Definition: SqlUtil.qm.dox.h:6542
 
represents a primary key
Definition: SqlUtil.qm.dox.h:6870
 
Abstract base class for savepoint helpers for epheremal transaction support.
Definition: AbstractSavepointHelper.qc.dox.h:33
 
base class for abstract SqlUtil classes
Definition: AbstractSqlUtilBase.qc.dox.h:28
 
transient Mutex l()
mutex for atomic actions
 
*hash< auto > opts
option hash
Definition: AbstractSqlUtilBase.qc.dox.h:35
 
the base abstract class for the table implementation
Definition: AbstractTable.qc.dox.h:30
 
list< auto > getDropColumnSql(string cname, *hash< auto > opt)
returns the SQL that can be used to drop a column from the table
 
abstract bool constraintsLinkedToIndexesImpl()
returns True if the database links constraints to indexes (ie dropping the constraint drops the index...
 
*hash< auto > insertCommit(hash< auto > row, reference< string > sql)
SqlUtil::AbstractTable::insertCommit() variant
 
const TableOptions
table options
Definition: AbstractTable.qc.dox.h:41
 
dropCommit(*hash< auto > opt)
drops the table from the database; releases the transaction lock after dropping the table
 
bool isDuplicateRowError(hash< ExceptionInfo > ex)
Returns True if the exception was raised because of a duplicate row / key error.
 
auto tryExecRawImpl(string sql)
tries to execute a command so that if an error occurs the current transaction status is not lost
 
int del(hash< auto > cond, reference< string > sql)
SqlUtil::AbstractTable::del() variant
 
*hash< auto > find(hash< auto > row)
finds a row in the table with the given primary key value given as a hash; if no row matches the prim...
 
*hash< auto > insertCommit(hash< auto > row)
inserts a row into the table; the transaction is committed if successful, if an error occurs,...
 
AbstractColumn modifyColumn(string cname, hash< auto > opt, bool nullable=True, *reference lsql)
modifies an existing column in the table; if the table is already known to be in the database,...
 
constructor(AbstractDatasource nds, string nname, *hash nopts)
creates the object; private constructor
 
AbstractPrimaryKey dropPrimaryKey(*reference lsql)
drops the primary key from the table; if the table is known to be in the database already,...
 
*hash< string, int > upsertFromSelect(AbstractTable t, *hash< auto > sh, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
this method upserts or merges data from the given foreign table and select option hash into the curre...
 
abstract AbstractDataProviderType getNumericTypeImpl(string type_name, bool nullable, *hash< auto > options)
returns the type for number / numeric columns for the database so that data conversions can be handle...
 
softint rowCount()
returns the number of rows in the table
 
abstract *string getSqlValueImpl(auto v)
returns a string for use in SQL queries representing the DB-specific value of the argument; returns N...
 
const ColumnOptions
Column options; this is currently empty and can be extended in database-specific modules.
Definition: AbstractTable.qc.dox.h:192
 
abstract hash< auto > getQoreTypeMapImpl()
returns the qore type -> column type map
 
deprecated *hash< string, int > upsertFromSelectNoCommit(AbstractTable t, *hash< auto > sh, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
A legacy SqlUtil::AbstractTable::upsertFromSelect() wrapper.
 
hash< auto > getTableOptions()
returns the table options for this driver
 
*list< auto > getCreateConstraintsSql(*hash< auto > opt, bool cache=True)
returns a list of SQL strings that could be used to create non-foreign constraints on the table or NO...
 
hash< SqlResultInfo > selectRowWithInfo(*hash< auto > select_hash, *hash< auto > opt)
returns a hash with a result representing the row in the table that matches the argument hash; if mor...
 
Columns describe()
returns an object of class Columns describing the table
 
const TableOmissionOptions
alignment omission options
Definition: AbstractTable.qc.dox.h:103
 
addCustomCopOperator(string name, hash< auto > operator)
register custom user column operator for this table object
 
int insertFromSelectCommit(list cols, AbstractTable source, hash< auto > sh, hash< auto > opt)
SqlUtil::AbstractTable::insertFromSelectCommit() variant
 
list< auto > getDropPrimaryKeySql(*hash< auto > opt)
gets a list of SQL strings that can be used to drop the primary key from the table
 
bool hasReturningImpl()
returns True if the current database driver supports the "returning" clause in insert statements,...
 
abstract bool checkExistenceImpl()
returns True if the table exists in the DB, False if not
 
hash< SqlCommandInfo > getUpdateSql(hash< auto > set, *hash< auto > cond)
Returns the SQL for the given update parameters.
 
*hash< auto > getPseudoColumnHash()
returns a hash of valid pseudocolumns
 
AbstractConstraint renameConstraint(string old_name, string new_name, reference lsql)
renames an existing constraint; this can be any constraint on the table, a primary key,...
 
hash< auto > getDescriptionHash()
Returns a description hash of the table.
 
rename(string new_name, *reference< string > sql, *Tables table_cache)
renames the table
 
deprecated *hash< string, int > upsertFromIteratorNoCommit(Qore::AbstractIterator i, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
A legacy SqlUtik::AbstractTable::upsertFromIterator() wrapper.
 
setupTable(hash< auto > desc, *hash< auto > opt)
creates the object from a table description hash
 
AbstractDataField getColumnDataField(string column_name, *hash< auto > options, *string append_desc)
returns a field object for the given column
 
*hash< auto > insert(hash< auto > row, reference< string > sql, hash< auto > opt)
SqlUtil::AbstractTable::insert() variant
 
copy(AbstractTable old)
copies the object
 
abstract doSelectOrderByWithOffsetSqlUnlockedImpl(reference< hash< QueryInfo > > info, reference< string > sql, list< auto > coll)
processes a string for use in SQL select statements when there is an "order by" and "offset" argument
 
list< auto > getDropAllConstraintsAndIndexesOnColumnSql(string cname, *hash< auto > opt)
gets a list of SQL strings to drop all constraints and indexes with the given column name; if the col...
 
int del(hash< auto > cond)
SqlUtil::AbstractTable::del() variant
 
int upsertCommit(hash< auto > row, int upsert_strategy=UpsertAuto, *hash< auto > opt)
update or insert the data in the table according to the hash argument; the table must have a unique k...
 
AbstractColumn dropColumn(string cname, *reference lsql)
drops a column from the table
 
string getDropIndexSql(string iname, *hash< auto > opt)
gets the SQL that can be used to drop an index from the table
 
hash< auto > getTableCreationOptions()
returns the table creation options for this driver
 
deprecated dropNoCommit(*hash< auto > opt)
A legacy wrapper for drop()
 
Constraints constraints
constraint descriptions
Definition: AbstractTable.qc.dox.h:391
 
deprecated createNoCommit(*hash< auto > opt)
A legacy wrapper for create()
 
Qore::SQL::AbstractSQLStatement getStatement(*hash< auto > sh, *reference< string > sql, *hash< auto > opt)
returns an AbstractSQLStatement object that will iterate the results of a select statement matching t...
 
int insertFromSelect(list cols, AbstractTable source)
SqlUtil::AbstractTable::insertFromSelectCommit() variant
 
string getDesc()
returns a descriptive string of the datasource (without the password) and the table name (with a poss...
 
const UpsertResultLetterMap
maps upsert result codes to single letter symbols
Definition: AbstractTable.qc.dox.h:371
 
AbstractPrimaryKey getPrimaryKey()
returns an object of class AbstractPrimaryKey describing the primary key of the table
 
int insertFromSelectCommit(list cols, AbstractTable source)
SqlUtil::AbstractTable::insertFromSelectCommit() variant
 
const UpsertOptions
default upsert option keys
Definition: AbstractTable.qc.dox.h:225
 
int update(hash< auto > set, hash< auto > cond)
A SqlUtil::AbstractTable::update() variant.
 
auto tryExecArgs(string sql, *softlist< auto > args)
executes some SQL with optional arguments so that if an error occurs the current transaction state is...
 
list< auto > getColumnSqlNames(softlist cols)
returns a list of column names for use in SQL strings; subclasses can process the argument list in ca...
 
list< auto > getDropTriggerSql(string tname, *hash< auto > opt)
returns SQL that can be used to drop the given trigger from the table
 
int delCommit()
SqlUtil::AbstractTable::delCommit() variant
 
Qore::SQL::AbstractSQLStatement getStatementNoExec(*hash< auto > sh, *reference< string > sql, *hash< auto > opt)
returns an AbstractSQLStatement object that will iterate the results of a select statement matching t...
 
*hash< string, int > upsertFromSelectCommit(AbstractTable t, *hash< auto > sh, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
Upserts or merges data from the given foreign table and select option hash into the current table.
 
AbstractUniqueConstraint addUniqueConstraint(string cname, softlist cols, *hash< auto > opt, *reference< string > sql)
adds a unique constraint to the table; if the table is known to be in the database already,...
 
hash< SqlResultInfo > insertWithInfo(hash< auto > row, *hash< auto > opt)
Inserts a row and returns the result and also the SQL used.
 
*hash< string, AbstractDataField > getRecordType()
returns a record description for the table
 
list< auto > getAddColumnSql(string cname, hash< auto > copt, bool nullable=True, *hash< auto > opt)
returns a list of SQL strings that can be use to add a column to the table
 
AbstractColumn addColumn(string cname, hash< auto > opt, bool nullable=True, *reference lsql)
adds a column to the table; if the table is already known to be in the database, then it is added in ...
 
int update(hash< auto > set, hash< auto > cond, reference< string > sql, hash< auto > opt)
updates rows in the table matching an optional condition and returns the count of rows updated; no tr...
 
string getSqlName()
returns the name of the table to be used in SQL (with a possible qualifier for schema,...
 
const ColumnDescOptions
Column description options.
Definition: AbstractTable.qc.dox.h:171
 
string getAddUniqueConstraintSql(string cname, softlist cols, *hash ukopt, *hash< auto > opt)
returns an SQL string that can be used to add a unique constraint to the table
 
hash< auto > getInsertFromIteratorOptions()
returns the insert from iterator options for this driver
 
Qore::SQL::AbstractSQLStatement getStatementNoExec(*hash< auto > sh, *hash< auto > opt)
returns an AbstractSQLStatement object that will iterate the results of a select statement matching t...
 
bool inDb
in database
Definition: AbstractTable.qc.dox.h:397
 
list< auto > getAlignSql(AbstractTable t, *hash< auto > opt)
returns a list of SQL strings required to align the table to the table given as an argument
 
*hash< auto > insert(hash< auto > row, reference< string > sql)
SqlUtil::AbstractTable::insert() variant
 
int update(hash< auto > set, hash< auto > cond, reference< string > sql)
A SqlUtil::AbstractTable::update() variant.
 
string name
the table's name
Definition: AbstractTable.qc.dox.h:381
 
*list< auto > getCreateTriggersSql(*hash< auto > opt, bool cache=True)
returns a list of SQL strings that could be used to create triggers on the table or NOTHING if there ...
 
const IndexOptions
default index options
Definition: AbstractTable.qc.dox.h:52
 
string getCreateTableSql(*hash< auto > opt)
returns an SQL string that could be used to create the basic table structure without indexes and cons...
 
*hash find(auto id)
finds a row in the table with the given primary key value; if no row matches the primary key value pa...
 
string getAddCheckConstraintSql(string cname, string src, *hash copt, *hash< auto > opt)
returns an SQL string that can be used to add a check constraint to the table
 
*hash< auto > insert(hash< auto > row, hash< auto > opt)
SqlUtil::AbstractTable::insert() variant
 
hash< auto > getCacheOptions()
returns the cache options for this driver
 
string getColumnSqlName(string col)
returns the column name for use in SQL strings; subclasses can return a special string in case the co...
 
*list< auto > selectRows(*hash< auto > sh, *reference< string > sql, *hash< auto > opt)
returns a list of hashes representing the rows in the table that match the argument hash
 
*hash< string, int > upsertFromSelectCommit(Table t, *hash< auto > sh, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
SqlUtil::AbstractTable::upsertFromSelectCommit() variant
 
AbstractIndex addIndex(string iname, bool unique, softlist cols, *hash< auto > opt, *reference< string > sql)
adds an index to the table; if the table is already known to be in the database, then it is added in ...
 
bool hasReturning()
returns True if the current database driver supports the "returning" clause in insert statements,...
 
code getUpsertClosureWithValidation(hash< auto > example_row, int upsert_strategy=UpsertAuto, *hash< auto > opt)
returns a closure that can be executed given a hash argument representing a single row that will be u...
 
string getDropConstraintSql(string cname, *hash< auto > opt)
gets the SQL that can be used to drop a constraint from the table; this can be any constraint on the ...
 
deprecated int upsertNoCommit(hash< auto > row, int upsert_strategy=UpsertAuto)
A legacy SqlUtil::AbstractTable::upsert() wrapper.
 
bool bindEmptyStringsAsNull()
returns True if the DB treats empty strings as NULL, False if not; by default this method returns Fal...
 
list< auto > getAddTriggerSql(string tname, string src, *hash topt, *hash< auto > opt)
returns a list of SQL strings that can be used to add a trigger to the table
 
hash< auto > getColumnDescOptions()
returns the column description options for this driver
 
AbstractDataProviderType getDbType(string native_type, *string qore_type, bool nullable, int max_size=-1, *hash< SqlUtilDataTypeOptionInfo > options)
returns the DB type for the given column type
 
*list< auto > getCreateMiscSql(*hash< auto > opt, bool cache=True)
returns a list of SQL strings that could be used to create other table attributes (such as comments,...
 
const SqlDataCallbackOptions
generic SQL data operation callbacks
Definition: AbstractTable.qc.dox.h:199
 
auto tryExec(string sql)
executes some SQL with optional arguments so that if an error occurs the current transaction state is...
 
const InsertOptions
generic SQL insert options
Definition: AbstractTable.qc.dox.h:214
 
AbstractDataField getColumnDataField(AbstractColumn column, *hash< SqlUtilDataTypeOptionInfo > options, *string append_desc)
returns a field object for the given column
 
deprecated int insertFromIteratorNoCommit(Qore::AbstractIterator i, *hash< auto > opt)
A legacy SqlUtil::AbstractTable::insertFromIterator() wrapper.
 
abstract bool isDuplicateRowErrorImpl(hash< ExceptionInfo > ex)
Returns True if the exception was raised because of a duplicate row / key error.
 
AbstractIndex renameIndex(string old_name, string new_name, reference< string > sql)
renames an existing index; if the table is already known to be in the database, then the changes are ...
 
int delCommit(hash< auto > cond, reference< string > sql, hash< auto > opt)
deletes rows in the table matching the condition and returns the count of rows deleted; the transacti...
 
hash< auto > getSelectOptions()
returns the select options for this driver
 
int delCommit(hash< auto > cond, hash< auto > opt)
SqlUtil::AbstractTable::delCommit() variant
 
list< auto > getCreateSql(*hash< auto > opt)
returns a list of SQL strings that could be used to create the table and all known properties of the ...
 
abstract copyImpl(AbstractTable old)
db-specific copy actions
 
deprecated *hash< auto > insertNoCommit(hash< auto > row, *reference< string > sql, *hash< auto > opt)
A legacy wrapper for SqlUtil::AbstractTable::insert()
 
AbstractConstraint dropConstraint(string cname, *reference< string > sql)
drops a constraint from the table; this can be any constraint on the table, a primary key,...
 
string getRenameSql(string new_name, *hash< auto > opt)
returns an SQL string that could be used to rename the table in the database
 
int delCommit(hash< auto > cond)
SqlUtil::AbstractTable::delCommit() variant
 
hash< auto > getTriggerOptions()
returns the trigger options for this driver
 
hash< auto > getUpsertOptions()
returns the upsert options for this driver
 
hash< auto > getRawUpdateOperatorMap()
returns the raw (default) update operator map for this object
 
auto tryExecArgsImpl(string sql, *softlist< auto > args)
tries to execute a command so that if an error occurs the current transaction status is not lost
 
hash< string, Columns > getAllUpsertColumns(*hash< auto > row)
returns a hash with a single value\
 
AbstractForeignConstraint removeForeignConstraint(string cname)
removes the named foreign constraint from the table; no SQL is executed in any case,...
 
const CacheOptions
default cache options
Definition: AbstractTable.qc.dox.h:63
 
*hash< auto > insertCommit(hash< auto > row, reference< string > sql, hash< auto > opt)
SqlUtil::AbstractTable::insertCommit() variant
 
*hash< auto > findSingle(*hash< auto > cond)
finds a single row in the table that match the row condition passed; multiple rows may match,...
 
string getAddIndexSql(string iname, bool unique, softlist cols, *hash< auto > ixopt, *hash< auto > opt)
returns an SQL string that can be used to add an index to the table
 
bool native_case
native case option
Definition: AbstractTable.qc.dox.h:395
 
int insertFromIterator(Qore::AbstractIterator i, *hash< auto > opt)
this method inserts data from the given iterator argument (whose getValue() method must return a hash...
 
hash< SqlResultInfo > delWithInfo(hash< auto > cond, *hash< auto > opt)
deletes rows in the table matching the condition and returns the count of rows deleted; no transactio...
 
code getUpsertClosure(hash< auto > row, int upsert_strategy=UpsertAuto, *hash< auto > opt)
returns a closure that can be executed given a hash argument representing a single row that will be u...
 
*hash< auto > insert(hash< auto > row)
inserts a row into the table without any transaction management; a transaction will be in progress af...
 
hash< auto > getColumnOptions()
returns the column options for this driver
 
int insertFromSelectCommit(list cols, AbstractTable source, hash< auto > sh, reference< string > sql)
SqlUtil::AbstractTable::insertFromSelectCommit() variant
 
bool asteriskRequiresPrefix()
returns True if the database requires a wildcard "*" to be prefixed with the table name when it appea...
 
bool emptyData()
returns True if the table has no data rows, False if not
 
*hash< auto > select(*hash< auto > sh, *reference< string > sql, *hash< auto > opt)
returns a hash of lists representing the columns and rows in the table that match the argument hash
 
int updateCommit(hash< auto > set, hash< auto > cond, hash< auto > opt)
A SqlUtil::AbstractTable::updateCommit() variant.
 
drop(*hash< auto > opt)
drops the table from the database without any transaction management
 
AbstractDataProviderType getNumericType(string type_name, bool nullable, *hash< auto > options)
returns the type for number / numeric columns for the database so that data conversions can be handle...
 
deprecated int insertFromSelectNoCommit(list cols, AbstractTable source, *hash< auto > sh, *reference< string > sql, *hash< auto > opt)
A legacy SqlUtil::AbstractTable::insertFromSelect() wrapper.
 
*hash< string, int > upsertFromIteratorCommit(Qore::AbstractIterator i, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
this method upserts or merges data from the given iterator argument (whose getValue() method must ret...
 
abstract bool uniqueIndexCreatesConstraintImpl()
returns True if the database automatically creates a unique constraint when a unique index is created...
 
int updateCommit(hash< auto > set, hash< auto > cond)
A SqlUtil::AbstractTable::updateCommit() variant.
 
int insertFromSelectCommit(list cols, AbstractTable source, hash< auto > sh, reference< string > sql, hash< auto > opt)
inserts rows into a table based on a select statement from another table (which must be using the sam...
 
hash< auto > getTableDescriptionHashOptions()
returns the table description hash<auto> options for this driver
 
deprecated int updateNoCommit(hash< auto > set, *hash< auto > cond, *hash< auto > opt)
A legacy SqlUtil::AbstractTable::update() wrapper.
 
Columns columns
column description object
Definition: AbstractTable.qc.dox.h:383
 
Indexes getIndexes()
returns an object of class Indexes describing the indexes on the table
 
*string getCreatePrimaryKeySql(*hash< auto > opt, bool cache=True)
returns an SQL string that could be used to create the primary key on the table
 
string getName()
returns the name of the table
 
AbstractForeignConstraint dropForeignConstraint(string cname, *reference< string > sql)
drops a foreign constraint from the table; if the table is known to be in the database already,...
 
hash< auto > getInsertOptions()
returns the insert options for this driver
 
*hash< auto > selectRow(*hash< auto > sh, *reference< string > sql, *hash< auto > opt)
returns a hash representing the row in the table that matches the argument hash
 
*list< auto > selectRows(*hash< auto > sh, *hash< auto > opt)
returns a list of hashes representing the rows in the table that match the argument hash
 
Triggers getTriggers()
returns an object of class Triggers describing the triggers on the table
 
Qore::SQL::AbstractSQLStatement getStatement(*hash< auto > sh, *hash< auto > opt)
returns an AbstractSQLStatement object that will iterate the results of a select statement matching t...
 
ForeignConstraints foreignConstraints
foreign constraints description
Definition: AbstractTable.qc.dox.h:389
 
clearImpl()
clears any driver-specific table information
 
const SelectOptions
default possible select options; can be extended by driver-specific modules
Definition: AbstractTable.qc.dox.h:85
 
*hash< auto > getColumnOperatorMapImpl()
Reimplement in subclasses to provide driver specific column operators.
 
int upsert(hash< auto > row, int upsert_strategy=UpsertAuto, *hash< auto > opt)
update or insert the data in the table according to the hash argument; the table must have a unique k...
 
int del(hash< auto > cond, hash< auto > opt)
SqlUtil::AbstractTable::del() variant
 
setDatasource(AbstractDatasource nds)
changes the datasource for the table; if the inDb flag is True, then it is set to False by calling th...
 
Qore::SQL::SQLStatement getRowIterator(*hash< auto > sh, *reference< string > sql, *hash< auto > opt)
returns an SQLStatement object that will iterate the results of a select statement matching the argum...
 
cache(*hash< auto > opts)
reads in all attributes of the table from the database
 
truncateCommit()
truncates all the table data; releases the transaction lock after executing
 
deprecated int updateNoCommit(hash< auto > set, *hash< auto > cond, *reference< string > sql)
A legacy SqlUtil::AbstractTable::update() wrapper.
 
int insertFromIteratorCommit(Qore::AbstractIterator i, *hash< auto > opt)
this method inserts data from the given iterator argument (whose getValue() method must return a hash...
 
int del(hash< auto > cond, reference< string > sql, hash< auto > opt)
deletes rows in the table matching the condition and returns the count of rows deleted; no transactio...
 
const ConstraintOptions
default constraint options
Definition: AbstractTable.qc.dox.h:60
 
hash< SqlResultInfo > selectRowsWithInfo(*hash< auto > select_hash, *hash< auto > opt)
returns a hash with a result key assigned to a list of hashes representing the rows in the table that...
 
hash< auto > getUpdateOperatorMap()
returns the update operator map for this object
 
hash< auto > getIndexOptions()
returns the index options for this driver
 
createCommit(*hash< auto > opt)
creates the table in the database; releases the transaction lock after creating the table
 
*list< auto > getCreateForeignConstraintsSql(*hash< auto > opt, bool cache=True)
returns a list of SQL strings that could be used to create foreign constraints on the table or NOTHIN...
 
deprecated *hash< string, int > upsertFromSelect(Table t, *hash< auto > sh, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
SqlUtil::AbstractTable::upsertFromSelect() variant
 
string getBaseType()
returns the base type of the underlying object (normally "table", some DB-specific implementations ma...
 
hash< SqlResultInfo > updateWithInfo(hash< auto > set, hash< auto > cond, *hash< auto > opt)
updates rows in the table matching an optional condition and returns an info hash with the count of r...
 
hash< SqlResultInfo > getStatementNoExecWithInfo(*hash< auto > select_hash, *hash< auto > opt)
returns a result hash including an AbstractSQLStatement object that will iterate the results of a sel...
 
const TableDescriptionHashOptions
Table description options.
Definition: AbstractTable.qc.dox.h:147
 
hash< auto > getTableColumnDescOptions()
returns the table column description options for this driver
 
int update(hash< auto > set)
A SqlUtil::AbstractTable::update() variant.
 
int update(hash< auto > set, hash< auto > cond, hash< auto > opt)
A SqlUtil::AbstractTable::update() variant.
 
clear()
purges the current table definition
 
hash< SqlResultInfo > getStatementWithInfo(*hash< auto > select_hash, *hash< auto > opt)
returns a result hash including an AbstractSQLStatement object that will iterate the results of a sel...
 
const UpsertResultDescriptionMap
hash mapping upsert descriptions to codes
Definition: AbstractTable.qc.dox.h:362
 
int updateCommit(hash< auto > set, hash< auto > cond, reference< string > sql)
A SqlUtil::AbstractTable::updateCommit() variant.
 
deprecated *hash< auto > insertNoCommit(hash< auto > row, hash< auto > opt)
A legacy wrapper for SqlUtil::AbstractTable::insert()
 
hash< auto > getConstraintOptions()
returns the constraint options for this driver
 
string getAddPrimaryKeySql(string pkname, softlist cols, *hash pkopt, *hash< auto > opt)
returns the SQL that can be used to add a primary key to the table
 
*hash< string, int > upsertFromIterator(Qore::AbstractIterator i, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
this method upserts or merges data from the given iterator argument (whose getValue() method must ret...
 
int updateCommit(hash< auto > set, hash< auto > cond, reference< string > sql, hash< auto > opt)
updates rows in the table matching an optional condition and returns the count of rows updated; the t...
 
hash< auto > getAlignTableOptions()
returns the align table options for this driver
 
Constraints getConstraints()
returns a Constraints object describing the non-foreign constraints on the table
 
abstract bool hasArrayBind()
returns True if the underlying DB driver supports bulk DML operations
 
validateColumnOptions(string cname, reference< hash > opt, bool nullable)
validates column options
 
deprecated truncateNoCommit()
A legacy warpper for truncate()
 
commit()
commits the current transaction on the underlying Qore::SQL::AbstractDatasource
 
bool checkExistence()
returns True if the table exists in the database, False if not
 
softlist< auto > getDropSql(*hash< auto > opt)
returns the sql required to drop the table; reimplement in subclasses if necessary
 
int insertFromSelectCommit(list cols, AbstractTable source, hash< auto > sh)
SqlUtil::AbstractTable::insertFromSelectCommit() variant
 
string getSelectSql(*hash< auto > sh, *reference< list< auto > > args)
returns the SQL string to be executed corresponding to the argument hash with an output parameter for...
 
AbstractTable getSubtableFromString(string table, *hash< auto > opt)
Returns the given table from the argument, using any "tablecode" option if present.
 
const TableCreationOptions
table creation options
Definition: AbstractTable.qc.dox.h:113
 
int delCommit(hash< auto > cond, reference< string > sql)
SqlUtil::AbstractTable::delCommit() variant
 
int insertFromSelect(list cols, AbstractTable source, hash< auto > sh, reference< string > sql, hash< auto > opt)
inserts rows into a table based on a select statement from another table (which must be using the sam...
 
Triggers triggers
trigger descriptions
Definition: AbstractTable.qc.dox.h:393
 
AbstractColumn renameColumn(string old_name, string new_name, reference< string > sql)
renames an existing column; if the table is already known to be in the database, then the changes are...
 
abstract AbstractSavepointHelper getSavepointHelperImpl(*string savepoint)
get DB-specific savepoint helper
 
int updateCommit(hash< auto > set)
A SqlUtil::AbstractTable::updateCommit() variant.
 
AbstractDataProviderType getColumnDataType(string column_name, *hash< SqlUtilDataTypeOptionInfo > options)
returns the data type for the given column
 
hash< auto > getInsertOperatorMap()
returns the insert operator map for this object
 
AbstractPrimaryKey primaryKey
primary key description
Definition: AbstractTable.qc.dox.h:385
 
bool inDb()
returns True if the table has been read from or created in the database, False if not
 
Qore::SQL::SQLStatement getRowIterator(*hash< auto > sh, *hash< auto > opt)
returns an SQLStatement object that will iterate the results of a select statement matching the argum...
 
int insertFromSelect(list cols, AbstractTable source, hash< auto > sh, reference< string > sql)
SqlUtil::AbstractTable::insertFromSelectCommit() variant
 
AbstractIndex dropIndex(string iname, *reference< string > sql)
drops the given index from the table; if the table is known to be in the database already,...
 
AbstractForeignConstraint addForeignConstraint(string cname, softlist cols, string table, *softlist tcols, *hash< auto > opt, *reference< string > sql)
adds a foreign constraint to the table; if the table is already known to be in the database,...
 
hash< SqlResultInfo > selectWithInfo(*hash< auto > select_hash, *hash< auto > opt)
returns a hash with a result key assigned to a hash of lists representing the columns and rows in the...
 
AbstractPrimaryKey addPrimaryKey(string pkname, softlist cols, *hash< auto > opt, *reference< string > sql)
adds a primary key to the table; if the table is already known to be in the database,...
 
abstract hash< auto > getTypeMapImpl()
returns the type name -> type description hash
 
beginTransaction()
begins a transaction on the underlying Qore::SQL::AbstractDatasource
 
abstract bool supportsTablespacesImpl()
returns True if the database support tablespaces
 
hash< auto > getColumnOperatorMap()
returns the column operator map for this object
 
rollback()
rolls back the current transaction on the underlying Qore::SQL::AbstractDatasource
 
string getTruncateSql(*hash< auto > opt)
gets the SQL that can be used to truncate the table
 
*hash< auto > insertCommit(hash< auto > row, hash< auto > opt)
SqlUtil::AbstractTable::insertCommit() variant
 
string getSqlFromList(list< auto > l)
returns an SQL string corresponding to the list of commands in the argument
 
string getRenameColumnSql(string old_name, string new_name, *hash< auto > opt)
gets an SQL string that can be used to rename an existing column in the table
 
AbstractCheckConstraint addCheckConstraint(string cname, string src, *hash< auto > opt, *reference< string > sql)
adds a check constraint to the table; if the table is already known to be in the database,...
 
ForeignConstraints getForeignConstraints(*hash< auto > opt)
returns a ForeignConstraints object describing the foreign constraints that the table has on other ta...
 
string getSqlValue(auto v)
returns a string for use in SQL queries representing the DB-specific value of the argument
 
const TriggerOptions
default trigger options
Definition: AbstractTable.qc.dox.h:79
 
const AlignTableOptions
table alignment options
Definition: AbstractTable.qc.dox.h:126
 
int insertFromSelect(list cols, AbstractTable source, hash< auto > sh, hash< auto > opt)
SqlUtil::AbstractTable::insertFromSelectCommit() variant
 
code getBulkUpsertClosure(hash< auto > example_row, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
returns a closure that can be executed given a hash argument representing either a single row or a se...
 
auto tryExecRaw(string sql)
executes some SQL so that if an error occurs the current transaction state is not lost
 
*AbstractUniqueConstraint findUniqueConstraint(string name)
returns the given AbstractUniqueConstraint object if defined for the table (also includes the primary...
 
string getCreateSqlString(*hash< auto > opt)
returns an SQL string that could be used to create the table and all known properties of the table
 
int del()
SqlUtil::AbstractTable::del() variant
 
const UpsertResultMap
hash mapping upsert results to a description
Definition: AbstractTable.qc.dox.h:351
 
AbstractSavepointHelper getSavepointHelper(*string savepoint)
get DB-specific savepoint helper
 
hash< auto > getSqlDataCallbackOptions()
returns the sql data operation callback options for this driver
 
truncate()
truncates all the table data without any transaction management
 
AbstractTrigger dropTrigger(string tname, *reference< string > sql)
drops the given trigger from the table; if the table is known to be in the database already,...
 
AbstractDataProviderType getDbType(AbstractColumn column, *hash< SqlUtilDataTypeOptionInfo > options)
returns the DB type for the given column type
 
*string getDropConstraintIfExistsSql(string cname, *hash< auto > opt, *reference< AbstractConstraint > cref)
gets the SQL that can be used to drop a constraint from the table if it exists, otherwise returns NOT...
 
string getAlignSqlString(AbstractTable t, *hash< auto > opt)
accepts an AbstractTable argument and returns an SQL string that could be executed to align the struc...
 
AbstractTrigger addTrigger(string tname, string src, *hash< auto > opt, *reference lsql)
adds a trigger to the table; if the table is already known to be in the database, then it is added in...
 
*list< auto > findAll(*hash< auto > cond)
finds all rows in the table with the given column values; a list of hashes is returned representing t...
 
Qore::SQL::SQLStatement getRowIteratorNoExec(*hash< auto > sh, *reference< string > sql, *hash< auto > opt)
returns an SQLStatement object that will iterate the results of a select statement matching the argum...
 
bool manual
manual edits
Definition: AbstractTable.qc.dox.h:399
 
*list find(list< auto > ids)
finds rows in the table with the given primary key values; if no row matches any primary key value pa...
 
deprecated *hash< string, int > upsertFromSelectNoCommit(Table t, *hash< auto > sh, int upsert_strategy=AbstractTable::UpsertAuto, *hash< auto > opt)
A legacy SqlUtil::AbstractTable::upsertFromSelect() wrapper.
 
hash< auto > getForeignConstraintOptions()
return the foreign constraint options for this driver
 
const ForeignConstraintOptions
default foreign constraint options
Definition: AbstractTable.qc.dox.h:72
 
const AdditionalColumnDescOptions
additional column description keys valid when describing columns in a table description hash
Definition: AbstractTable.qc.dox.h:187
 
const InsertFromIteratorOptions
default insert option keys
Definition: AbstractTable.qc.dox.h:237
 
string getAddForeignConstraintSql(string cname, softlist cols, string table, *softlist tcols, *hash fkopt, *hash< auto > opt)
returns an SQL string that can be used to add a foreign constraint to the table
 
bool empty()
returns True if the table has no definitions, False if not
 
deprecated int delNoCommit(*hash< auto > cond, *reference< string > sql)
A legacy SqlUtil::AbstractTable::del() wrapper.
 
Qore::AbstractIterator getUniqueConstraintIterator()
returns an iterator for all unique constraints on the table (including the primary key if any)
 
hash< auto > getExpressionMap()
Returns the expression map for this database server.
 
*hash< auto > select(*hash< auto > sh, *hash< auto > opt)
returns a hash of lists representing the columns and rows in the table that match the argument hash
 
Indexes indexes
index descriptions
Definition: AbstractTable.qc.dox.h:387
 
*list< auto > getCreateIndexesSql(*hash< auto > opt, bool cache=True)
returns a list of SQL strings that could be used to create indexes on the table or NOTHING if there a...
 
int insertFromSelect(list cols, AbstractTable source, hash< auto > sh)
SqlUtil::AbstractTable::insertFromSelectCommit() variant
 
hash< SqlResultInfo > insertFromSelectWithInfo(list< auto > cols, AbstractTable source, hash< auto > select_hash, *hash< auto > opt)
inserts rows into a table based on a select statement from another table (which must be using the sam...
 
hash< auto > getWhereOperatorMap()
returns the "where" operator map for this object
 
abstract doSelectLimitOnlyUnlockedImpl(reference< hash< QueryInfo > > info, reference< string > sql)
processes a string for use in SQL select statements when there is a "limit" argument,...
 
abstract bool tryInsertImpl(string sql, hash< auto > row)
tries to insert a row, if there is a duplicate key, then it returns False, if successful,...
 
create(*hash< auto > opt)
creates the table with all associated properties (indexes, constraints, etc) without any transaction ...
 
*hash< auto > selectRow(*hash< auto > sh, *hash< auto > opt)
returns a hash representing the row in the table that matches the argument hash; if more than one row...
 
list< auto > getModifyColumnSql(string cname, hash< auto > copt, bool nullable=True, *hash< auto > opt)
gets a list of SQL strings that can be used to modify an existing column in the table
 
the base class for triggers
Definition: SqlUtil.qm.dox.h:7145
 
represents a unique column constraint
Definition: SqlUtil.qm.dox.h:6861
 
column container class that throws an exception if an unknown column is accessed
Definition: SqlUtil.qm.dox.h:6282
 
constraint container class that throws an exception if an unknown constraint is accessed
Definition: SqlUtil.qm.dox.h:6630
 
foreign constraint container class that throws an exception if an unknown constraint is accessed
Definition: SqlUtil.qm.dox.h:6881
 
index container class that throws an exception if an unknown index is accessed
Definition: SqlUtil.qm.dox.h:6496
 
represents a database table; this class embeds an AbstractTable object that is created automatically ...
Definition: Table.qc.dox.h:44
 
the table container class stores a collection of tables in a schema
Definition: SqlUtil.qm.dox.h:6094
 
trigger container class that throws an exception if an unknown trigger is accessed
Definition: SqlUtil.qm.dox.h:7163
 
const UpsertUpdateFirst
Upsert option: update first, if the update fails, then insert.
Definition: AbstractTable.qc.dox.h:271
 
const UpsertStrategyMap
hash mapping upsert strategy codes to a text description
Definition: AbstractTable.qc.dox.h:306
 
const UpsertInsertOnly
Upsert option: insert if the row does not exist, otherwise ignore.
Definition: AbstractTable.qc.dox.h:294
 
const UpsertInsertFirst
Definition: AbstractTable.qc.dox.h:263
 
const UpsertUpdateOnly
Upsert option: update if the row exists, otherwise ignore.
Definition: AbstractTable.qc.dox.h:301
 
const UpsertAuto
Upsert option: if the target table is empty, use UpsertInsertFirst, otherwise use UpsertUpdateFirst.
Definition: AbstractTable.qc.dox.h:287
 
const UpsertStrategyDescriptionMap
hash mapping upsert strategy descriptions to upsert strategy codes
Definition: AbstractTable.qc.dox.h:318
 
const UpsertSelectFirst
Upsert option: select first, if the row is unchanged, do nothing, if it doesn't exist,...
Definition: AbstractTable.qc.dox.h:280
 
const UR_Updated
row was updated because it was different (only possible with UpsertSelectFirst)
Definition: AbstractTable.qc.dox.h:339
 
const UR_Verified
row was updated unconditionally (not returned with UpsertSelectFirst)
Definition: AbstractTable.qc.dox.h:336
 
const UR_Deleted
row was deleted (only possible with batch upsert methods such as AbstractTable::upsertFromIterator() ...
Definition: AbstractTable.qc.dox.h:345
 
const UR_Inserted
Definition: AbstractTable.qc.dox.h:333
 
const UR_Unchanged
row was unchanged (only possible with UpsertSelectFirst, UpsertInsertOnly, and UpsertUpdateOnly)
Definition: AbstractTable.qc.dox.h:342
 
Qore AbstractDatabase class definition.
Definition: AbstractDatabase.qc.dox.h:26