169            hash<string, string> collations;
 
  205        constructor(
string n, Columns c, ForeignConstraintTarget t) ;
 
  208        string getCreateSql(
string table_name, *hash<auto> opt);
 
  215        string getCreateSql(
string name, 
string table_name, *hash<auto> opt);
 
  218        string getAddSql(
string name, 
string table_name, *hash<auto> opt);
 
  241                bool auto_increment = False, 
bool primary_key = False)
 
  329        string getCreateSql(
string table_name, *hash<auto> opts);
 
  332        list<string> getRenameSql(
string table_name, 
string new_name);
 
  335        string getCreateSql(
string name, 
string table_name, *hash<auto> opts);
 
  339        string getDropSql(
string table_name);
 
  350        constructor(hash<auto> c) ;
 
  353        string getCreateSql(
string table_name, *hash<auto> opts);
 
  356        list<string> getRenameSql(
string table_name, 
string new_name);
 
  429                "autoincrement": True,
 
  446                "current_date": True,
 
  447                "current_time": True,
 
  448                "current_timestamp": True,
 
  502                "materialized": True,
 
  586         list<string> featuresImpl();
 
  590        string getSchemaName();
 
  593        private AbstractSequence makeSequenceImpl(
string name, number start = 1, number increment = 1,
 
  594                *softnumber end, *hash<auto> 
opts) {
 
  599         *AbstractSequence getSequenceImpl(
string name);
 
  604         *AbstractView getViewImpl(
string name);
 
  609         AbstractFunction makeFunctionImpl(
string name, 
string src, *hash<auto> 
opts);
 
  614         AbstractFunction makeProcedureImpl(
string name, 
string src, *hash<auto> 
opts);
 
  619         *AbstractFunction getFunctionImpl(
string name);
 
  624         *AbstractFunction getProcedureImpl(
string name);
 
  629         list<string> getDropSchemaSqlImpl(hash<auto> schema_hash, *hash<auto> opt);
 
  634         list<string> getAlignSqlImpl(hash schema_hash, *hash<auto> opt);
 
  665         list<string> listSequencesImpl();
 
  670         list<string> listViewsImpl();
 
  675         string getCreateSqlImpl(list<auto> 
l);
 
  679          static string getCreateSql(list<auto> 
l);
 
  751                    "qore": Type::String,
 
  754                    "qore": Type::String,
 
  757                    "qore": Type::Binary,
 
  783         bool checkExistenceImpl();
 
  788         Columns describeImpl();
 
  793         *
string getCreatePrimaryKeySqlUnlocked(*hash<auto> opt, 
bool cache = True);
 
  803         Indexes getIndexesImpl();
 
  808         ForeignConstraints getForeignConstraintsImpl(*hash<auto> 
opts);
 
  813         Constraints getConstraintsImpl();
 
  818         Triggers getTriggersImpl();
 
  822        string getCreateTableSqlImpl(*hash<auto> opt);
 
  830         *list getCreateMiscSqlImpl(*hash<auto> opt, 
bool cache);
 
  835         *list getAlignSqlImpl(AbstractTable table, *hash<auto> opt);
 
  840         string getCreateSqlImpl(list 
l);
 
  845         string getRenameSqlImpl(
string new_name);
 
  850         AbstractColumn addColumnImpl(
string cname, hash<auto> opt, 
bool nullable = True);
 
  855         setPrimaryKeyUnlocked(AbstractPrimaryKey pk);
 
  860         addColumnToTableUnlocked(AbstractColumn c);
 
  865         AbstractPrimaryKey addPrimaryKeyImpl(
string cname, hash<auto> ch, *hash<auto> opt);
 
  870         AbstractIndex addIndexImpl(
string iname, 
bool enabled, hash<auto> ch, *hash<auto> opt);
 
  874        private AbstractForeignConstraint addForeignConstraintImpl(
string cname, hash<auto> ch, 
string table,
 
  875                hash<auto> tch, *hash<auto> opt) {
 
  876            ForeignConstraintTarget fct(table, 
new Columns(tch));
 
  881         AbstractCheckConstraint addCheckConstraintImpl(
string cname, 
string src, *hash<auto> opt);
 
  886         AbstractUniqueConstraint addUniqueConstraintImpl(
string cname, hash<auto> ch, *hash<auto> opt);
 
  891         AbstractTrigger addTriggerImpl(
string tname, 
string src, *hash<auto> opt);
 
  896         bool tryInsertImpl(
string sql, hash<auto> row);
 
  909         hash<auto> getQoreTypeMapImpl();
 
  914         hash<auto> getTypeMapImpl();
 
  960         preSetupTableImpl(reference<hash> desc, *hash<auto> opt);
 
  965         setupTableImpl(hash<auto> desc, *hash<auto> opt);
 
  996            doSelectOrderBySqlUnlocked(info, \sql, coll);
 
  997            if (info.query_hash.limit);
 
 1000            if (info.query_hash.offset);
 
 1011         *hash<auto> doReturningImpl(hash<auto> opt, reference<string> sql, list<auto> args);
 
 1016         list<auto> getGroupOrderByListUnlocked(hash<QueryInfo> info, 
string key, list<auto> coll);
 
transient AbstractDatasource ds
 
cache(*hash< auto > opts)
 
represents a Sqlite3-specific column
Definition: Sqlite3SqlUtil.qm.dox.h:227
 
constructor()
empty constructor for subclasses
 
constructor(string name, string native_type, *string qore_type, bool nullable, *string default_value, bool auto_increment=False, bool primary_key=False)
Creates the column.
 
string getRenameSql(AbstractTable t, string new_name)
returns a string that can be used to rename the column
 
softlist< string > getAddColumnSql(AbstractTable t)
returns a list of sql strings that can be used to add the column to an existing table
 
bool equalImpl(AbstractColumn c)
returns True if the argument is equal to the current object, False if not
 
softlist< string > getModifySqlImpl(AbstractTable t, AbstractColumn col, *hash< auto > opt)
returns a list of sql strings that can be used to modify the column to the new definition
 
string getDdlName(string name)
returns the column name with quoting in case the column name is a reserved word
 
provides the Sqlite3-specific implementation of the AbstractDatabase interface
Definition: Sqlite3SqlUtil.qm.dox.h:412
 
list< string > listFunctionsImpl()
returns a list of string function names in the database
 
bool supportsTypesImpl()
returns True if the database supports named types
 
const Sqlite3ReservedWords
hash of reserved words
Definition: Sqlite3SqlUtil.qm.dox.h:416
 
softint getCurrentSequenceValueImpl(string name)
returns the last value issued for the given sequence in the current session
 
list< string > listProceduresImpl()
returns a list of string procedure names in the database
 
bool rebuildIndexImpl(string name, *hash< auto > options)
rebuild index implementation. See SqlUtil::AbstractDatabase::rebuildIndex()
 
bool supportsPackagesImpl()
returns True if the database supports packages
 
computeStatisticsImpl(*hash< auto > options)
compute statistics implementation. See SqlUtil::AbstractDatabase::computeStatistics()
 
bool supportsSequencesImpl()
returns True since we have a workaround implementation for sequences in Sqlite3
 
int getPhysicalSizeImpl()
SqlUtil::AbstractDatabase::getPhysicalSize()
 
int getMaximumPrecision()
Returns the maximum precision for numeric or decimal columns.
 
list< string > listTablesImpl()
returns a list of string table names in the database
 
reclaimSpaceImpl(*hash< auto > options)
reclaim space implementation. See SqlUtil::AbstractDatabase::reclaimSpace()
 
softint getNextSequenceValueImpl(string name)
returns the next value in the given sequence
 
bool requiresScale()
Returns True if the driver requires a scale to support decimal values in numeric or decimal columns.
 
represents a Sqlite3-specific foreign constraint
Definition: Sqlite3SqlUtil.qm.dox.h:202
 
string getDropSql(string table_name)
returns a string that can be used to drop the foreign constraint from the database
 
softlist getRenameSql(string table_name, string new_name)
returns a string that drops the constraint and re-adds it, since Sqlite3 does not support renaming co...
 
represents a Sqlite3-specific index
Definition: Sqlite3SqlUtil.qm.dox.h:166
 
bool equalImpl(AbstractIndex ix)
returns True if the argument is equal to the current index, False if not
 
string getCreateSql(string table_name, *hash< auto > opt)
returns a string that can be used to create the index in the database
 
string getDropSql(string table_name)
returns a string that can be used to drop the index from the table
 
list< string > getColumnCollationList()
Returns a list of column name with COLLATE argument per column, if appropriate.
 
constructor(string name, bool unique, hash< auto > cols, *hash< string, string > collations)
creates the object from the arguments
 
string getRenameSql(string table_name, string new_name)
returns a string that can be used to rename the index in the database
 
represents a Sqlite3-specific primary key constraint
Definition: Sqlite3SqlUtil.qm.dox.h:344
 
bool supportsName()
returns False since primary key constraints in Sqlite3 have no name
 
Sqlite3 savepoint helper.
Definition: Sqlite3SqlUtil.qm.dox.h:139
 
createSavepointImpl()
Creates the savepoint.
 
rollbackImpl()
Rolls back to the savepoint.
 
deleteSavepointImpl()
Deletes the savepoint.
 
constructor(AbstractDatasource ds, *string savepoint)
Creates the object.
 
provides the Sqlite3-specific implementation of the AbstractTable interface
Definition: Sqlite3SqlUtil.qm.dox.h:737
 
bool isDuplicateRowErrorImpl(hash< ExceptionInfo > ex)
Returns True if the exception was raised because of a duplicate row / key error.
 
bool asteriskRequiresPrefix()
returns True if the database requires a wildcard "*" to be prefixed with the table name when it appea...
 
string getSqlName()
returns the name of the table to be used in SQL (with a possible qualifiers for schema,...
 
bool hasArrayBind()
returns False because the sqlite3 driver does not support array binds / bulk DML operations
 
private 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
Definition: Sqlite3SqlUtil.qm.dox.h:994
 
bool constraintsLinkedToIndexesImpl()
returns True if the database links constraints to indexes (ie dropping the constraint drops the index...
 
bool hasReturningImpl()
returns True if the current database driver supports the "returning" clause in insert statements,...
 
static *string getSqlValue(auto v)
returns a string for use in SQL queries representing the DB-specific value of the argument
 
list< string > getColumnSqlNames(softlist< auto > cols)
returns a list of column names for use in SQL strings; subclasses can process the argument list in ca...
 
const QoreTypeMap
maps qore type names to Sqlite3 type names
Definition: Sqlite3SqlUtil.qm.dox.h:762
 
copyImpl(AbstractTable old)
db-specific copy actions
 
static *string getSqlValueIntern(auto v)
returns a string for use in SQL queries representing the DB-specific value of the argument; returns N...
 
*string getSqlValueImpl(auto v)
returns a string for use in SQL queries representing the DB-specific value of the argument; returns N...
 
hash getColumnOperatorMapImpl()
returns the column operator map for this object
 
string getColumnSqlName(string col)
returns the column name for use in SQL strings; subclasses can return a special string in case the co...
 
bool uniqueIndexCreatesConstraintImpl()
returns True if the database automatically creates a unique constraint when a unique index is created...
 
const Sqlite3CopMap
column operator specializations for Sqlite3
Definition: Sqlite3SqlUtil.qm.dox.h:766
 
const Sqlite3TypeMap
maps sqlite3 type names to type configurations
Definition: Sqlite3SqlUtil.qm.dox.h:741
 
doSelectLimitOnlyUnlockedImpl(reference< hash< QueryInfo > > info, reference< string > sql)
processes a string for use in SQL select statements when there is a "limit" argument,...
 
AbstractSavepointHelper getSavepointHelperImpl(*string savepoint)
get DB-specific savepoint helper
 
bool supportsTablespacesImpl()
returns True if the database support tablespaces
 
AbstractDataProviderType getNumericTypeImpl(string native_type, bool nullable, *hash< auto > options)
returns the type for number / numeric columns for the database so that data conversions can be handle...
 
represents a Sqlite3-specific trigger
Definition: Sqlite3SqlUtil.qm.dox.h:365
 
softlist getDropSql(string table_name)
returns a string that can be used to drop the trigger from the database
 
softlist getRenameSql(string table_name, string new_name)
returns a string that can be used to rename the trigger in the database
 
softlist getCreateSql(string table_name, *hash< auto > opt)
returns a string that can be used to create the trigger in the database
 
constructor(string n, string n_src)
creates the object and sets its name and the trigger source
 
bool equalImpl(AbstractFunctionBase t)
returns True if the argument is equal to the current object, False if not
 
represents a Sqlite3 view
Definition: Sqlite3SqlUtil.qm.dox.h:392
 
constructor(string name, string src)
creates the object from the arguments
 
softlist getRenameSql(string new_name, *hash< auto > opt)
returns a string that can be used to rename the view in the database
 
string getCreateSql(*hash< auto > opt)
returns a string that can be used to create the view in the database
 
the Sqlite3SqlUtil namespace contains all the objects in the Sqlite3SqlUtil module
Definition: Sqlite3SqlUtil.qm.dox.h:129
 
Sqlite3Table get_table(AbstractDatasource nds, string nname, *hash< auto > opts)
returns a Sqlite3Table object corresponding to the arguments
 
Sqlite3Database get_database(AbstractDatasource nds, *hash< auto > opts)
returns a Sqlite3Database object corresponding to the arguments