DbDataProvider::DbDataProvider Class Reference

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

Inherits AbstractDataProvider.

## Public Member Functions

| commit ()
| Commits any transaction in progress in the datasource.
| constructor (AbstractDatasource ds, *hash< auto > opts)
| creates the object
| constructor (AbstractDatabase db)
| creates the object
| constructor (*hash< auto > options)
| Creates the object from constructor options.
string | getName ()
| Returns the data provider name.
| rollback ()
| Rolls back any transaction in progress in the datasource.

## Static Public Member Functions

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 *hash< string, AbstractDataField > | getRecordTypeFromDescribeHash (hash< auto > describe_hash)
| Returns the record type description from a describe hash. More...
static AbstractTable | getTable (string ds_string, string table_string)
| Returns an AbstractTable object from the given datasource and table strings.
static AbstractTable | getTable (AbstractDatasource ds, string table_string)
| Returns an AbstractTable object from the given datasource and table arguments.
static | setDatasourceLookup (code datasource_lookup)
| Sets the datasource lookup.
static | setTableLookup (code table_lookup)
| Sets the table lookup.

## Public Attributes

const | ConstructorOptions = ...
| Constructor options.
const | ProviderInfo = ...
| Provider info.
const | SearchOptions = ...
| Search options.

## Protected Member Functions

*AbstractDataProvider | getChildProviderImpl (string name)
| Returns the given child provider or NOTHING if the given child is unknown. More...
*list< string > | getChildProviderNamesImpl ()
| Returns a list of child data provider names, if any. More...
*hash< string, AbstractDataField > | getRecordTypeImpl (*hash< auto > search_options)
| Returns the description of the record type, if any. More...
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. More...
AbstractDataProviderRecordIterator | searchRecordsImpl (*hash< auto > where_cond, *hash< auto > search_options)
| Returns an iterator for zero or more records matching the search options. More...

## Protected Attributes

AbstractDatabase | db
| The database object.

## Static Protected Attributes

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.

## Member Function Documentation

## 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()