| Qore DbDataProvider Module Reference 2.2

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
DbDataProvider::DbDataProvider Class Reference

The database data provider class, provides tables as children. More...

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

Inheritance diagram for DbDataProvider::DbDataProvider:
[legend]

## Public Member Functions
| constructor (*hash< auto > options)
| Creates the object from constructor options.
| constructor (AbstractDatabase db)
| creates the object
| constructor (AbstractDatasource ds, *hash< auto > opts)
| creates the object
*list< hash< DataProviderSummaryInfo > > | getChildProviderSummaryInfo ()
| Return data provider summary info.
*string | getDesc ()
| Returns the data provider description.
string | getName ()
| Returns the data provider name.
Public Member Functions inherited from DbDataProvider::DbDataProviderBase
| beginTransaction ()
| Begins a transaction in the datasource.
| commit ()
| Commits any transaction in progress in the datasource.
| constructor (*LoggerInterface logger)
| Creates the object with the given logger.
| constructor (AbstractDatabase db, *LoggerInterface logger)
| creates the object
| constructor (AbstractDatasource ds, *hash< auto > opts, *LoggerInterface logger)
| creates the object
| constructor (hash< auto > options, *LoggerInterface logger)
| Creates the object from constructor options.
int | doSequenceCurrvalKey (string sequence_name, hash< auto > ctx, *reference< bool > missing_input)
| Processes the `sequence_currval` runtime key in mappers as a mapper key handler.
int | doSequenceKey (string sequence_name, hash< auto > ctx, *reference< bool > missing_input)
| Processes the `sequence` runtime key in mappers as a mapper key handler.
*hash< string, hash< MapperRuntimeKeyInfo > > | getMapperRuntimeKeys ()
| Returns custom data mapper runtime keys.
hash< auto > | makeTableDesc (string name, hash< string, AbstractDataField > fields, *hash< auto > opts)
| Returns a table description hash from a field description.
bool | requiresTransactionManagement ()
| Returns True if the data provider supports transaction management.
| rollback ()
| Rolls back any transaction in progress in the datasource.

## Static Public Member Functions
static *hash< string, AbstractDataField > | getRecordTypeFromDescribeHash (hash< auto > describe_hash)
| Returns the record type description from a describe hash.
Static Public Member Functions inherited from DbDataProvider::DbDataProviderBase
static hash< GenericColumnInfo > | getColumnDesc (AbstractDatabase db, AbstractDataField field, *hash< auto > opts)
| Returns a column description hash for a field.
static AbstractDatasource | getDatasource (AbstractDatasource ds)
| Returns the given AbstractDatasource object.
static AbstractDatasource | getDatasource (string ds_string)
| Returns an AbstractDatasource object from the given string.
static AbstractTable | getTable (AbstractDatasource ds, string table_string)
| Returns an AbstractTable object from the given datasource and table arguments.
static AbstractTable | getTable (string ds_string, string table_string)
| Returns an AbstractTable object from the given datasource and table strings.
static | setDatasourceLookup (code datasource_lookup)
| Sets the datasource lookup.
static | setTableLookup (code table_lookup)
| Sets the table lookup.

## Public Attributes
const | ChildCreateOptions = ...
| Child provider creation options.
const | ConstructorOptions = ...
| Constructor options.
const | ProviderInfo = ...
| Provider info.
const | SearchOptions = ...
| Search options.

## Protected Member Functions
AbstractDataProvider | createChildProviderImpl (string name, hash< string, AbstractDataField > fields, *hash< auto > child_create_options)
| Creates a new child data provider and returns it after adding as a child.
| deleteChildProviderImpl (string name, *hash< auto > child_delete_options)
| Deletes a child data provider.
*AbstractDataProvider | getChildProviderImpl (string name)
| Returns the given child provider or NOTHING if the given child is unknown.
*list< string > | getChildProviderNamesImpl ()
| Returns a list of child data provider names, if any.
*hash< string, AbstractDataField > | getRecordTypeImpl (*hash< auto > search_options)
| Returns the description of the record type, if any.
hash< DataProviderInfo > | getStaticInfoImpl ()
| Returns data provider static info.
AbstractDataProviderBulkRecordInterface | searchRecordsBulkImpl (int block_size=1000, *hash< auto > where_cond, *hash< auto > search_options)
| Returns an iterator for zero or more records matching the search options.
AbstractDataProviderRecordIterator | searchRecordsImpl (*hash< auto > where_cond, *hash< auto > search_options)
| Returns an iterator for zero or more records matching the search options.

## Protected Attributes
const | ChildMap = ...
| Child map.
Protected Attributes inherited from DbDataProvider::DbDataProviderBase
const | ConstructorOptions = ...
| Constructor options.
AbstractDatabase | db
| the database object, if required
const | MapperKeyInfo = ...
| Mapper runtime key info; see details below.

## Additional Inherited Members
Static Protected Attributes inherited from DbDataProvider::DbDataProviderBase
static *code | datasource_lookup
| Lookup to get an abstract datasource from a name.
static *code | table_lookup
| Lookup to get an abstract table from a datasource and a name.

## Detailed Description

The database data provider class, provides tables as children.

Generic post-SQL search is provided just for completeness sake, but record filtering should be done in the `sql` search option and not in the generic post-SQL generic data provider search for performance reasons.

## Member Function Documentation

## ◆ createChildProviderImpl()

AbstractDataProvider DbDataProvider::DbDataProvider::createChildProviderImpl | ( | string | name,
|  | hash< string, AbstractDataField > | fields,
|  | *hash< auto > | child_create_options )
| protected

Creates a new child data provider and returns it after adding as a child.

Parameters

  name | the name of the new child data provider
  fields | the fields for the new child data provider
  child_create_options | the options for creating the new child data provider

Returns
  the new child data provider

Since
  DataProvider 2.0

## ◆ deleteChildProviderImpl()

DbDataProvider::DbDataProvider::deleteChildProviderImpl | ( | string | name,
|  | *hash< auto > | child_delete_options )
| protected

Deletes a child data provider.

Parameters

  name | the name of the new child data provider
  child_delete_options | the options for deleting a child data provider

Exceptions

  DELETE-CHILD-PROVIDER-ERROR | error dropping the child data provider

Since
  DataProvider 2.0

## ◆ getChildProviderImpl()

*AbstractDataProvider DbDataProvider::DbDataProvider::getChildProviderImpl | ( | string | name | ) |
| protected

Returns the given child provider or NOTHING if the given child is unknown.

Returns
  the given child provider or NOTHING if the given child is unknown

Exceptions

  CHILD-PROVIDER-ERROR | error acquiring child provider

See also
  getChildProviderEx()

## ◆ getChildProviderNamesImpl()

*list< string > DbDataProvider::DbDataProvider::getChildProviderNamesImpl | ( |  | ) |
| protected

Returns a list of child data provider names, if any.

Returns
  a list of child data provider names, if any

## ◆ getRecordTypeFromDescribeHash()

static *hash< string, AbstractDataField > DbDataProvider::DbDataProvider::getRecordTypeFromDescribeHash | ( | hash< auto > | describe_hash | ) |
| static

Returns the record type description from a describe hash.

Parameters

  describe_hash | a hash as returned by AbstractSQLStatement::describe()

Returns
  the record type of the query results

## ◆ getRecordTypeImpl()

*hash< string, AbstractDataField > DbDataProvider::DbDataProvider::getRecordTypeImpl | ( | *hash< auto > | search_options | ) |
| protected

Returns the description of the record type, if any.

Parameters

  search_options | to be included and processed by validateSearchOptions() if recordRequiresSearchOptions() is True for this provider, otherwise any value provided in this argument is ignored

## ◆ searchRecordsBulkImpl()

AbstractDataProviderBulkRecordInterface DbDataProvider::DbDataProvider::searchRecordsBulkImpl | ( | int | block_size = 1000,
|  | *hash< auto > | where_cond,
|  | *hash< auto > | search_options )
| protected

Returns an iterator for zero or more records matching the search options.

Parameters

  block_size | the number of records in a read block; must be a positive number
  where_cond | the search criteria after processing by processFieldValues()
  search_options | the search options after processing by validateSearchOptions()

Exceptions

  INVALID-BLOCK-SIZE | the block size must be a positive number
  INVALID-OPERATION | the data provider does not support reading

## ◆ searchRecordsImpl()

AbstractDataProviderRecordIterator DbDataProvider::DbDataProvider::searchRecordsImpl | ( | *hash< auto > | where_cond,
|  | *hash< auto > | search_options )
| protected

Returns an iterator for zero or more records matching the search options.

Parameters

  where_cond | the search criteria
  search_options | the search options after processing by validateSearchOptions()

See also
  requestSearchRecordsImpl()