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