Qore DbDataProvider Module Reference  1.0
DbDataProvider::DbDataProvider Class Reference

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

Inherits AbstractDataProvider.

Public Member Methods

 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 Methods

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.
 

Private Member Methods

*AbstractDataProvider getChildProviderImpl (string name)
 Returns the given child provider or NOTHING if the given child is unknown. More...
 
*list< stringgetChildProviderNamesImpl ()
 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...
 

Private Attributes

AbstractDatabase db
 The database object.
 

Static Private 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)
private

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-ERRORerror acquiring child provider
See also
getChildProviderEx()

◆ getChildProviderNamesImpl()

*list<string> DbDataProvider::DbDataProvider::getChildProviderNamesImpl ( )
private

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_hasha 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)
private

Returns the description of the record type, if any.

Parameters
search_optionsto 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 
)
private

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

Parameters
block_sizethe number of records in a read block; must be a positive number
where_condthe search criteria after processing by processFieldValues()
search_optionsthe search options after processing by validateSearchOptions()
Exceptions
INVALID-BLOCK-SIZEthe block size must be a positive number
INVALID-OPERATIONthe data provider does not support reading

◆ searchRecordsImpl()

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

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

Parameters
where_condthe search criteria
search_optionsthe search options after processing by validateSearchOptions()
See also
requestSearchRecordsImpl()