Qore DataProvider Module Reference
2.2
|
The AbstractDataProvider class. More...
Public Member Methods | |
addField (AbstractDataField field, *hash< auto > field_add_options) | |
Creates a new field. More... | |
beginTransaction () | |
Begins a transaction with a data provider. More... | |
checkAddField () | |
Ensures that the data provider supports adding fields. More... | |
checkCreate () | |
Ensures that the data provider supports record creation. More... | |
checkCreateChild () | |
Ensures that the data provider supports creating children. More... | |
checkDelete () | |
Ensures that the data provider supports record deletion. More... | |
checkDeleteChild () | |
Ensures that the data provider supports deleting children. More... | |
checkDeleteField () | |
Ensures that the data provider supports deleting fields. More... | |
checkRead () | |
Ensures that the data provider supports read operations. More... | |
checkRequest () | |
Ensures that the data provider supports the request API. More... | |
checkSchema () | |
Ensures that the data provider supports a schema. More... | |
checkUpdate () | |
Ensures that the data provider supports record upserts. More... | |
checkUpdateField () | |
Ensures that the data provider supports updating fields. More... | |
checkUpsert () | |
Ensures that the data provider supports record upserts. More... | |
commit () | |
Commits data written to the data provider. More... | |
constructor () | |
Creates the data provider. | |
constructor (Logger logger) | |
Creates the data provider with the given Logger. | |
AbstractDataProvider | createChildProvider (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. More... | |
*hash< auto > | createRecord (hash< auto > rec, *hash< auto > create_options) |
Creates the given record in the data provider. More... | |
deleteChildProvider (string name, *hash< auto > child_delete_options) | |
Deletes a child data provider. More... | |
deleteField (string name, *hash< auto > field_delete_options) | |
Deletes an existing field. More... | |
int | deleteRecords (*hash< auto > where_cond, *hash< auto > search_options) |
Deletes zero or more records. More... | |
auto | doRequest (auto req, *hash< auto > request_options) |
Makes a request and returns the response. More... | |
AbstractDataProviderBulkOperation | getBulkInserter () |
Returns a bulk insert operation object for the data provider. More... | |
AbstractDataProviderBulkRecordInterface | getBulkRecordInterface (int block_size=1000, *hash< auto > search_options) |
Returns an iterator iterating all records with the bulk read API. More... | |
AbstractDataProviderBulkOperation | getBulkUpserter () |
Returns a bulk upsert operation object for the data provider. More... | |
*hash< string, hash< DataProviderOptionInfo > > | getChildCreateOptions () |
Returns options that can be used for creating child data providers. More... | |
*hash< string, hash< DataProviderOptionInfo > > | getChildDeleteOptions () |
Returns options that can be used for deleting child data providers. More... | |
*AbstractDataProvider | getChildProvider (string name) |
Returns the given child provider or NOTHING if the given child is unknown. More... | |
AbstractDataProvider | getChildProviderEx (string name) |
Returns the given child provider or throws an exception if the given child is unknown. More... | |
*list< string > | getChildProviderNames () |
Returns a list of child data provider names, if any. More... | |
AbstractDataProvider | getChildProviderPath (string path) |
Returns the given child provider from a "/" separated path string. More... | |
*hash< string, hash< DataProviderOptionInfo > > | getCreateOptions () |
Returns options that can be used for creating records. More... | |
*string | getDesc () |
Returns the data provider description. | |
AbstractDataProviderType | getErrorResponseType (string error_code) |
Returns the type for the given error code. More... | |
*hash< string, AbstractDataProviderType > | getErrorResponseTypes () |
Returns a hash of error responses, if any. More... | |
*hash< string, hash< DataProviderOptionInfo > > | getFieldAddOptions () |
Returns options that can be used for adding new fields to the data provider. More... | |
*hash< string, hash< DataProviderOptionInfo > > | getFieldDeleteOptions () |
Returns options that can be used for deleting fields from the data provider. More... | |
*hash< string, hash< DataProviderOptionInfo > > | getFieldUpdateOptions () |
Returns options that can be used for updating fields of the data provider. More... | |
hash< DataProviderInfo > | getInfo () |
Returns data provider info. | |
hash< auto > | getInfoAsData (*bool with_type_info) |
Returns static provider information as data; no objects are returned. More... | |
*hash< string, hash< MapperRuntimeKeyInfo > > | getMapperRuntimeKeys () |
Returns custom data mapper runtime keys. More... | |
abstract string | getName () |
Returns the data provider name. | |
*hash< string, AbstractDataField > | getOrNothingRecordType (*hash< auto > search_options) |
Returns the description of the record type with "or nothing" types, if any. | |
AbstractDataProviderRecordIterator | getRecordIterator (*hash< auto > search_options) |
Returns an iterator iterating all records. More... | |
*hash< string, AbstractDataField > | getRecordType (*hash< auto > search_options) |
Returns the description of the record type, if any. More... | |
*hash< string, hash< DataProviderOptionInfo > > | getRequestOptions () |
Returns options that can be used for requests. More... | |
*AbstractDataProviderType | getRequestType () |
Returns the description of a successful request message, if any. More... | |
*AbstractDataProviderType | getResponseType () |
Returns the description of a response message, if this object represents a response message. More... | |
object | getSchemaObject () |
Returns the schema supporting this data provider. More... | |
*object | getSchemaType () |
Returns the schema type for this data provider or NOTHING if no schema type is supported. More... | |
*hash< string, hash< DataProviderOptionInfo > > | getSearchOptions () |
Returns options that can be used for searching. More... | |
*hash< string, AbstractDataField > | getSoftRecordType (*hash< auto > search_options) |
Returns the description of the record type with soft types, if any. | |
*hash< string, hash< DataProviderOptionInfo > > | getUpsertOptions () |
Returns options that can be used for upserting records. More... | |
bool | hasRecord () |
Returns True if the data provider has a record type. More... | |
bool | recordRequiresSearchOptions () |
Returns True if the data provider requires search options to retrieve the record type. | |
AbstractDataProviderRecordIterator | requestSearchRecords (auto req, *hash< auto > where_cond, *hash< auto > search_options) |
Returns an iterator for zero or more records matching the search options according to an API request. More... | |
bool | requiresTransactionManagement () |
Returns True if the data provider supports transaction management. More... | |
rollback () | |
Rolls back data written to the data provider. More... | |
*hash< auto > | searchFirstRecord (hash< auto > where_cond, *hash< auto > search_options) |
Returns the first record matching the search options. More... | |
AbstractDataProviderRecordIterator | searchRecords (*hash< auto > where_cond, *hash< auto > search_options) |
Returns an iterator for zero or more records matching the search options. More... | |
AbstractDataProviderBulkRecordInterface | searchRecordsBulk (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... | |
*hash< auto > | searchSingleRecord (hash< auto > where_cond, *hash< auto > search_options) |
Returns a single record matching the search options. More... | |
setLogger (Logger logger) | |
Sets or replaces the logger. | |
bool | supportsAddField () |
Returns True if the data provider supports creating adding new fields. More... | |
bool | supportsBulkCreate () |
Returns True if the data provider supports bulk creation output. | |
bool | supportsBulkRead () |
Returns True if the data provider supports native bulk reading. | |
bool | supportsBulkUpsert () |
Returns True if the data provider supports bulk upserts. | |
bool | supportsCreate () |
Returns True if the data provider supports the record creation API. | |
bool | supportsCreateChild () |
Returns True if the data provider supports creating new child data providers. More... | |
bool | supportsDelete () |
Returns True if the data provider supports the record deletion API. | |
bool | supportsDeleteChild () |
Returns True if the data provider supports creating deleting child data providers. More... | |
bool | supportsDeleteField () |
Returns True if the data provider supports deleting existing fields. More... | |
bool | supportsNativeSearch () |
Returns True if the data provider supports the record search API natively. | |
bool | supportsRead () |
Returns True if the data provider supports reading. | |
bool | supportsRequest () |
Returns True if the data provider supports requests. | |
bool | supportsSchema () |
Returns True if the data provider supports a schema. More... | |
bool | supportsUpdate () |
Returns True if the data provider supports the record update API. | |
bool | supportsUpdateField () |
Returns True if the data provider supports updating existing fields. More... | |
bool | supportsUpsert () |
Returns True if the data provider supports the record upsert API. | |
updateField (string name, AbstractDataField field, *hash< auto > field_update_options) | |
Updates an existing field. More... | |
int | updateRecords (hash< auto > set, *hash< auto > where_cond, *hash< auto > search_options) |
Updates zero or more records matching the search options. More... | |
bool | updateSingleRecord (hash< auto > set, hash< auto > where_cond, *hash< auto > search_options) |
Updates a single record matching the search options. More... | |
string | upsertRecord (hash< auto > rec, *hash< auto > upsert_options) |
Upserts the given record in the data provider. More... | |
Static Public Member Methods | |
static bool | setDynamicValueCallbacks () |
Ensures that no callbacks can be set for dynamic URI resolution. More... | |
static bool | setDynamicValueCallbacks (code value_needs_resolution, code resolve_value) |
Set callbacks for dynamic URI resolution to allow for variable URI path elements to be resolved at runtime. More... | |
Private Member Methods | |
addFieldImpl (AbstractDataField field, *hash< auto > field_add_options) | |
Creates a new field. More... | |
*hash< auto > | checkOptions (string err, *hash< string, hash< DataProviderOptionInfo >> option_desc, *hash< auto > options) |
verifies options according to the option | |
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. More... | |
*hash< auto > | createRecordImpl (hash< auto > rec, *hash< auto > create_options) |
Creates the given record to the data provider. More... | |
deleteChildProviderImpl (string name, *hash< auto > child_delete_options) | |
Deletes a child data provider. More... | |
deleteFieldImpl (string name, *hash< auto > field_delete_options) | |
Deletes an existing field. More... | |
int | deleteRecordsImpl (*hash< auto > where_cond, *hash< auto > search_options) |
Deletes zero or more records. More... | |
auto | doRequestImpl (auto req, *hash< auto > request_options) |
Makes a request and returns the response. More... | |
error (string err, string fmt) | |
thrown an exception | |
*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... | |
AbstractDataProviderType | getErrorResponseTypeImpl (string error_code) |
Returns the type for the given error code. More... | |
*hash< string, AbstractDataProviderType > | getErrorResponseTypesImpl () |
Returns a hash of error responses, if any. More... | |
*hash< string, AbstractDataField > | getRecordTypeImpl (*hash< auto > search_options) |
Returns the description of the record type, if any. More... | |
*AbstractDataProviderType | getRequestTypeImpl () |
Returns the description of a successful request message, if any. More... | |
*AbstractDataProviderType | getResponseTypeImpl () |
Returns the description of a response message, if this object represents a response message. More... | |
object | getSchemaObjectImpl () |
Returns the schema object supporting this data provider. More... | |
abstract hash< DataProviderInfo > | getStaticInfoImpl () |
Returns data provider static info. | |
processConstructorOptions (*hash< string, hash< DataProviderOptionInfo >> option_desc, *hash< auto > options) | |
processes options passed to the constructor | |
*hash< auto > | processFieldValues (*hash< auto > h, *hash< auto > search_options) |
processes search or set values to convert types if necessary More... | |
AbstractDataProviderRecordIterator | requestSearchRecordsImpl (auto req, *hash< auto > where_cond, *hash< auto > search_options) |
Returns an iterator for zero or more records matching the search options according to an API request. More... | |
*hash< auto > | searchFirstRecordImpl (hash< auto > where_cond, *hash< auto > search_options) |
Returns the first record matching the search options. More... | |
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... | |
*hash< auto > | searchSingleRecordImpl (hash< auto > where_cond, *hash< auto > search_options) |
Returns a single record matching the search options. More... | |
throwUnimplementedException () | |
Throws an INVALID-OPERATION exception. More... | |
updateFieldImpl (string name, AbstractDataField field, *hash< auto > field_update_options) | |
Updates an existing field. More... | |
int | updateRecordsImpl (hash< auto > set, hash< auto > where_cond, *hash< auto > search_options) |
Updates zero or more records matching the search options. More... | |
bool | updateSingleRecordImpl (hash< auto > set, hash< auto > where_cond, *hash< auto > search_options) |
Updates a single record matching the search options. More... | |
string | upsertRecordImpl (hash< auto > rec, *hash< auto > upsert_options) |
Upserts the given record to the data provider. More... | |
*hash< auto > | validateChildCreateOptions (*hash< auto > child_create_options) |
validates child create options More... | |
*hash< auto > | validateChildDeleteOptions (*hash< auto > child_delete_options) |
validates child delete options More... | |
*hash< auto > | validateCreateOptions (*hash< auto > create_options) |
validates create options More... | |
*hash< auto > | validateFieldAddOptions (*hash< auto > field_add_options) |
validates field add options More... | |
*hash< auto > | validateFieldDeleteOptions (*hash< auto > field_delete_options) |
validates field delete options More... | |
*hash< auto > | validateFieldUpdateOptions (*hash< auto > field_update_options) |
validates field update options More... | |
*hash< auto > | validateRequestOptions (*hash< auto > request_options) |
validates request options More... | |
*hash< auto > | validateSearchOptions (*hash< auto > search_options) |
validates search options More... | |
*hash< auto > | validateUpsertOptions (*hash< auto > upsert_options) |
validates upsert options More... | |
Static Private Member Methods | |
static bool | checkCallbacks () |
Checks if callbacks have already been set or locked. | |
Private Attributes | |
const | GenericRecordSearchOptions = ... |
Generic record search options; see details below. More... | |
Logger | logger |
Logger for logging. | |
Static Private Attributes | |
static bool | callbacks_locked = False |
flag if callbacks are locked | |
static code | cb_resolve_value |
static callback for dynamic value resolution | |
static code | cb_value_needs_resolution |
static callback the returns a bool if the value needs dynamic resolution | |
The AbstractDataProvider class.
DataProvider::AbstractDataProvider::addField | ( | AbstractDataField | field, |
*hash< auto > | field_add_options | ||
) |
Creates a new field.
field | the field to add |
field_add_options | the options for adding the new field |
INVALID-OPERATION | thrown if the data provider does not support this API |
ADD-FIELD-ERROR | error adding the field |
|
private |
Creates a new field.
field | the field to add |
field_add_options | the options for adding the new field |
DataProvider::AbstractDataProvider::beginTransaction | ( | ) |
Begins a transaction with a data provider.
Has no effect if the data provider does not support transaction management
DataProvider::AbstractDataProvider::checkAddField | ( | ) |
Ensures that the data provider supports adding fields.
INVALID-OPERATION | the data provider does not support the add field API |
DataProvider::AbstractDataProvider::checkCreate | ( | ) |
Ensures that the data provider supports record creation.
INVALID-OPERATION | the data provider does not support record creation |
DataProvider::AbstractDataProvider::checkCreateChild | ( | ) |
Ensures that the data provider supports creating children.
INVALID-OPERATION | the data provider does not support the child creation API |
DataProvider::AbstractDataProvider::checkDelete | ( | ) |
Ensures that the data provider supports record deletion.
INVALID-OPERATION | the data provider does not support record deletion |
DataProvider::AbstractDataProvider::checkDeleteChild | ( | ) |
Ensures that the data provider supports deleting children.
INVALID-OPERATION | the data provider does not support the child deletion API |
DataProvider::AbstractDataProvider::checkDeleteField | ( | ) |
Ensures that the data provider supports deleting fields.
INVALID-OPERATION | the data provider does not support the delete field API |
DataProvider::AbstractDataProvider::checkRead | ( | ) |
Ensures that the data provider supports read operations.
INVALID-OPERATION | the data provider does not support read operations |
DataProvider::AbstractDataProvider::checkRequest | ( | ) |
Ensures that the data provider supports the request API.
INVALID-OPERATION | the data provider does not support the request API |
DataProvider::AbstractDataProvider::checkSchema | ( | ) |
Ensures that the data provider supports a schema.
INVALID-OPERATION | the data provider does not support a schema |
DataProvider::AbstractDataProvider::checkUpdate | ( | ) |
Ensures that the data provider supports record upserts.
INVALID-OPERATION | the data provider does not support record updating |
DataProvider::AbstractDataProvider::checkUpdateField | ( | ) |
Ensures that the data provider supports updating fields.
INVALID-OPERATION | the data provider does not support the update field API |
DataProvider::AbstractDataProvider::checkUpsert | ( | ) |
Ensures that the data provider supports record upserts.
INVALID-OPERATION | the data provider does not support upsert operations |
DataProvider::AbstractDataProvider::commit | ( | ) |
Commits data written to the data provider.
Has no effect if the data provider does not support transaction management
AbstractDataProvider DataProvider::AbstractDataProvider::createChildProvider | ( | 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.
name | the name of the new child data provider |
fields | the fields for the new child data provider; must have at least one field |
child_create_options | the options for creating the new child data provider |
INVALID-OPERATION | thrown if the data provider does not support this API |
CREATE-CHILD-PROVIDER-ERROR | error creating the child provider |
|
private |
Creates a new child data provider and returns it after adding as a child.
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 |
*hash<auto> DataProvider::AbstractDataProvider::createRecord | ( | hash< auto > | rec, |
*hash< auto > | create_options | ||
) |
Creates the given record in the data provider.
rec | a hash representing a single input record |
create_options | the create options; will be processed by validateCreateOptions() |
INVALID-OPERATION | the data provider does not support record creation |
CREATE-RECORD-ERROR | the data provider raised an exception in the record creation operation |
DUPLICATE-RECORD | this exception should be thrown if the provider fails due to an attempt to create a duplicate record |
|
private |
Creates the given record to the data provider.
rec | a hash representing a single input record |
create_options | the create options after processing by validateCreateOptions() |
DUPLICATE-RECORD | this exception should be thrown if the provider fails due to an attempt to create a duplicate record |
DataProvider::AbstractDataProvider::deleteChildProvider | ( | string | name, |
*hash< auto > | child_delete_options | ||
) |
Deletes a child data provider.
name | the name of the new child data provider |
child_delete_options | the options for deleting a child data provider |
INVALID-OPERATION | thrown if the data provider does not support this API |
DELETE-CHILD-PROVIDER-ERROR | error creating the child provider |
|
private |
Deletes a child data provider.
name | the name of the new child data provider |
child_delete_options | the options for deleting a child data provider |
Deletes an existing field.
name | the name of the field to delete |
field_delete_options | the options for deleting the new field |
INVALID-OPERATION | thrown if the data provider does not support this API |
DELETE-FIELD-ERROR | error adding the field |
|
private |
Deletes an existing field.
name | the name of the field to delete |
field_delete_options | the options for deleting the new field |
int DataProvider::AbstractDataProvider::deleteRecords | ( | *hash< auto > | where_cond, |
*hash< auto > | search_options | ||
) |
Deletes zero or more records.
where_cond | a hash for identifying the record(s) to be deleted |
search_options | the search options; will be processed by validateSearchOptions() |
INVALID-OPERATION | the data provider does not support record deletion |
DELETE-RECORDS-ERROR | error deleting records |
|
private |
Deletes zero or more records.
where_cond | a hash for identifying the record(s) to be deleted |
search_options | the delete options after processing by validateSearchOptions() |
auto DataProvider::AbstractDataProvider::doRequest | ( | auto | req, |
*hash< auto > | request_options | ||
) |
Makes a request and returns the response.
req | the request to serialize and make according to the request type |
request_options | the request options; will be processed by validateRequestOptions() |
INVALID-OPERATION | the data provider does not support the request API |
INVALID-REQUEST | the request argument provided do not match the expected request type |
|
private |
Makes a request and returns the response.
req | the request to serialize and make according to the request type |
request_options | the request options; will be processed by validateRequestOptions() |
AbstractDataProviderBulkOperation DataProvider::AbstractDataProvider::getBulkInserter | ( | ) |
Returns a bulk insert operation object for the data provider.
INVALID-OPERATION | the data provider does not support create operations |
AbstractDataProviderBulkRecordInterface DataProvider::AbstractDataProvider::getBulkRecordInterface | ( | int | block_size = 1000 , |
*hash< auto > | search_options | ||
) |
Returns an iterator iterating all records with the bulk read API.
block_size | the number of records in a read block; must be a positive number |
search_options | the search options; will be processed by validateSearchOptions() |
INVALID-BLOCK-SIZE | the block size must be a positive number |
INVALID-OPERATION | the data provider does not support reading |
AbstractDataProviderBulkOperation DataProvider::AbstractDataProvider::getBulkUpserter | ( | ) |
Returns a bulk upsert operation object for the data provider.
INVALID-OPERATION | the data provider does not support upsert operations |
*hash<string, hash<DataProviderOptionInfo> > DataProvider::AbstractDataProvider::getChildCreateOptions | ( | ) |
Returns options that can be used for creating child data providers.
*hash<string, hash<DataProviderOptionInfo> > DataProvider::AbstractDataProvider::getChildDeleteOptions | ( | ) |
Returns options that can be used for deleting child data providers.
*AbstractDataProvider DataProvider::AbstractDataProvider::getChildProvider | ( | string | name | ) |
Returns the given child provider or NOTHING if the given child is unknown.
INVALID-CHILD-PROVIDER | unknown child provider |
AbstractDataProvider DataProvider::AbstractDataProvider::getChildProviderEx | ( | string | name | ) |
Returns the given child provider or throws an exception if the given child is unknown.
INVALID-CHILD-PROVIDER | unknown child provider |
|
private |
Returns a list of child data provider names, if any.
Returns a list of child data provider names, if any.
This base class method returns NOTHING
AbstractDataProvider DataProvider::AbstractDataProvider::getChildProviderPath | ( | string | path | ) |
Returns the given child provider from a "/"
separated path string.
throws an exception with unknown path elements
path | a string giving a path to the target provider where child elements are separated by "/" characters |
INVALID-CHILD-PROVIDER | unknown child provider |
*hash<string, hash<DataProviderOptionInfo> > DataProvider::AbstractDataProvider::getCreateOptions | ( | ) |
Returns options that can be used for creating records.
AbstractDataProviderType DataProvider::AbstractDataProvider::getErrorResponseType | ( | string | error_code | ) |
Returns the type for the given error code.
error_code | the error code for the response; must be a known error code, or an UNKNOWN-ERROR-RESPONSE exception is thrown |
INVALID-OPERATION | the data provider does not support the request API |
UNKNOWN-ERROR-RESPONSE | the error response given is not known |
|
private |
Returns the type for the given error code.
error_code | the error code for the response; must be a known error code, or an UNKNOWN-ERROR-RESPONSE exception is thrown |
UNKNOWN-ERROR-RESPONSE | the error response given is not known |
*hash<string, AbstractDataProviderType> DataProvider::AbstractDataProvider::getErrorResponseTypes | ( | ) |
Returns a hash of error responses, if any.
INVALID-OPERATION | the data provider does not support the request API |
|
private |
Returns a hash of error responses, if any.
*hash<string, hash<DataProviderOptionInfo> > DataProvider::AbstractDataProvider::getFieldAddOptions | ( | ) |
Returns options that can be used for adding new fields to the data provider.
*hash<string, hash<DataProviderOptionInfo> > DataProvider::AbstractDataProvider::getFieldDeleteOptions | ( | ) |
Returns options that can be used for deleting fields from the data provider.
*hash<string, hash<DataProviderOptionInfo> > DataProvider::AbstractDataProvider::getFieldUpdateOptions | ( | ) |
Returns options that can be used for updating fields of the data provider.
hash<auto> DataProvider::AbstractDataProvider::getInfoAsData | ( | *bool | with_type_info | ) |
Returns static provider information as data; no objects are returned.
with_type_info | if True then more type information will be returned in the response |
name
and children
attributes are not returned as they are dynamic attributes *hash<string, hash<MapperRuntimeKeyInfo> > DataProvider::AbstractDataProvider::getMapperRuntimeKeys | ( | ) |
Returns custom data mapper runtime keys.
This base method returns NOTHING; reimplment in child classes to return a value
AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::getRecordIterator | ( | *hash< auto > | search_options | ) |
Returns an iterator iterating all records.
search_options | the search options; will be processed by validateSearchOptions() |
INVALID-OPERATION | the data provider does not support reading |
*hash<string, AbstractDataField> DataProvider::AbstractDataProvider::getRecordType | ( | *hash< auto > | search_options | ) |
Returns the description of the record type, if any.
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 |
|
private |
Returns the description of the record type, if any.
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 |
*hash<string, hash<DataProviderOptionInfo> > DataProvider::AbstractDataProvider::getRequestOptions | ( | ) |
Returns options that can be used for requests.
*AbstractDataProviderType DataProvider::AbstractDataProvider::getRequestType | ( | ) |
Returns the description of a successful request message, if any.
INVALID-OPERATION | the data provider does not support the request API |
|
private |
Returns the description of a successful request message, if any.
*AbstractDataProviderType DataProvider::AbstractDataProvider::getResponseType | ( | ) |
Returns the description of a response message, if this object represents a response message.
INVALID-OPERATION | the data provider does not support the request API |
|
private |
Returns the description of a response message, if this object represents a response message.
object DataProvider::AbstractDataProvider::getSchemaObject | ( | ) |
Returns the schema supporting this data provider.
INVALID-OPERATION | thrown if the data provider does not support this API |
|
private |
Returns the schema object supporting this data provider.
*object DataProvider::AbstractDataProvider::getSchemaType | ( | ) |
Returns the schema type for this data provider or NOTHING if no schema type is supported.
*hash<string, hash<DataProviderOptionInfo> > DataProvider::AbstractDataProvider::getSearchOptions | ( | ) |
Returns options that can be used for searching.
*hash<string, hash<DataProviderOptionInfo> > DataProvider::AbstractDataProvider::getUpsertOptions | ( | ) |
Returns options that can be used for upserting records.
bool DataProvider::AbstractDataProvider::hasRecord | ( | ) |
|
private |
processes search or set values to convert types if necessary
h | the hash of field values to process |
search_options | the search options after processing by validateSearchOptions() |
AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::requestSearchRecords | ( | auto | req, |
*hash< auto > | where_cond, | ||
*hash< auto > | search_options | ||
) |
Returns an iterator for zero or more records matching the search options according to an API request.
req | the request to serialize and make according to the request type |
where_cond | the search criteria; will be processed by processFieldValues() |
search_options | the search options after processing by validateSearchOptions() |
This will execute the request and perform a default search on any record(s) returned
INVALID-OPERATION | the data provider does not support reading records or the request / response API |
|
private |
Returns an iterator for zero or more records matching the search options according to an API request.
req | the request to serialize and make according to the request type |
where_cond | the search criteria; after processing by processFieldValues() |
search_options | the search options after processing by validateSearchOptions() |
This will execute the request and perform a default search on any record(s) returned
bool DataProvider::AbstractDataProvider::requiresTransactionManagement | ( | ) |
Returns True if the data provider supports transaction management.
DataProvider::AbstractDataProvider::rollback | ( | ) |
Rolls back data written to the data provider.
Has no effect if the data provider does not support transaction management
*hash<auto> DataProvider::AbstractDataProvider::searchFirstRecord | ( | hash< auto > | where_cond, |
*hash< auto > | search_options | ||
) |
Returns the first record matching the search options.
where_cond | the search criteria; will be processed by processFieldValues() |
search_options | the search options; will be processed by validateSearchOptions() |
INVALID-OPERATION | the data provider does not support reading |
|
private |
Returns the first record matching the search options.
where_cond | the search criteria |
search_options | the search options after processing by validateSearchOptions() |
AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::searchRecords | ( | *hash< auto > | where_cond, |
*hash< auto > | search_options | ||
) |
Returns an iterator for zero or more records matching the search options.
where_cond | the search criteria; will be processed by processFieldValues() |
search_options | the search options; will be processed by validateSearchOptions() |
INVALID-OPERATION | the data provider does not support reading |
AbstractDataProviderBulkRecordInterface DataProvider::AbstractDataProvider::searchRecordsBulk | ( | int | block_size = 1000 , |
*hash< auto > | where_cond, | ||
*hash< auto > | search_options | ||
) |
Returns an iterator for zero or more records matching the search options.
block_size | the number of records in a read block; must be a positive number |
where_cond | the search criteria; will be processed by processFieldValues() |
search_options | the search options; will be processed by validateSearchOptions() |
INVALID-BLOCK-SIZE | the block size must be a positive number |
INVALID-OPERATION | the data provider does not support reading |
|
private |
Returns an iterator for zero or more records matching the search options.
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() |
INVALID-BLOCK-SIZE | the block size must be a positive number |
INVALID-OPERATION | the data provider does not support reading |
|
private |
Returns an iterator for zero or more records matching the search options.
where_cond | the search criteria |
search_options | the search options after processing by validateSearchOptions() |
*hash<auto> DataProvider::AbstractDataProvider::searchSingleRecord | ( | hash< auto > | where_cond, |
*hash< auto > | search_options | ||
) |
Returns a single record matching the search options.
where_cond | the search criteria; will be processed by processFieldValues() |
search_options | the search options; will be processed by validateSearchOptions() |
INVALID-OPERATION | the data provider does not support reading |
MULTIPLE-RECORDS-ERROR | multiple records found |
|
private |
Returns a single record matching the search options.
where_cond | the search criteria |
search_options | the search options after processing by validateSearchOptions() |
MULTIPLE-RECORDS-ERROR | multiple records found |
|
static |
Ensures that no callbacks can be set for dynamic URI resolution.
|
static |
Set callbacks for dynamic URI resolution to allow for variable URI path elements to be resolved at runtime.
value_needs_resolution | signature bool sub (string value) { ... } ; this callback will be used to check if a URI path needs dynamic resolution |
resolve_value | signature auto sub (auto value) { ... } ; if value_needs_resolution returns True on a URI path, then this callback will be called at runtime for each request to resolve the URI path to the final path |
bool DataProvider::AbstractDataProvider::supportsAddField | ( | ) |
Returns True if the data provider supports creating adding new fields.
bool DataProvider::AbstractDataProvider::supportsCreateChild | ( | ) |
Returns True if the data provider supports creating new child data providers.
bool DataProvider::AbstractDataProvider::supportsDeleteChild | ( | ) |
Returns True if the data provider supports creating deleting child data providers.
bool DataProvider::AbstractDataProvider::supportsDeleteField | ( | ) |
Returns True if the data provider supports deleting existing fields.
bool DataProvider::AbstractDataProvider::supportsSchema | ( | ) |
Returns True if the data provider supports a schema.
bool DataProvider::AbstractDataProvider::supportsUpdateField | ( | ) |
Returns True if the data provider supports updating existing fields.
|
private |
Throws an INVALID-OPERATION
exception.
INVALID-OPERATION | this exception is thrown unconditionally by this method |
DataProvider::AbstractDataProvider::updateField | ( | string | name, |
AbstractDataField | field, | ||
*hash< auto > | field_update_options | ||
) |
Updates an existing field.
name | the name of the current field to update |
field | the new definition of the field |
field_update_options | the options for adding the new field |
INVALID-OPERATION | thrown if the data provider does not support this API |
UPDATE-FIELD-ERROR | error adding the field |
|
private |
Updates an existing field.
name | the name of the current field to update |
field | the new definition of the field |
field_update_options | the options for adding the new field |
int DataProvider::AbstractDataProvider::updateRecords | ( | hash< auto > | set, |
*hash< auto > | where_cond, | ||
*hash< auto > | search_options | ||
) |
Updates zero or more records matching the search options.
set | the hash of field data to set |
where_cond | a hash for identifying the record(s) to be updated |
search_options | the search options; will be processed by validateSearchOptions() |
INVALID-OPERATION | the data provider does not support record updating |
UPDATE-RECORDS-ERROR | error updating records |
|
private |
Updates zero or more records matching the search options.
set | the hash of field data to set |
where_cond | a hash for identifying the record(s) to be updated |
search_options | the update options after processing by validateSearchOptions() |
bool DataProvider::AbstractDataProvider::updateSingleRecord | ( | hash< auto > | set, |
hash< auto > | where_cond, | ||
*hash< auto > | search_options | ||
) |
Updates a single record matching the search options.
set | the hash of field data to set; will be processed by processFieldValues() |
where_cond | the search criteria; will be processed by processFieldValues() |
search_options | the search options; will be processed by validateSearchOptions() |
INVALID-OPERATION | the data provider does not support record updating |
UPDATE-RECORDS-ERROR | error updating records |
|
private |
Updates a single record matching the search options.
set | the hash of field data to set |
where_cond | the search criteria |
search_options | the search options after processing by validateSearchOptions() |
string DataProvider::AbstractDataProvider::upsertRecord | ( | hash< auto > | rec, |
*hash< auto > | upsert_options | ||
) |
Upserts the given record in the data provider.
rec | a hash representing a single input record |
upsert_options | the upsert options; will be processed by validateUpsertOptions() |
INVALID-OPERATION | the data provider does not support upsert operations |
|
private |
Upserts the given record to the data provider.
rec | a hash representing a single input record |
upsert_options | the create options after processing by validateUpsertOptions() |
|
private |
validates child create options
CHILD-CREATE-OPTION-ERROR | invalid or unsupported child create option |
|
private |
validates child delete options
CHILD-DELETE-OPTION-ERROR | invalid or unsupported child delete option |
|
private |
validates create options
CREATE-OPTION-ERROR | invalid or unsupported create option |
|
private |
validates field add options
FIELD-ADD-OPTION-ERROR | invalid or unsupported field add option |
|
private |
validates field delete options
FIELD-DELETE-OPTION-ERROR | invalid or unsupported field delete option |
|
private |
validates field update options
FIELD-UPDATE-OPTION-ERROR | invalid or unsupported field update option |
|
private |
validates request options
REQUEST-OPTION-ERROR | invalid or unsupported request option |
|
private |
validates search options
SEARCH-OPTION-ERROR | invalid or unsupported search option |
|
private |
validates upsert options
UPSERT-OPTION-ERROR | invalid or unsupported upsert option |
|
private |
Generic record search options; see details below.
Each record-based data provider should support the following search options:
columns:
a list of one or more field names; allows a subset of fields to be output in searcheslimit:
the maximum number of records to returnoffset:
the offset number in records to return