Qore DataProvider Module Reference 2.7.5
Loading...
Searching...
No Matches
DataProvider::DataProviderBulkRecordIterator Class Reference

Defines the standard record iterator for bulk record iterators. More...

#include <DataProviderBulkRecordIterator.qc.dox.h>

Inheritance diagram for DataProvider::DataProviderBulkRecordIterator:
[legend]

Public Member Methods

 constructor (AbstractDataProviderBulkRecordInterface bulk)
 Creates the object.
 
*AbstractDataProviderBulkRecordInterface getBulkApi ()
 Returns the bulk data interface. More...
 
*hash< string, AbstractDataFieldgetRecordType ()
 Returns the record description, if available. More...
 
hash< auto > getValue ()
 Retrieves the next record if the iterator is valid. More...
 
bool next ()
 Moves the current position to the next element; returns False if there are no more elements. More...
 
bool supportsBulkApi ()
 Returns True as the iterator supports bulk operation. More...
 
bool valid ()
 returns True if the iterator is currently pointing at a valid element, False if not More...
 
- Public Member Methods inherited from DataProvider::AbstractDataProviderRecordIterator
*AbstractDataProviderBulkRecordInterface getBulkApi ()
 Returns the bulk data interface if supported. More...
 
*hash< string, AbstractDataFieldgetRecordType ()
 Returns the record description, if available. More...
 
abstract hash< auto > getValue ()
 returns a single record if the iterator is valid More...
 
bool supportsBulkApi ()
 Returns True if the iterator supports bulk operation. More...
 

Private Attributes

AbstractDataProviderBulkRecordInterface bulk
 The bulk iterator object.
 
HashListIterator i
 The current iterator for the current block.
 
bool valid = True
 Valid flag.
 

Additional Inherited Members

- Private Member Methods inherited from DataProvider::AbstractDataProviderRecordIterator
auto doMemberGate (string key)
 Returns the value of the given field in the current record, if the iterator is valid. More...
 
- Static Private Member Methods inherited from DataProvider::AbstractDataProviderRecordIterator
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. More...
 
static bool matchGeneric (hash< auto > record, hash< DataProviderExpression > where_cond)
 Checks if the current record matches the search criteria. More...
 
static bool matchGenericValue (auto expects, auto val)
 Match a single value. More...
 

Detailed Description

Defines the standard record iterator for bulk record iterators.

Member Function Documentation

◆ getBulkApi()

*AbstractDataProviderBulkRecordInterface DataProvider::DataProviderBulkRecordIterator::getBulkApi ( )

Returns the bulk data interface.

Returns
the bulk data interface

◆ getRecordType()

*hash< string, AbstractDataField > DataProvider::DataProviderBulkRecordIterator::getRecordType ( )

Returns the record description, if available.

Returns
the record type of the bulk iterator

◆ getValue()

hash< auto > DataProvider::DataProviderBulkRecordIterator::getValue ( )
virtual

Retrieves the next record if the iterator is valid.

Returns
the next record if the iterator is valid
Exceptions
INVALID-ITERATORthe iterator is not pointing at a valid element

Implements DataProvider::AbstractDataProviderRecordIterator.

◆ next()

bool DataProvider::DataProviderBulkRecordIterator::next ( )

Moves the current position to the next element; returns False if there are no more elements.

Once this method returns False, it will always return False, as the underlying bulk record iterator cannot be reset.

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)
Example:
while (i.next()) {
printf(" + %y\n", i.getValue());
}

◆ supportsBulkApi()

bool DataProvider::DataProviderBulkRecordIterator::supportsBulkApi ( )

Returns True as the iterator supports bulk operation.

Returns
True as the iterator supports bulk operation

◆ valid()

bool DataProvider::DataProviderBulkRecordIterator::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