DbDataProvider::DbSelectBulkRecordInterface Class Reference

Defines the record iterator class for Table-based iterators. More...

Inherits AbstractDataProviderBulkRecordInterface.

## Public Member Functions

| constructor (int block_size, AbstractDatasource ds, *hash< auto > where_cond, hash< auto > select_options)
| creates the iterator More...
| destructor ()
| rolls back the transaction if a transaction lock was acquired in the constructor and keepTransactionLock() was not called
| keepTransactionLock ()
| Ensures that no rollback is performed when the object is destroyed.

## Protected Member Functions

hash< string, list< auto > > | getValueImpl ()
| Returns a hash of lists according to the block size. More...

## Private Attributes

bool | release_transaction
| release the transaction with a rollback in the destructor?
AbstractSQLStatement | stmt
| the statement being iterated

## Detailed Description

Defines the record iterator class for Table-based iterators.

## Member Function Documentation

## constructor()

DbDataProvider::DbSelectBulkRecordInterface::constructor | ( | int | block_size,
|  | AbstractDatasource | ds,
|  | *hash< auto > | where_cond,
|  | hash< auto > | select_options
| ) |  |

creates the iterator

Parameters

  block_size | the number of records in a read block; must be a positive number
  ds | the datasource to use
  where_cond | must be empty; an exception will be thrown if search conditions are passed to this constructor

  search_options

  search options; assumed to have already been processed for validity before this call; contains:
  - `sql` (required): the SQL query
  - `args` (optional): a list of bind arguments to sql

Exceptions

  DBSELECT-BULK-ERROR | where_cond must be empty

## getValueImpl()

hash<string, list<auto> > DbDataProvider::DbSelectBulkRecordInterface::getValueImpl | ( |  | ) |

protected

Returns a hash of lists according to the block size.

Exceptions

  INVALID-ITERATOR | the iterator is not pointing at a valid element

Note
  This call moves the internal record pointer forward, therefore multiple calls of this methods will return different results as long as data is available