Qore PgsqlSqlUtil Module Reference  1.3.1
PgsqlSqlUtil::PgsqlTable Class Reference

provides the PostgreSQL-specific implementation of the SqlUtil::AbstractTable interface More...

Inheritance diagram for PgsqlSqlUtil::PgsqlTable:

Public Member Methods

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 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
 
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
 
bool hasArrayBind ()
 returns False because the pgsql driver does not support array binds / bulk DML operations
 

Public Attributes

const PgsqlCopMap
 column operator specializations 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" for table functions required by triggers on the table
 
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< string > sql, reference< list > args, *hash qh)
 processes a string for use in SQL select statements when there is a "limit" argument, but no "orderby" or "offset" arguments
 
 doSelectOrderByWithOffsetSqlUnlockedImpl (reference< string > sql, reference< list > args, *hash qh, *hash jch, *hash ch, *hash psch, list coll)
 processes a string for use in SQL select statements when there is an "order by" and "offset" argument
 
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
 
hash getRawUpdateOperatorMap ()
 returns the raw (default) update operator map for this object
 
*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 supportsTablespacesImpl ()
 returns True if the database support tablespaces
 
auto tryExecArgsImpl (string sql, *softlist args)
 tries to execute a command so that if an error occurs the current transaction status is not lost
 
auto tryExecRawImpl (string sql, *softlist 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)
 

Private Attributes

string schema
 schema name for the table
 
*string tablespace
 tablespace name for the table, if known
 
Functions triggerFunctions
 contains any trigger functions supporting triggers on the table
 

Detailed Description

provides the PostgreSQL-specific implementation of the SqlUtil::AbstractTable interface