Loading...
Searching...
No Matches
ElasticSearchDataProvider::ElasticSearchRecordIterator Class Reference

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

`#include <ElasticSearchRecordIterator.qc.dox.h>`

## Public Member Functions

| constructor (RestClient::RestClient rest, string name, hash< auto > index, hash< string, DataProvider::AbstractDataField > record_type, *hash< auto > where_cond, *hash< auto > search_options)
| creates the iterator
*hash< string, DataProvider::AbstractDataField > | getRecordType ()
| Returns the record description, if available.
hash< auto > | getValue ()
| Returns a single record if the iterator is valid.
*hash< auto > | makeQuery (*hash< auto > where_cond, *hash< auto > search_options)
| Returns the query body.
auto | memberGate (string key)
| Returns the value of the given field in the current row, if the iterator is valid.
bool | next ()
| Increments the row pointer when retrieving rows from a select statement.
bool | valid ()
| Returns True if the iterator is valid.

## Private Attributes

Qore::ListHashIterator | i
| record iterator
hash< auto > | index
| Index hash.
const | MatchOptions = ("operator",)
| Query match options.
string | name
| current index name
hash< string, DataProvider::AbstractDataField > | record_type
| The record type for the object.
RestClient::RestClient | rest
| The REST client object for API calls.

## Detailed Description

Defines the record iterator class for Table-based iterators.

## Member Function Documentation

## constructor()

ElasticSearchDataProvider::ElasticSearchRecordIterator::constructor | ( | RestClient::RestClient | rest,
|  | string | name,
|  | hash< auto > | index,
|  | hash< string, DataProvider::AbstractDataField > | record_type,
|  | *hash< auto > | where_cond,
|  | *hash< auto > | search_options )

creates the iterator

Parameters

  rest | the REST client connection
  name | the name of the index
  index | the index definition hash
  record_type | record type information
  where_cond | the where clause for the query, if any
  search_options | search options; assumed to have already been processed for validity before this call

## getRecordType()

*hash< string, DataProvider::AbstractDataField > ElasticSearchDataProvider::ElasticSearchRecordIterator::getRecordType | ( |  | ) |

Returns the record description, if available.

Returns
  the record type of the iterator

## getValue()

hash< auto > ElasticSearchDataProvider::ElasticSearchRecordIterator::getValue | ( |  | ) |

Returns a single record if the iterator is valid.

Exceptions

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

## memberGate()

auto ElasticSearchDataProvider::ElasticSearchRecordIterator::memberGate | ( | string | key | ) |

Returns the value of the given field in the current row, if the iterator is valid.

Parameters

  key | the name of the field

Returns
  the value of the given field in the current row, if the iterator is valid

Exceptions

  FIELD-ERROR | invalid or unknown field name

## next()

bool ElasticSearchDataProvider::ElasticSearchRecordIterator::next | ( |  | ) |

Increments the row pointer when retrieving rows from a select statement.

Returns
  True if there is a row to retrieve, False if not (no more rows to be retrieved)

Note
  Exceptions could be thrown by the DBI driver when the statement is executed; see the relevant DBI driver docs for more information

## valid()

bool ElasticSearchDataProvider::ElasticSearchRecordIterator::valid | ( |  | ) |

Returns True if the iterator is valid.

Returns
  True if the iterator is valid