Qore MysqlSqlUtil Module Reference
1.5
|
provides the MySQL-specific implementation of the AbstractTable interface More...
Public Member Methods | |
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 | |
string | getColumnSqlName (string col) |
returns the column name for use in SQL strings; subclasses can return a special string in case the column name is a reserved word More... | |
list | getColumnSqlNames (softlist cols) |
returns a list of column names for use in SQL strings; subclasses can process the argument list in case a column name is a reserved word | |
hash< auto > | getExpressionMap () |
Returns the expression map for MySQL. | |
string | getSqlName () |
returns the name of the table to be used in SQL (with a possible qualifiers for schema, etc) | |
hash< auto > | getWhereOperatorMap () |
returns the "where" operator map for MySQL | |
bool | hasArrayBind () |
returns False because the mysql driver does not support array binds / bulk DML operations | |
bool | hasReturningImpl () |
returns True if the current driver supports the "returning" clause in insert statements | |
Static Public Member Methods | |
static *string | getSqlValue (auto v) |
returns a string for use in SQL queries representing the DB-specific value of the argument More... | |
Public Attributes | |
const | MysqlColumnDescOptions = ... |
extends SqlUtil::AbstractTable::ColumnDescOptions with MySQL-specific values More... | |
const | MysqlCopMap = ... |
column operator specializations for MySQL | |
const | MysqlExpressionMap |
MySQL Expression map. | |
const | MysqlOpMap |
where operator specializations for MySQL | |
const | MysqlTableDescriptionHashOptions = ... |
extends SqlUtil::AbstractTable::TableDescriptionHashOptions More... | |
const | MysqlTruncDate |
Map SqlUtil::cop_trunc_date() constants for internal masks. | |
const | MysqlTypeMap |
maps mysql type names to type configurations | |
const | QoreTypeMap = ... |
maps qore type names to MySQL type names | |
Private Member Methods | |
bool | asteriskRequiresPrefix () |
returns True if the database requires a wildcard "*" to be prefixed with the table name when it appears with other column arguments in a select statement | |
bool | constraintsLinkedToIndexesImpl () |
returns True if the database links constraints to indexes (ie dropping the constraint drops the index, etc) | |
copyImpl (AbstractTable old) | |
db-specific copy actions | |
doSelectLimitOnlyUnlockedImpl (reference< hash< QueryInfo >> info, reference< string > sql) | |
processes a string for use in SQL select statements when there is a "limit" argument, but no "orderby" or "offset" arguments | |
hash | getColumnOperatorMapImpl () |
returns the column operator map for this object | |
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 handled properly | |
AbstractSavepointHelper | getSavepointHelperImpl (*string savepoint) |
get DB-specific savepoint helper More... | |
*string | getSqlValueImpl (auto v) |
returns a string for use in SQL queries representing the DB-specific value of the argument; returns NOTHING if the type cannot be converted to an SQL string | |
bool | isDuplicateRowErrorImpl (hash< ExceptionInfo > ex) |
Returns True if the exception was raised because of a duplicate row / key error. More... | |
bool | supportsTablespacesImpl () |
returns True if the database support tablespaces | |
bool | uniqueIndexCreatesConstraintImpl () |
returns True if the database automatically creates a unique constraint when a unique index is created (ex: mysql) | |
Static Private Member Methods | |
static *string | getSqlValueIntern (auto v) |
returns a string for use in SQL queries representing the DB-specific value of the argument; returns NOTHING if the type cannot be converted to an SQL string | |
provides the MySQL-specific implementation of the AbstractTable interface
returns the column name for use in SQL strings; subclasses can return a special string in case the column name is a reserved word
MySQL/MariaDB etc require column names to be enclosed in backticks instead of double quotes
|
privatevirtual |
get DB-specific savepoint helper
savepoint | the savepoint string, if not given a unique savepoint string will be generated |
Implements SqlUtil::AbstractTable.
|
static |
returns a string for use in SQL queries representing the DB-specific value of the argument
v | the value to convert to an SQL value |
VALUE-ERROR | the given value cannot be converted to an SQL string (missing rules for value) |
|
privatevirtual |
Returns True if the exception was raised because of a duplicate row / key error.
Implements SqlUtil::AbstractTable.
const MysqlSqlUtil::MysqlTable::MysqlColumnDescOptions = ... |
extends SqlUtil::AbstractTable::ColumnDescOptions with MySQL-specific values
the new keys are as follows:
"unsigned"
: only valid with numeric/integer/floating-point types"auto_increment"
: only valid with integer/floating-point types"pk"
: only valid with "auto_increment"
const MysqlSqlUtil::MysqlTable::MysqlTableDescriptionHashOptions = ... |
extends SqlUtil::AbstractTable::TableDescriptionHashOptions
the following options are added:
"engine"
: for the DB engine behind the table (default: innodb
)"collation"
: for the table collation (if not set, any "collation"
option set in the datasource is used for the table collation)"table_encoding"
: the "character set" value for "create table" DDL statements (if not set, the DB encoding value used for the datasource will be used)