Qore OracleSqlUtil Module Reference  1.4
OracleSqlUtil::OracleTable Class Reference

represents an Oracle table More...

Inheritance diagram for OracleSqlUtil::OracleTable:

Public Member Methods

bool bindEmptyStringsAsNull ()
 returns True because Oracle treats empty strings like NULL on insert More...
 
string getBaseType ()
 returns the base type of the underlying object (either "table" or "view") More...
 
code getBulkUpsertClosure (hash example_row, int upsert_strategy=AbstractTable::UpsertAuto, *hash opt)
 Oracle always supports bulk merging.
 
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 getComment ()
 returns any table comment or NOTHING if none is known
 
string getSchemaName ()
 returns the schema name
 
string getSqlName ()
 returns the schema and table name in dot notation
 
*string getTablespaceName ()
 returns the data tablespace name for the table if any or NOTHING if none is known
 
code getUpsertClosure (hash< auto > row, int upsert_strategy=UpsertAuto, *hash 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 Oracle merge statement is returned
 
bool hasArrayBind ()
 returns True because the oracle driver supports array binds / bulk DML operations
 
bool isView ()
 This method can change itself or disappear in the near future. Do not use it.
 

Public Attributes

const OracleConstraintOptions = ...
 Oracle-specific constraint options. More...
 
const OracleCopMap = ...
 column operator specializations for Oracle
 
const OracleIndexOptions = ...
 Oracle-specific index options. More...
 
const OracleIopMap = ...
 a hash of default value operator descriptions for Oracle
 
const OracleOpMap = ...
 where operator specializations for Oracle
 
const OraclePseudoColumnHash = ...
 a hash of valid pseudocolumns
 
const OracleSelectOptions = ...
 Oracle select options. More...
 
const OracleTableCreationOptions = ...
 Oracle table creation options.
 
const OracleTruncDate = ...
 Map SqlUtil::cop_trunc_date() constants to Oracle internal masks.
 
const OracleUopMap = ...
 a hash of default update operator definitions for Oracle
 
const OraColumnDescOptions = AbstractTable::ColumnDescOptions + OraColumnOpts
 Oracle-specific column options. More...
 
const OraColumnOptions = AbstractTable::ColumnOptions + OraColumnOpts
 Oracle-specific column options. More...
 
const OraTypeMap = ...
 maps oracle type names to type descriptions
 
const QoreTypeMap = ...
 maps qore type names to an oracle type
 

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< 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
 
hash< auto > getColumnOperatorMapImpl ()
 returns the column operator map for this object
 
hash< auto > 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< auto > getPseudoColumnHash ()
 returns a hash of valid pseudocolumns
 
hash< auto > getRawUpdateOperatorMap ()
 returns the raw (default) update operator map for this object
 
AbstractSavepointHelper getSavepointHelperImpl (*string savepoint)
 get DB-specific savepoint helper More...
 
hash< auto > getSelectOptions ()
 override in subclasses to return driver-specific options
 
*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
 
code getUpsertInsertOnly (Columns cols, hash< auto > row, *hash opt)
 high-performance "insert only" upsert supporting bulk DML
 
code getUpsertUpdateOnly (Columns cols, hash< auto > row, *hash opt)
 high-performance "update only" upsert supporting bulk DML
 
hash< auto > getWhereOperatorMap ()
 returns the "where" operator map for this object
 
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)
 

Detailed Description

represents an Oracle table

this is the specialization of SqlUtil::AbstractTable

Member Function Documentation

◆ bindEmptyStringsAsNull()

bool OracleSqlUtil::OracleTable::bindEmptyStringsAsNull ( )

returns True because Oracle treats empty strings like NULL on insert

Since
OracleSqlUtil 1.2

◆ getBaseType()

string OracleSqlUtil::OracleTable::getBaseType ( )

returns the base type of the underlying object (either "table" or "view")

Since
OracleSqlUtil 1.2

◆ getSavepointHelperImpl()

AbstractSavepointHelper OracleSqlUtil::OracleTable::getSavepointHelperImpl ( *string  savepoint)
privatevirtual

get DB-specific savepoint helper

Parameters
savepointthe savepoint string, if not given a unique savepoint string will be generated
Since
SqlUtil 1.6

Implements SqlUtil::AbstractTable.

Member Data Documentation

◆ OracleConstraintOptions

const OracleSqlUtil::OracleTable::OracleConstraintOptions = ...

Oracle-specific constraint options.

this constant extends OracleIndexOptions as returned by OracleSqlUtil::OracleTable::getConstraintOptions() with the following keys:

  • index: adds "using index <indexname>" to the constraint creation string

◆ OracleIndexOptions

const OracleSqlUtil::OracleTable::OracleIndexOptions = ...

Oracle-specific index options.

this constant extends SqlUtil::AbstractTable::IndexOptions as returned by OracleSqlUtil::OracleTable::getIndexOptions() with the following keys:

  • compute_statistics: adds "compute statistics" to index creation strings

◆ OracleSelectOptions

const OracleSqlUtil::OracleTable::OracleSelectOptions = ...

Oracle select options.

This constant extends SqlUtil::AbstractTable::SelectOptions with the following options as returned by OracleSqlUtil::OracleTable::getSelectOptions():

◆ OraColumnDescOptions

const OracleSqlUtil::OracleTable::OraColumnDescOptions = AbstractTable::ColumnDescOptions + OraColumnOpts

Oracle-specific column options.

this constant extends SqlUtil::AbstractTable::ColumnDescOptions as returned by OracleSqlUtil::OracleTable::getColumnDescOptions() with the following keys:

  • character_semantics: to specify that applicable character columns use character semantics in the column definition

◆ OraColumnOptions

const OracleSqlUtil::OracleTable::OraColumnOptions = AbstractTable::ColumnOptions + OraColumnOpts

Oracle-specific column options.

this constant extends SqlUtil::AbstractTable::ColumnOptions as returned by OracleSqlUtil::OracleTable::getColumnOptions() with the following keys:

  • character_semantics: adds "char" to the column type name for applicable character columns to use character semantics for the column