124 "block_size":
sprintf(
"the row block size used for bulk DML / batch operations; default: %y",
OptionDefaults.block_size),
125 "info_log":
"a call reference / closure for informational logging",
512 private setupStaticRowValues(reference row);
hash cval
"constant" row values; must be equal in all calls to queueData
Definition: BulkSqlUtil.qm.dox.h:146
*code info_log
an optional info logging callback; must accept a sprintf()-style format specifier and optional argume...
Definition: BulkSqlUtil.qm.dox.h:149
constructor(SqlUtil::Table target, *hash opts)
creates the object from the supplied arguments
private setupInitialRowColumns(hash row)
sets up the block buffer given the initial template hash of lists for inserting
SqlUtil::AbstractTable getTable()
returns the underlying SqlUtil::AbstractTable object
string sprintf(string fmt,...)
private flushIntern()
flushes queued data to the database
constructor(SqlUtil::Table target, *hash opts)
creates the object from the supplied arguments
Qore::SQL::AbstractDatasource getDatasource()
returns the AbstractDatasource object associated with this object
queueData(hash data)
queues row data in the block buffer; the block buffer is flushed to the DB if the buffer size reaches...
discard()
discards any buffered batched data; this method should be called before destroying the object if an e...
int row_count
row count
Definition: BulkSqlUtil.qm.dox.h:152
base class for bulk DML upsert operations
Definition: BulkSqlUtil.qm.dox.h:575
private flushImpl()
inserts internally-queued queued data in the database wuith bulk DML operations
const OptionKeys
option keys for this object
Definition: BulkSqlUtil.qm.dox.h:123
the BulkSqlUtil namespace contains all the definitions in the BulkSqlUtil module
Definition: BulkSqlUtil.qm.dox.h:67
private setupInitialRow(hash row)
sets up the block buffer given the initial template row for inserting
string getTableName()
returns the table name
hash static_ret_expr
hash of "returning" arguments
Definition: BulkSqlUtil.qm.dox.h:443
setRowCode(*code rowc)
sets a closure or call reference that will be called when data has been sent to the database and all ...
private setupInitialRow(hash row)
sets up support for "returning" insert options for any possible rowcode member
SQLStatement stmt
statement for DML
Definition: BulkSqlUtil.qm.dox.h:437
base class for bulk DML insert operations
Definition: BulkSqlUtil.qm.dox.h:432
nothing rollback()
discards any queued data and rolls back the transaction
constructor(string name, SqlUtil::Table target, *hash opts)
creates the object from the supplied arguments
int getRowCount()
returns the affected row count
string opname
operation name
Definition: BulkSqlUtil.qm.dox.h:155
private init(*hash opts)
common constructor initialization
nothing commit()
flushes any queued data and commits the transaction
private init(*hash opts)
common constructor initialization
private flushImpl()
executes bulk DML upserts in the database with internally queued data
SqlUtil::AbstractTable table
the target table object
Definition: BulkSqlUtil.qm.dox.h:137
*code rowcode
per-row Closures or Call References for inserts
Definition: BulkSqlUtil.qm.dox.h:440
private setupInitialRowColumns(hash row)
sets up the block buffer given the initial template hash of lists for inserting
destructor()
throws an exception if there is data pending in the internal row data cache; make sure to call flush(...
const OptionDefaults
default option values
Definition: BulkSqlUtil.qm.dox.h:129
abstract private flushImpl()
flushes queued data to the database
flush()
flushes any remaining batched data to the database; this method should always be called before commit...
base class for bulk DML operations
Definition: BulkSqlUtil.qm.dox.h:118
private init(*hash opts)
common constructor initialization
list ret_args
list of "returning" columns
Definition: BulkSqlUtil.qm.dox.h:158
hash hbuf
buffer for bulk operations
Definition: BulkSqlUtil.qm.dox.h:143
softint block_size
bulk operation block size
Definition: BulkSqlUtil.qm.dox.h:140