Default record iterator class for data providers that do not support custom read / search APIs.
More...
#include <DefaultRecordIterator.qc.dox.h>
|
| constructor (AbstractIterator i, *hash< auto > where_cond, *hash< auto > search_options, *hash< string, AbstractDataField > record_type, *string subrecord) |
| Returns an iterator for zero or more records matching the search options.
|
|
*hash< string, AbstractDataField > | getRecordType () |
| Returns the record description, if available.
|
|
hash< auto > | getValue () |
| returns a single record if the iterator is valid
|
|
auto | memberGate (string key) |
| Returns the value of the given field in the current record, if the iterator is valid.
|
|
bool | next () |
| Moves the current position to the next element; returns False if there are no more elements.
|
|
bool | valid () |
| returns True if the iterator is currently pointing at a valid element, False if not
|
|
| constructor (int block_size=DefaultBlockSize) |
| Creates the object and optionally sets the bulk iteration block size.
|
|
*AbstractDataProviderBulkRecordInterface | getBulkApi () |
| Returns the bulk data interface if supported.
|
|
*hash< string, AbstractDataField > | getRecordType () |
| Returns the record description, if available.
|
|
abstract hash< auto > | getValue () |
| returns a single record if the iterator is valid
|
|
bool | supportsBulkApi () |
| Returns True if the iterator supports bulk operation.
|
|
|
const | DefaultBlockSize = 1000 |
| Default block size.
|
|
auto | doMemberGate (string key) |
| Returns the value of the given field in the current record, if the iterator is valid.
|
|
static bool | evalOperator (string field, hash< auto > cmd, hash< auto > op, hash< auto > record) |
| Evaluates a generic search operator on the field value and record and returns the result.
|
|
static bool | matchGeneric (hash< auto > record, *hash< auto > where_cond) |
| Checks if the current record matches the search criteria.
|
|
static bool | matchGeneric (hash< auto > record, hash< DataProviderExpression > where_cond) |
| Checks if the current record matches the search criteria.
|
|
static bool | matchGenericValue (auto expects, auto val) |
| Match a single value.
|
|
int | block_size = DefaultBlockSize |
| Block size for bulk iteration.
|
|
Default record iterator class for data providers that do not support custom read / search APIs.
- Note
- This class supports the
columns
, limit
, and offset
search options
◆ constructor()
DataProvider::DefaultRecordIterator::constructor |
( |
AbstractIterator |
i, |
|
|
*hash< auto > |
where_cond, |
|
|
*hash< auto > |
search_options, |
|
|
*hash< string, AbstractDataField > |
record_type, |
|
|
*string |
subrecord |
|
) |
| |
Returns an iterator for zero or more records matching the search options.
- Parameters
-
i | the iterator; must return a record hash in the getValue() method |
where_cond | the search criteria |
search_options | the search options after processing by validateSearchOptions() |
record_type | the record type |
subrecord | the optional name of a key of the record hash storing record data |
◆ getRecordType()
*hash< string, AbstractDataField > DataProvider::DefaultRecordIterator::getRecordType |
( |
| ) |
|
Returns the record description, if available.
- Returns
- the record type of the iterator
◆ getValue()
hash< auto > DataProvider::DefaultRecordIterator::getValue |
( |
| ) |
|
returns a single record if the iterator is valid
- Exceptions
-
INVALID-ITERATOR | the iterator is not pointing at a valid element |
◆ memberGate()
auto DataProvider::DefaultRecordIterator::memberGate |
( |
string |
key | ) |
|
Returns the value of the given field in the current record, if the iterator is valid.
- Parameters
-
- Returns
- the value of the given field in the current record, if the iterator is valid
- Exceptions
-
FIELD-ERROR | invalid or unknown field name |
◆ next()
bool DataProvider::DefaultRecordIterator::next |
( |
| ) |
|
Moves the current position to the next element; returns False if there are no more elements.
This method will return True again after it returns False once if the object being iterated is not empty, otherwise it will always return False. The iterator object should not be used after this method returns False
- Returns
- False if there are no more elements (in which case the iterator object is invalid and should not be used); True if successful (meaning that the iterator object is valid)
◆ valid()
bool DataProvider::DefaultRecordIterator::valid |
( |
| ) |
|
returns True if the iterator is currently pointing at a valid element, False if not
- Returns
- True if the iterator is currently pointing at a valid element, False if not