|
| | constructor (SqlUtil::AbstractTable target, hash< auto > mapv={}, *hash< auto > opts) |
| | builds the object based on an optional hash providing field mappings, data constraints, and optionally custom mapping logic
|
| |
| | constructor (SqlUtil::Table target, hash< auto > mapv={}, *hash< auto > opts) |
| | builds the object based on an optional hash providing field mappings, data constraints, and optionally custom mapping logic
|
| |
|
nothing | commit () |
| | flushes any queued data and commits the transaction
|
| |
| | constructor (SqlUtil::AbstractTable target, hash< auto > mapv, *hash< auto > opts) |
| | builds the object based on a hash providing field mappings, data constraints, and optionally custom mapping logic
|
| |
| | constructor (SqlUtil::Table target, hash< auto > mapv, *hash< auto > opts) |
| | builds the object based on a hash providing field mappings, data constraints, and optionally custom mapping logic
|
| |
| | destructor () |
| | throws an exception if there is data pending in the block cache
|
| |
| | discard () |
| | discards any buffered batched data; this method should be called after using the batch APIs (queueData()) and an error occurs
|
| |
| *hash< auto > | flush () |
| | flushes any remaining batched data to the database; this method should always be called before committing the transaction or destroying the object
|
| |
|
Qore::SQL::AbstractDatasource | getDatasource () |
| | returns the AbstractDatasource object associated with this object
|
| |
|
*list< hash< auto > > | getReturning () |
| | returns a list argument for the SqlUtil "returning" option, if applicable
|
| |
|
SqlUtil::AbstractTable | getTable () |
| | returns the underlying SqlUtil::AbstractTable object
|
| |
|
string | getTableName () |
| | returns the table name
|
| |
|
hash< string, hash< MapperOptionInfo > > | getUserOptions () |
| | returns mapper options useful for users
|
| |
| hash< auto > | insertRow (hash< auto > rec) |
| | inserts or upserts a row into the target table based on a mapped input record; does not commit the transaction
|
| |
|
deprecated hash< auto > | insertRowNoCommit (hash< auto > rec) |
| | Plain alias to insertRow(). Obsolete. Do not use.
|
| |
| TableMapper::InboundTableMapperIterator | iterator (Qore::AbstractIterator i) |
| | returns an iterator for the current object
|
| |
|
| logOutput (hash< auto > h) |
| | ignore logging from Mapper since we may have to log sequence values; output logged manually in insertRow()
|
| |
| hash< auto > | optionKeys () |
| | returns a list of valid constructor options for this class (can be overridden in subclasses)
|
| |
| *hash< auto > | queueData (hash< auto > rec, *hash< auto > crec) |
| | inserts/upserts a row (or a set of rows, in case a hash of lists is passed) into the block buffer based on a mapped input record; the block buffer is flushed to the DB if the buffer size reaches the limit defined by the "insert_block" option; does not commit the transaction
|
| |
| *hash< auto > | queueData (list< auto > l, *hash< auto > crec) |
| | inserts/upserts a set of rows (list of hashes representing input records) into the block buffer based on a mapped input record; the block buffer is flushed to the DB if the buffer size reaches the limit defined by the "insert_block" option; does not commit the transaction
|
| |
| *hash< auto > | queueData (Qore::AbstractIterator iter, *hash< auto > crec) |
| | inserts/upserts a set of rows (from an iterator that returns hashes as values where each hash value represents an input record) into the block buffer based on a mapped input record; the block buffer is flushed to the DB if the buffer size reaches the limit defined by the "insert_block" option; does not commit the transaction
|
| |
|
nothing | rollback () |
| | discards any queued data and rolls back the transaction
|
| |
| | setRowCode (*code rowc) |
| | sets a closure or call reference that will be called when data has been sent to the database and all output data is available; must accept a hash argument that represents the data written to the database including any output arguments. This code will be reset, once the transaction is commited.
|
| |
| hash< string, bool > | validKeys () |
| | returns a list of valid field keys for this class (can be overridden in subclasses)
|
| |
|
|
hash< string, AbstractDataField > | getInputRecord (SqlUtil::AbstractTable table, *hash< auto > opts) |
| | returns a description of the input record based on the AbstractTable source
|
| |
|
| init (hash< auto > mapv, *hash< auto > opts) |
| | common constructor initialization
|
| |
| | checkMapField (string k, reference< auto > fh) |
| | perform per-field pre-processing on the passed map in the constructor
|
| |
|
| error (string fmt,...) |
| | prepends the datasource description to the error string and calls Mapper::error()
|
| |
|
| error2 (string ex, string fmt,...) |
| | prepends the datasource description to the error description and calls Mapper::error2()
|
| |
| *hash< auto > | flushIntern (bool force_flush) |
| |
|
| init (hash< auto > mapv, *hash< auto > opts) |
| | common constructor initialization
|
| |
| bool | isMapperConstant () |
| |
|
auto | mapFieldType (string key, hash< auto > mapping, AbstractDataProviderType type, auto value, hash< auto > rec) |
| | performs type handling
|
| |
| *hash< auto > | queueDataIntern (hash< auto > rec) |
| | inserts a row into the block buffer based on a mapped input record; does not commit the transaction
|
| |
| hash | record2Batch (hash h) |
| |
|
| static deprecated nothing | addBatchToBatch (reference< hash > hb, reference x1, hash batch, *reference x2) |
| | adds a batch (hash of lists) to another batch (in-place)
|
| |
| static nothing | addBatchToBatch (reference< hash< auto > > hb, hash< auto > batch) |
| |
|
static *hash< string, AbstractDataField > | getOutputRecord (string mapper_name, AbstractTable table, *hash< auto > opts, *hash< SqlUtilDataTypeOptionInfo > field_opts, *hash< auto > mapv) |
| | returns a description of the output record based on the AbstractTable target
|
| |
|
const | OptionDefaults = ... |
| | default option values
|
| |
|
const | OptionKeys = ... |
| | option keys for this object
|
| |
|
const | UserOptions = ... |
| | User options.
|
| |
|
SqlUtil::AbstractDatabase | db |
| | the target Database object in case sequence value need to be acquired
|
| |
|
bool | has_returning |
| | if the AbstractTable object supports the "returning" clause
|
| |
|
hash | hbuf |
| | buffer for bulk DML
|
| |
|
*int | hbuf_size |
| | size of the batch in hbuf as if returned from getRecListSize()
|
| |
|
int | insert_block |
| | bulk DML block size (also valid for upserts despite the name)
|
| |
|
list | out_args = () |
| | extra arguments for sequence output binds
|
| |
|
list | ret_args = () |
| | "returning" arguments for sequences
|
| |
|
*code | rowcode |
| | per-row closure or call_reference for batch inserts/upserts
|
| |
|
Qore::SQL::AbstractSQLStatement | stmt |
| | statement for inserts/upserts
|
| |
|
SqlUtil::AbstractTable | table |
| | the target table object
|
| |
|
bool | unstable_input = False |
| | "unstable input" option for non-optimized inserts/upserts (~33% performance reduction in insert/upsert speed)
|
| |
|
bool | upsert = False |
| | upsert flag
|
| |
|
*code | upsert_code |
| | closure used for upserting
|
| |
|
*int | upsert_strategy |
| | upsert strategy option
|
| |
maps from source to target tables with exactly the same structure