Loading...
Searching...
No Matches
MssqlSqlUtilBase::MssqlTable Class Reference

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

Inheritance diagram for MssqlSqlUtilBase::MssqlTable:
[legend]

## Public Member Functions

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
hash< auto > | getExpressionMap ()
| Returns the expression map for Mssql.
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)
__7_ string | getTablespaceName ()
| returns the data filegroup name for the table or NOTHING if none is known
code | getUpsertClosure (hash< auto > row, int upsert_strategy=UpsertAuto, __7_ hash opt)
| returns a closure for performing upserts
hash< auto > | getWhereOperatorMap ()
| returns the "where" operator map for Mssql
bool | hasArrayBind ()
| returns False because the Mssql driver does not support array binds / bulk DML operations

## Public Attributes

bool | is_sybase
| sybase flag
const | MsQoreTypeMap
| maps qore type names to MS SQL Server type names
const | MssqlCopMap = ...
| column operator specializations for Mssql
const | MssqlExpressionMap
| Mssql Expression map.
const | MssqlIopMap = ...
| a hash of default value operator descriptions for Mssql
const | MssqlOpMap
| where operator specializations for Mssql
const | MssqlSelectOptions = ...
| select options supported by MssqlSqlUtilBase
const | MsSqlServerTableHints = ...
| query hints
const | MssqlTableDescriptionHashOptions = AbstractTable::TableDescriptionHashOptions
| equal to SqlUtil::AbstractTable::TableDescriptionHashOptions
const | MssqlTruncDate = ...
| Map SqlUtil::cop_trunc_date() constants to Mssql internal masks.
const | MssqlTypeMap = ...
| maps postgresql type names to type configurations
const | MssqlUopMap = ...
| a hash of default update operator definitions for Mssql
const | QoreTypeMap = ...
| maps qore type names to DB type names
bool | ss_has_merge = False
| "has merge" flag for SQL server
bool | ss_has_sequences = False
| "has sequences" flag for SQL server
const | SybaseQoreTypeMap
| maps qore type names to Sybase/SAP type names

## Protected Member Functions

| clearImpl ()
| clears Mssql-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 with "limit" but no "orderby" or "offset"
| 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
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 (__7_ 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, __7_ 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 (__7_ string savepoint)
| get DB-specific savepoint helper
hash | getSelectOptions ()
| returns the select options for this driver
__7_ string | getSqlValueImpl (auto v)
| returns a string for use in SQL queries representing the DB-specific value of the argument
bool | isDuplicateRowErrorImpl (hash< ExceptionInfo > ex)
| Returns True if the exception was raised because of a duplicate row / key error.
bool | supportsTablespacesImpl ()
| returns True if the database support tablespaces
auto | tryExecArgsImpl (string sql, __7_ 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, __7_ 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 with a unique index

## Protected Attributes

string | default_schema = "dbo"
| the default schema for the user
__7_ string | filegroup
| filegroup name for the table, if known
string | schema
| schema name for the table
Functions | triggerFunctions
| contains any trigger functions supporting triggers on the table

## Detailed Description

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

## Member Function Documentation

## getSavepointHelperImpl()

AbstractSavepointHelper MssqlSqlUtilBase::MssqlTable::getSavepointHelperImpl | ( | __7_ string | savepoint | ) |

protectedvirtual

get DB-specific savepoint helper

Parameters

  savepoint | the savepoint string, if not given a unique savepoint string will be generated

Since
  SqlUtil 1.6

Implements SqlUtil::AbstractTable.

## getSqlValueImpl()

__7_ string MssqlSqlUtilBase::MssqlTable::getSqlValueImpl | ( | auto | v | ) |

protectedvirtual

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.

## getUpsertClosure()

code MssqlSqlUtilBase::MssqlTable::getUpsertClosure | ( | hash< auto > | row,
|  | int | upsert_strategy = `UpsertAuto`,
|  | __7_ hash | opt
| ) |  |

returns a closure for performing upserts

if the underlying dataserver supports an optimized `MERGE` statement (Microsoft SQL Server 2008+), the upsert_strategy argument is ignored and a closure using a merge statement is returned, otherwise the standard upsert closure is returned according to SqlUtil::AbstractTable::getUpsertClosure()

## isDuplicateRowErrorImpl()

bool MssqlSqlUtilBase::MssqlTable::isDuplicateRowErrorImpl | ( | hash< ExceptionInfo > | ex | ) |

protectedvirtual

Returns True if the exception was raised because of a duplicate row / key error.

Since
  MssqlSqlUtilBase 1.4.1

Implements SqlUtil::AbstractTable.