Qore PgsqlSqlUtilBase Module Reference 1.8
|
provides the PostgreSQL-specific implementation of the SqlUtil::AbstractTable interface More...
#include <PgsqlSqlUtilBase.qm.dox.h>
Public Member Methods | |
constructor (AbstractDatasource nds, string nname, *hash opts) | |
Creates the object from the arguments. | |
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 | |
list< auto > | getColumnSqlNames (softlist< auto > cols) |
returns a list of column names for use in SQL strings More... | |
hash< auto > | getExpressionMap () |
Returns the expression map for PostgreSQL. | |
string | getSchemaName () |
returns the schema name | |
string | getSqlName () |
returns the name of the table to be used in SQL (with a possible qualifiers for schema, etc) | |
*string | getTablespaceName () |
returns the data tablespace name for the table or NOTHING if none is known | |
code | getUpsertClosure (hash< auto > row, int upsert_strategy=UpsertAuto, *hash< auto > opt) |
returns a closure for performing upserts More... | |
bool | hasArrayBind () |
returns False because the pgsql driver does not support array binds / bulk DML operations | |
bool | hasAtomicUpsert () |
Returns True if the server supports atomic upsert/merge operations. | |
Public Attributes | |
const | PgsqlCopMap |
column operator specializations for PostgreSQL | |
const | PgsqlExpressionMap |
Expression map for PostgreSQL. | |
const | PgsqlIopMap = ... |
a hash of default value operator descriptions for PostgreSQL | |
const | PgsqlNameMap = ... |
maps from verbose type names to simple type names | |
const | PgsqlTableDescriptionHashOptions = ... |
extends SqlUtil::AbstractTable::TableDescriptionHashOptions with "functions" More... | |
const | PgsqlTruncDate = ... |
Map SqlUtil::cop_trunc_date() constants to PostgreSQL internal masks. | |
const | PgsqlTypeMap = ... |
maps PostgreSQL type names to type configurations | |
const | PgsqlUopMap = ... |
a hash of default update operator definitions for PostgreSQL | |
const | QoreTypeMap = ... |
maps qore type names to PostgreSQL type names | |
Private Member Methods | |
clearImpl () | |
clears PostgreSQL-specific table information | |
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 | |
string | getCreateSqlImpl (list l) |
returns a string that can be used to create the table in the database | |
string | getCreateTableSqlImpl (*hash opt) |
returns a string that can be used to create the table in the database | |
hash | getInsertOperatorMap () |
returns the insert 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 | |
hash | getRawUpdateOperatorMap () |
returns the raw (default) update operator map for this object | |
AbstractSavepointHelper | getSavepointHelperImpl (*string savepoint) |
get DB-specific savepoint helper More... | |
getServerVersion () | |
Sets the internal PostgreSQL server version. | |
*string | getSqlValueImpl (auto v) |
returns a string for use in SQL queries representing the DB-specific value of the argument More... | |
bool | isDuplicateRowErrorImpl (hash< ExceptionInfo > ex) |
Returns True if the exception was raised because of a duplicate row / key error. More... | |
transient Mutex | pg_state () |
Lock for atomicity for setting state info. | |
bool | supportsTablespacesImpl () |
returns True if the database support tablespaces | |
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 | |
auto | tryExecRawImpl (string sql, *softlist< auto > args) |
tries to execute a command so that if an error occurs the current transaction status is not lost | |
bool | uniqueIndexCreatesConstraintImpl () |
returns True if the database automatically creates a unique constraint when a unique index is created (ex: mysql) | |
provides the PostgreSQL-specific implementation of the SqlUtil::AbstractTable interface
list< auto > PgsqlSqlUtilBase::PgsqlTable::getColumnSqlNames | ( | softlist< auto > | 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
|
privatevirtual |
get DB-specific savepoint helper
savepoint | the savepoint string, if not given a unique savepoint string will be generated |
Implements SqlUtil::AbstractTable.
|
privatevirtual |
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
Implements SqlUtil::AbstractTable.
code PgsqlSqlUtilBase::PgsqlTable::getUpsertClosure | ( | hash< auto > | row, |
int | upsert_strategy = UpsertAuto , |
||
*hash< auto > | opt | ||
) |
returns a closure for performing upserts
if the upsert_strategy argument is UpsertInsertFirst or UpsertUpdateFirst, then this argument is ignored and a closure using an atomic merge/update statement is returned if the server version is >= 9.5, for earlier versions upsert operations are not atomic
|
privatevirtual |
Returns True if the exception was raised because of a duplicate row / key error.
Implements SqlUtil::AbstractTable.
const PgsqlSqlUtilBase::PgsqlTable::PgsqlTableDescriptionHashOptions = ... |
extends SqlUtil::AbstractTable::TableDescriptionHashOptions with "functions"
for table functions required by triggers on the table