base class for bulk DML operations
Definition: AbstractBulkOperation.qc.dox.h:85
Qore::SQL::AbstractDatasource getDatasource()
returns the AbstractDatasource object associated with this object
int row_count
row count
Definition: AbstractBulkOperation.qc.dox.h:116
flushIntern()
flushes queued data to the database
int size()
returns the current size of the cache as a number of rows
softint block_size
bulk operation block size
Definition: AbstractBulkOperation.qc.dox.h:101
setupInitialRowColumns(hash row)
sets up the block buffer given the initial template hash of lists for inserting
constructor(string name, SqlUtil::AbstractTable target, *hash opts)
creates the object from the supplied arguments
list cval_keys
"constant" row value keys
Definition: AbstractBulkOperation.qc.dox.h:110
queueData(hash data)
queues row data in the block buffer; the block buffer is flushed to the DB if the buffer size reaches...
init(*hash opts)
common constructor initialization
queueData(list l)
queues row data in the block buffer; the block buffer is flushed to the DB if the buffer size reaches...
const OptionDefaults
default option values
Definition: AbstractBulkOperation.qc.dox.h:93
list ret_args
list of "returning" columns
Definition: AbstractBulkOperation.qc.dox.h:122
destructor()
throws an exception if there is data pending in the internal row data cache; make sure to call flush(...
flush()
flushes any remaining batched data to the database; this method should always be called before commit...
SqlUtil::AbstractTable table
the target table object
Definition: AbstractBulkOperation.qc.dox.h:98
hash cval
"constant" row values; must be equal in all calls to queueData
Definition: AbstractBulkOperation.qc.dox.h:107
const OptionKeys
option keys for this object
Definition: AbstractBulkOperation.qc.dox.h:89
string getTableName()
returns the table name
*code info_log
an optional info logging callback; must accept a sprintf()-style format specifier and optional argume...
Definition: AbstractBulkOperation.qc.dox.h:113
nothing commit()
flushes any queued data and commits the transaction
constructor(string name, SqlUtil::Table target, *hash opts)
creates the object from the supplied arguments
hash hbuf
buffer for bulk operations
Definition: AbstractBulkOperation.qc.dox.h:104
SqlUtil::AbstractTable getTable()
returns the underlying SqlUtil::AbstractTable object
int getRowCount()
returns the affected row count
nothing rollback()
discards any queued data and rolls back the transaction
abstract flushImpl()
flushes queued data to the database
string opname
operation name
Definition: AbstractBulkOperation.qc.dox.h:119
discard()
discards any buffered batched data; this method should be called before destroying the object if an e...
setupInitialRow(hash row)
sets up the block buffer given the initial template row for inserting
Qore AbstractBulkOperation class definition.
Definition: AbstractBulkOperation.qc.dox.h:34