Qore DataProvider Module Reference 3.6.0
Loading...
Searching...
No Matches
DataProvider::AbstractDataProvider Class Reference

The AbstractDataProvider class. More...

#include <AbstractDataProvider.qc.dox.h>

Inheritance diagram for DataProvider::AbstractDataProvider:
[legend]

Public Member Methods

*hash< string, hash< ActionOptionInfo > > addCreateRecordOption (hash< DataProviderActionInfo > action, *hash< auto > options)
 Adds a record option to the given action options based on the given option data.
 
void addField (AbstractDataField field, *hash< auto > field_add_options)
 Creates a new field.
 
void addFieldImpl (AbstractDataField field, *hash< auto > field_add_options)
 Creates a new field.
 
void beginTransaction ()
 Begins a transaction with a data provider.
 
void checkAddField ()
 Ensures that the data provider supports adding fields.
 
void checkCreate ()
 Ensures that the data provider supports record creation.
 
void checkCreateChild ()
 Ensures that the data provider supports creating children.
 
void checkDelete ()
 Ensures that the data provider supports record deletion.
 
void checkDeleteChild ()
 Ensures that the data provider supports deleting children.
 
void checkDeleteField ()
 Ensures that the data provider supports deleting fields.
 
void checkMessages ()
 Ensures that the data provider supports sending messages.
 
void checkObservable ()
 Ensures that the data provider supports observer pattern / event API.
 
void checkRead ()
 Ensures that the data provider supports read operations.
 
void checkRequest ()
 Ensures that the data provider supports the request API.
 
void checkSchema ()
 Ensures that the data provider supports a schema.
 
void checkSearchExpressions ()
 Ensures that the data provider supports advanced search expressions.
 
void checkUpdate ()
 Ensures that the data provider supports record upserts.
 
void checkUpdateField ()
 Ensures that the data provider supports updating fields.
 
void checkUpsert ()
 Ensures that the data provider supports record upserts.
 
bool childrenIdentical ()
 Returns True if the data provider's children are all of the same class and all support the same options.
 
void collectDebugInfo (hash< DataProviderDebugInfo > info)
 Collects debug info if a collector is registered.
 
void commit ()
 Commits data written to the data provider.
 
void constructor ()
 Creates the data provider.
 
void constructor (LoggerInterface logger)
 Creates the data provider with the given Logger.
 
AbstractDataProvider createChildProvider (*hash< auto > child_create_options, string name, hash< string, AbstractDataField > fields)
 Creates a new child data provider and returns it after adding as a child.
 
AbstractDataProvider createChildProviderImpl (*hash< auto > child_create_options, string name, hash< string, AbstractDataField > fields)
 Creates a new child data provider and returns it after adding as a child.
 
*hash< auto > createRecord (hash< auto > rec, *hash< auto > create_options)
 Creates the given record in the data provider.
 
*hash< auto > createRecordImpl (hash< auto > rec, *hash< auto > create_options)
 Creates the given record in the data provider.
 
*hash< auto > createRecordsBulk (AbstractDataProviderBulkRecordInterface stream, *hash< auto > create_options)
 Creates the given records in the data provider.
 
*hash< auto > createRecordsBulk (hash< auto > recs, *hash< auto > create_options)
 Creates the given records in the data provider.
 
*hash< auto > createRecordsBulk (HashListIterator i, *hash< auto > create_options)
 Creates the given records in the data provider.
 
*hash< auto > createRecordsBulk (list< auto > recs, *hash< auto > create_options)
 Creates the given records in the data provider.
 
*hash< auto > createRecordsBulkImpl (hash< auto > recs, *hash< auto > create_options)
 Creates the given records in the data provider.
 
*hash< auto > createRecordsBulkIntern (hash< auto > recs, *hash< auto > create_options)
 Creates the given records in the data provider.
 
*hash< auto > createRecordsBulkWithOptions (*hash< auto > options)
 Creates the given records in the data provider from create action options.
 
*hash< auto > createRecordWithOptions (*hash< auto > options)
 Creates the given record in the data provider from create action options.
 
bool currentThreadInTransaction ()
 Returns True if the current thread is in a transaction.
 
bool currentThreadInTransactionImpl ()
 Returns True if the current thread is in a transaction.
 
bool debugCollectionEnabled ()
 Returns True if debug collection is enabled.
 
void deleteChildProvider (string name, *hash< auto > child_delete_options)
 Deletes a child data provider.
 
void deleteChildProviderImpl (string name, *hash< auto > child_delete_options)
 Deletes a child data provider.
 
void deleteField (string name, *hash< auto > field_delete_options)
 Deletes an existing field.
 
void deleteFieldImpl (string name, *hash< auto > field_delete_options)
 Deletes an existing field.
 
int deleteRecords (*hash< auto > where_cond, *hash< auto > search_options)
 Deletes zero or more records.
 
int deleteRecords (*hash< DataProviderExpression > where_cond, *hash< auto > search_options)
 Deletes zero or more records.
 
int deleteRecordsImpl (*hash< auto > where_cond, *hash< auto > search_options)
 Deletes zero or more records.
 
int deleteRecordsWithOptions (*hash< auto > options)
 Deletes zero or more records from delete action options.
 
auto doRequest (auto req, *hash< auto > request_options)
 Makes a request and returns the response.
 
auto doRequestImpl (auto req, *hash< auto > request_options)
 Makes a request and returns the response.
 
hash< auto > generateExampleData (hash< string, AbstractDataField > fields)
 Generates example data for the given fields.
 
*hash< auto > getAdditionalInfo ()
 Returns additional provider-specific information.
 
AbstractDataProviderBulkOperation getBulkInserter (*int block_size)
 Returns a bulk insert operation object for the data provider.
 
AbstractDataProviderBulkRecordInterface getBulkRecordInterface (int block_size, *hash< auto > search_options)
 Returns an iterator iterating all records with the bulk read API.
 
AbstractDataProviderBulkOperation getBulkUpserter (*int block_size)
 Returns a bulk upsert operation object for the data provider.
 
*hash< string, hash< DataProviderOptionInfo > > getChildCreateOptions ()
 Returns options that can be used for creating child data providers.
 
*hash< string, hash< DataProviderOptionInfo > > getChildDeleteOptions ()
 Returns options that can be used for deleting child data providers.
 
*AbstractDataProvider getChildProvider (string name)
 Returns the given child provider or NOTHING if the given child is unknown.
 
AbstractDataProvider getChildProviderEx (string name)
 Returns the given child provider or throws an exception if the given child is unknown.
 
*list< string > getChildProviderNames ()
 Returns a list of child data provider names, if any.
 
AbstractDataProvider getChildProviderPath (string path)
 Returns the given child provider from a "/" separated path string.
 
*hash< DataProviderConnectionInfogetConnectionInfo ()
 Returns connection info if the data provider supports connections, otherwise returns NOTHING.
 
*hash< string, hash< DataProviderOptionInfo > > getCreateOptions ()
 Returns options that can be used for creating records.
 
*hash< string, hash< ActionOptionInfo > > getCreateOptionsAsActionOptions ()
 Returns create options as action options.
 
*hash< string, AbstractDataFieldgetCreateRecordType (*hash< auto > create_options)
 Returns the description of the record type for creating records, if any.
 
*hash< string, AbstractDataFieldgetCreateRecordTypeImpl (*hash< auto > create_options)
 Returns the description of the record type for creating records, if any.
 
*hash< string, AbstractDataFieldgetCreateRecordTypeWithOptions (*hash< auto > options, *hash< auto > create_options)
 Returns the description of the record type for creating records in the context of the given options.
 
*hash< string, AbstractDataFieldgetCreateRecordTypeWithOptionsImpl (*hash< auto > options, *hash< auto > create_options)
 Returns the description of the record type for creating records in the context of the given options.
 
*AbstractDebugInfoCollector getDebugCollector ()
 Returns the current debug info collector, if any.
 
*string getDesc ()
 Returns the data provider description.
 
string getDisplayName ()
 Returns the data provider display name.
 
*list< hash< AllowedValueInfo > > getElementReferenceData (string type, *hash< auto > action_opts)
 Returns element reference data of the given kind if available.
 
*list< hash< AllowedValueInfo > > getElementReferenceDataEx (string type, *hash< auto > action_opts)
 Returns element reference data of the given kind if available.
 
*list< hash< AllowedValueInfo > > getElementReferenceDataSafe (string type, *hash< auto > action_opts)
 Returns element reference data of the given kind if available; logs but ignores exceptions retrieving the data.
 
*list< hash< AllowedValueInfo > > getElementReferenceDataSafeEx (string type, *hash< auto > action_opts)
 Returns element reference data of the given kind if available.
 
hash< DataProviderExpressiongetEqualityComparisonExpression (auto value, string key, int role, hash< DataProviderInfo > info)
 Returns an equality comparison expression.
 
AbstractDataProviderType getErrorResponseType (string error_code)
 Returns the type for the given error code.
 
*hash< string, AbstractDataProviderTypegetErrorResponseTypes ()
 Returns a hash of error responses, if any.
 
*hash< string, AbstractDataProviderTypegetErrorResponseTypesImpl ()
 Returns a hash of error responses, if any.
 
*hash< string, AbstractDataProviderTypegetErrorResponseTypesWithOptionsImpl (*hash< auto > options)
 Returns a hash of error responses, if any, in the context of the given option data.
 
AbstractDataProviderType getErrorResponseTypeWithOptionsImpl (string error_code, *hash< auto > options)
 Returns the type for the given error code in the context of the given option data.
 
hash< DataProviderMessageInfogetEventInfo (string event_id)
 Returns the description of an observable event, if any.
 
hash< DataProviderMessageInfogetEventInfoImpl (string event_id)
 Returns the type of an observable event, if any.
 
hash< DataProviderMessageInfogetEventInfoWithOptions (string event_id, *hash< auto > options)
 Returns the description of an observable event, if any with option data, if any.
 
hash< DataProviderMessageInfogetEventInfoWithOptionsImpl (string event_id, *hash< auto > options)
 Returns the description of an observable event, if any with option data, if any.
 
hash< string, hash< DataProviderMessageInfo > > getEventTypes ()
 Returns a hash of all supported event types.
 
hash< string, hash< DataProviderMessageInfo > > getEventTypesImpl ()
 Returns a hash of all supported event types.
 
hash< string, hash< DataProviderMessageInfo > > getEventTypesWithOptions (*hash< auto > options)
 Returns a hash of all supported event types in the context of the given options.
 
hash< string, hash< DataProviderMessageInfo > > getEventTypesWithOptionsImpl (*hash< auto > options)
 Returns a hash of all supported event types in the context of the given options.
 
auto getExampleErrorResponseData (string error_code)
 Returns example data for the error message with the given error code.
 
auto getExampleErrorResponseDataImpl (string error_code)
 Returns example data for the error message with the given error code.
 
auto getExampleErrorResponseDataWithOptions (string error_code, *hash< auto > options)
 Returns example data for the error message with the given error code in the context of the given option data.
 
auto getExampleErrorResponseDataWithOptionsImpl (string error_code, *hash< auto > options)
 Returns example data for the error message with the given error code in the context of the given option data.
 
auto getExampleEventData (string event_id)
 Returns example data for the given observable event.
 
auto getExampleEventDataImpl (string event_id)
 Returns example data for the given observable event.
 
auto getExampleEventDataWithOptions (string event_id, *hash< auto > options)
 Returns example data for the given observable event in the context of the given option data.
 
auto getExampleEventDataWithOptionsImpl (string event_id, *hash< auto > options)
 Returns example data for the given observable event in the context of the given option data.
 
hash< auto > getExampleRecordData ()
 Returns example data for the record type.
 
hash< auto > getExampleRecordDataImpl ()
 Returns example data for the record type.
 
hash< auto > getExampleRecordDataWithOptions (*hash< auto > options)
 Returns example data for the record type in the context of the given option data.
 
hash< auto > getExampleRecordDataWithOptionsImpl (*hash< auto > options)
 Returns example data for the record type in the context of the given option data.
 
auto getExampleRequestData ()
 Returns example data for a request message.
 
auto getExampleRequestDataImpl ()
 Returns example data for a request message.
 
auto getExampleRequestDataWithOptions (*hash< auto > options)
 Returns example data for a request message in the context of the given option data.
 
auto getExampleRequestDataWithOptionsImpl (*hash< auto > options)
 Returns example data for a request message in the context of the given option data.
 
auto getExampleResponseData ()
 Returns example data for a successful request message.
 
auto getExampleResponseDataImpl ()
 Returns example data for a successful request message.
 
auto getExampleResponseDataWithOptions (*hash< auto > options)
 Returns example data for a successful request message in the context of the given option data.
 
auto getExampleResponseDataWithOptionsImpl (*hash< auto > options)
 Returns example data for a successful request message in the context of the given option data.
 
*hash< string, hash< DataProviderExpressionInfo > > getExpressionsWithOptions (*hash< auto > options)
 Returns supported expression in the context of the given option data.
 
*hash< string, hash< DataProviderOptionInfo > > getFieldAddOptions ()
 Returns options that can be used for adding new fields to the data provider.
 
*hash< string, hash< DataProviderOptionInfo > > getFieldDeleteOptions ()
 Returns options that can be used for deleting fields from the data provider.
 
*hash< string, hash< DataProviderOptionInfo > > getFieldUpdateOptions ()
 Returns options that can be used for updating fields of the data provider.
 
hash< DataProviderInfogetInfo ()
 Returns data provider info.
 
hash< auto > getInfoAsData (*bool with_type_info)
 Returns static provider information as data; no objects are returned.
 
hash< DataProviderMessageInfogetMessageInfo (string message_id)
 Returns the description of an outbound message, if any.
 
hash< DataProviderMessageInfogetMessageInfoImpl (string message_id)
 Returns the type of an outbound message, if any.
 
string getMessageSupport ()
 Returns a code describing how the data provider supports sending messages.
 
hash< string, hash< DataProviderMessageInfo > > getMessageTypes ()
 Returns a hash of all supported outbound messages.
 
hash< string, hash< DataProviderMessageInfo > > getMessageTypesImpl ()
 Returns a hash of all supported outbound messages.
 
hash< string, hash< DataProviderMessageInfo > > getMessageTypesWithOptions (*hash< auto > options)
 Returns a hash of all supported outbound messages with options.
 
hash< string, hash< DataProviderMessageInfo > > getMessageTypesWithOptionsImpl (*hash< auto > options)
 Returns a hash of all supported outbound messages with options.
 
abstract string getName ()
 Returns the data provider name.
 
*hash< string, hash< ActionOptionInfo > > getOptionsAsActionOptions (*hash< string, hash< DataProviderOptionInfo > > options)
 Returns search options as action options.
 
*hash< string, AbstractDataFieldgetOrNothingRecordType (*hash< auto > search_options)
 Returns the description of the record type with "or nothing" types, if any.
 
*hash< string, AbstractDataFieldgetOrNothingRecordTypeWithOptions (*hash< auto > options, *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.
 
*hash< string, AbstractDataFieldgetRecordType (*hash< auto > search_options)
 Returns the description of the record type, if any.
 
*hash< string, AbstractDataFieldgetRecordTypeImpl (*hash< auto > search_options)
 Returns the description of the record type, if any.
 
*hash< string, AbstractDataFieldgetRecordTypeWithOptions (*hash< auto > options, *hash< auto > search_options)
 Returns the description of the record type in the context of the given options.
 
*hash< string, AbstractDataFieldgetRecordTypeWithOptionsImpl (*hash< auto > options, *hash< auto > search_options)
 Returns the description of the record type in the context of the given options.
 
*list< hash< AllowedValueInfo > > getReferenceData (string type, *hash< auto > action_opts)
 Returns reference data of the given kind if available.
 
*list< hash< AllowedValueInfo > > getReferenceDataEx (string type, *hash< auto > action_opts)
 Returns reference data of the given kind if available.
 
*list< hash< AllowedValueInfo > > getReferenceDataSafe (string type, *hash< auto > action_opts)
 Returns reference data of the given kind if available; logs but ignores exceptions retrieving the data.
 
*list< hash< AllowedValueInfo > > getReferenceDataSafeEx (string type, *hash< auto > action_opts)
 Returns reference data of the given kind if available.
 
auto getReferenceDataValue (string type, *hash< auto > action_opts)
 Returns a reference data value of the given kind if available.
 
auto getReferenceDataValueEx (string type, *hash< auto > action_opts)
 Returns a reference data value of the given kind if available.
 
auto getReferenceDataValueSafe (string type, *hash< auto > action_opts)
 Returns a reference data value of the given kind if available; logs but ignores exceptions retrieving the data.
 
auto getReferenceDataValueSafeEx (string type, *hash< auto > action_opts)
 Returns reference data of the given kind if available.
 
*hash< string, hash< DataProviderOptionInfo > > getRequestOptions ()
 Returns options that can be used for requests.
 
*AbstractDataProviderType getRequestType ()
 Returns the description of a successful request message, if any.
 
*AbstractDataProviderType getRequestTypeImpl ()
 Returns the description of a successful request message, if any.
 
*AbstractDataProviderType getRequestTypeWithData (auto req)
 Returns the description of a successful request message with call data, if any.
 
*AbstractDataProviderType getRequestTypeWithOptions (*hash< auto > options)
 Returns the description of a successful request message in the context of the given option data.
 
*AbstractDataProviderType getRequestTypeWithOptionsImpl (*hash< auto > options)
 Returns the description of a successful request message in the context of the given option data.
 
*AbstractDataProviderType getResponseType ()
 Returns the description of a response message, if this object represents a response message.
 
*AbstractDataProviderType getResponseTypeImpl ()
 Returns the description of a response message, if this object represents a response message.
 
*AbstractDataProviderType getResponseTypeWithData (auto req)
 Returns the description of a successful response message with call data, if any.
 
*AbstractDataProviderType getResponseTypeWithOptions (*hash< auto > options)
 Returns the description of a successful response message in the context of the given option data.
 
*AbstractDataProviderType getResponseTypeWithOptionsImpl (*hash< auto > options)
 Returns the description of a successful response message in the context of the given option data.
 
object getSchemaObject ()
 Returns the schema supporting this data provider.
 
object getSchemaObjectImpl ()
 Returns the schema object supporting this data provider.
 
*object getSchemaType ()
 Returns the schema type for this data provider or NOTHING if no schema type is supported.
 
*hash< auto > getSearchExpression (*hash< auto > where_cond, *hash< auto > search_options)
 Returns a search expression for a standard search hash.
 
*hash< string, hash< DataProviderOptionInfo > > getSearchOptions ()
 Returns options that can be used for searching.
 
hash< string, hash< ActionOptionInfo > > getSearchOptionsAsActionOptions ()
 Returns search options as action options.
 
*hash< string, hash< DataProviderOptionInfo > > getSendMessageOptions ()
 Returns options that can be used for sending messages from the data provider.
 
*string getShortDesc ()
 Returns the data provider short description.
 
*hash< string, AbstractDataFieldgetSoftRecordType (*hash< auto > search_options)
 Returns the description of the record type with soft types, if any.
 
*hash< string, AbstractDataFieldgetSoftRecordTypeWithOptions (*hash< auto > options, *hash< auto > search_options)
 Returns the description of the record type with soft types, if any.
 
abstract hash< DataProviderInfogetStaticInfoImpl ()
 Returns data provider static info.
 
hash< DataProviderSummaryInfogetSummaryInfo ()
 Return data provider summary info.
 
*hash< string, AbstractDataFieldgetUpdateRecordType (*hash< auto > search_options)
 Returns the description of the record type for updating records, if any.
 
*hash< string, AbstractDataFieldgetUpdateRecordTypeImpl (*hash< auto > search_options)
 Returns the description of the record type for updates, if any.
 
*hash< string, AbstractDataFieldgetUpdateRecordTypeWithOptions (*hash< auto > options, *hash< auto > search_options)
 Returns the description of the record type for updating records in the context of the given options.
 
*hash< string, AbstractDataFieldgetUpdateRecordTypeWithOptionsImpl (*hash< auto > options, *hash< auto > search_options)
 Returns the description of the record type for updating records in the context of the given options.
 
*hash< string, hash< DataProviderOptionInfo > > getUpsertOptions ()
 Returns options that can be used for upserting records.
 
*hash< string, hash< ActionOptionInfo > > getUpsertOptionsAsActionOptions ()
 Returns upsert options as action options.
 
hash< ActionOptionInfogetWhereCondActionOption (*hash< string, hash< DataProviderExpressionInfo > > expressions)
 Returns an action where condition option in the context of the given option data.
 
bool hasRecord ()
 Returns True if the data provider has a record type.
 
void processConstructorOptions (*string required_options, *hash< string, hash< DataProviderOptionInfo > > option_desc, *hash< auto > options)
 Processes options passed to the constructor.
 
*hash< DataProviderExpressionprocessSearchParameters (*hash< DataProviderExpression > exp, *hash< auto > search_options)
 processes search parameter expressions
 
bool recordRequiresSearchOptions ()
 Returns True if the data provider requires search options to retrieve the record type.
 
AbstractDataProviderRecordIterator requestSearchRecords (*hash< auto > search_options, auto req, *hash< auto > where_cond)
 Returns an iterator for zero or more records matching the search options according to an API request.
 
AbstractDataProviderRecordIterator requestSearchRecords (*hash< auto > search_options, auto req, *hash< DataProviderExpression > where_cond)
 Returns an iterator for zero or more records matching the search options according to an API request.
 
AbstractDataProviderRecordIterator requestSearchRecordsImpl (*hash< auto > search_options, auto req, *hash< auto > where_cond)
 Returns an iterator for zero or more records matching the search options according to an API request.
 
bool requiresTransactionManagement ()
 Returns True if the data provider requires transaction management.
 
void rollback ()
 Rolls back data written to the data provider.
 
bool searchAcceptsForeignField (string field)
 Allows data providers to accept foreign or virtual field names.
 
*hash< auto > searchFirstRecord (hash< auto > where_cond, *hash< auto > search_options)
 Returns the first record matching the search options.
 
*hash< auto > searchFirstRecord (hash< DataProviderExpression > where_cond, *hash< auto > search_options)
 Returns the first record matching the search options.
 
*hash< auto > searchFirstRecordWithOptions (*hash< auto > options)
 Returns the first record matching the search action options.
 
AbstractDataProviderRecordIterator searchRecords (*hash< auto > where_cond, *hash< auto > search_options)
 Returns an iterator for zero or more records matching the search options.
 
AbstractDataProviderRecordIterator searchRecords (*hash< DataProviderExpression > where_cond, *hash< auto > search_options)
 Returns an iterator for zero or more records matching the search options.
 
AbstractDataProviderBulkRecordInterface searchRecordsBulk (int block_size, *hash< auto > search_options, *hash< auto > where_cond)
 Returns an iterator for zero or more records matching the search options.
 
AbstractDataProviderBulkRecordInterface searchRecordsBulk (int block_size, *hash< auto > search_options, *hash< DataProviderExpression > where_cond)
 Returns an iterator for zero or more records matching the search options.
 
AbstractDataProviderBulkRecordInterface searchRecordsBulkImpl (int block_size, *hash< auto > search_options, *hash< auto > where_cond)
 Returns an iterator for zero or more records matching the search options.
 
AbstractDataProviderBulkRecordInterface searchRecordsBulkWithOptions (*hash< auto > options)
 Returns an iterator for zero or more records matching the search action options.
 
AbstractDataProviderRecordIterator searchRecordsImpl (*hash< auto > where_cond, *hash< auto > search_options)
 Returns an iterator for zero or more records matching the search options.
 
AbstractDataProviderRecordIterator searchRecordsWithOptions (*hash< auto > options)
 Returns an iterator for zero or more records matching the search action options.
 
*hash< auto > searchSingleRecord (*hash< auto > where_cond, *hash< auto > search_options)
 Returns a single record matching the search options.
 
*hash< auto > searchSingleRecord (hash< DataProviderExpression > where_cond, *hash< auto > search_options)
 Returns a single record matching the search options.
 
*hash< auto > searchSingleRecordWithOptions (*hash< auto > options)
 Returns a single record matching the search action options.
 
void sendMessage (*hash< auto > send_message_options, string message_id, auto msg)
 Sends a message from message-capable data providers.
 
void sendMessageImpl (*hash< auto > send_message_options, string message_id, auto msg)
 Sends a message from message-capable data providers.
 
void setDebugCollector (*AbstractDebugInfoCollector collector)
 Sets the debug info collector for this data provider.
 
bool supportsAddField ()
 Returns True if the data provider supports creating adding new fields.
 
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 supportsChildren ()
 Returns True if the data provider supports children.
 
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.
 
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.
 
bool supportsDeleteField ()
 Returns True if the data provider supports deleting existing fields.
 
bool supportsMessages ()
 Returns True if the data provider supports sending messages.
 
bool supportsNativeSearch ()
 Returns True if the data provider supports the record search API natively.
 
bool supportsObservable ()
 Returns True if the data provider supports the observer pattern / event API.
 
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.
 
bool supportsSearchExpressions ()
 Returns True if the data provider supports advanced search expressions.
 
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.
 
bool supportsUpsert ()
 Returns True if the data provider supports the record upsert API.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForCreateWithOptions (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a create action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForCreateWithOptionsImpl (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a create action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForDeleteWithOptions (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a delete action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForDeleteWithOptionsImpl (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a delete action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForEventWithOptions (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for an event action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForEventWithOptionsImpl (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for an event action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForMessageWithOptions (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a send message action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForMessageWithOptionsImpl (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a send message action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForRequestWithOptions (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a request action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForRequestWithOptionsImpl (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a request action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForSearchWithOptions (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a search action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForSearchWithOptionsImpl (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for a search action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForUpdateWithOptions (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for an update action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForUpdateWithOptionsImpl (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for an update action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForUpsertWithOptions (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for an upsert action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsForUpsertWithOptionsImpl (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data for an upsert action.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsFromRequestTypeWithData (auto req)
 Returns action options corresponding to the request type with the given request data, if possible.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsWithOptions (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data.
 
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsWithOptionsImpl (hash< DataProviderActionInfo > action, *hash< auto > options)
 Returns action options corresponding to the given option data.
 
void updateField (*hash< auto > field_update_options, string name, AbstractDataField field)
 Updates an existing field.
 
void updateFieldImpl (*hash< auto > field_update_options, string name, AbstractDataField field)
 Updates an existing field.
 
int updateRecords (*hash< auto > search_options, hash< auto > set, *hash< auto > where_cond)
 Updates zero or more records matching the search options.
 
int updateRecords (*hash< auto > search_options, hash< auto > set, *hash< DataProviderExpression > where_cond)
 Updates zero or more records matching the search options.
 
int updateRecordsImpl (*hash< auto > search_options, hash< auto > set, *hash< auto > where_cond)
 Updates zero or more records matching the search options.
 
int updateRecordsWithOptions (*hash< auto > options)
 Updates zero or more records matching the update action options.
 
bool updateSingleRecord (*hash< auto > search_options, hash< auto > set, hash< auto > where_cond)
 Updates a single record matching the search options.
 
bool updateSingleRecord (*hash< auto > search_options, hash< auto > set, hash< DataProviderExpression > where_cond)
 Updates a single record matching the search options.
 
bool updateSingleRecordImpl (*hash< auto > search_options, hash< auto > set, hash< auto > where_cond)
 Updates a single record matching the search options.
 
bool updateSingleRecordWithOptions (*hash< auto > options)
 Updates a single record using update action options.
 
string upsertRecord (hash< auto > rec, *hash< auto > upsert_options)
 Upserts the given record in the data provider.
 
string upsertRecordImpl (hash< auto > rec, *hash< auto > upsert_options)
 Upserts the given record to the data provider.
 
*list< string > upsertRecordsBulk (AbstractDataProviderBulkRecordInterface stream, *hash< auto > upsert_options)
 Upserts the given records in the data provider.
 
*list< string > upsertRecordsBulk (hash< auto > recs, *hash< auto > upsert_options)
 Upserts the given records in the data provider.
 
*list< string > upsertRecordsBulk (HashListIterator i, *hash< auto > upsert_options)
 Upserts the given records in the data provider.
 
*list< string > upsertRecordsBulk (list< auto > recs, *hash< auto > upsert_options)
 Creates the given records in the data provider.
 
*list< string > upsertRecordsBulkImpl (hash< auto > recs, *hash< auto > upsert_options)
 Upserts the given records in the data provider.
 
*list< string > upsertRecordsBulkWithOptions (*hash< auto > options)
 Upserts the given records in the data provider from upsert action options.
 
string upsertRecordWithOptions (*hash< auto > options)
 Upserts the given record in the data provider from upsert action options.
 
*hash< auto > validateChildCreateOptions (*hash< auto > child_create_options)
 validates child create options
 
*hash< auto > validateChildDeleteOptions (*hash< auto > child_delete_options)
 validates child delete options
 
*hash< auto > validateCreateOptions (*hash< auto > create_options)
 validates create options
 
*hash< auto > validateFieldAddOptions (*hash< auto > field_add_options)
 validates field add options
 
*hash< auto > validateFieldDeleteOptions (*hash< auto > field_delete_options)
 validates field delete options
 
*hash< auto > validateFieldUpdateOptions (*hash< auto > field_update_options)
 validates field update options
 
*hash< auto > validateRequestOptions (*hash< auto > request_options)
 validates request options
 
*hash< auto > validateSearchOptions (*hash< auto > search_options)
 validates search options
 
*hash< auto > validateSendMessageOptions (*hash< auto > send_message_options)
 validates send message options
 
*hash< auto > validateUpsertOptions (*hash< auto > upsert_options)
 validates upsert options
 

Static Public Member Methods

static bool checkCallbacks ()
 Checks if callbacks have already been set or locked.
 
static auto evalGenericExpression (hash< auto > rec, hash< DataProviderExpression > exp)
 Evaluates the given expression with the generic internal implementation and returns the result.
 
static hash< DataProviderExpressionInfogetExpression (*hash< string, hash< DataProviderExpressionInfo > > expmap, int role, string exp)
 Returns an expression definition for an expression code or throws an exception.
 
static void registerChild (string name, code generator)
 Registers a child data provider if the data provider supports children and is extensible.
 
static bool setDynamicValueCallbacks ()
 Ensures that no callbacks can be set for dynamic URI resolution.
 
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.
 
static void verifyExpression (hash< DataProviderExpression > exp, AbstractDataProviderType expected_type, int caps, int role, *hash< string, hash< DataProviderExpressionInfo > > expmap)
 processes an expression in a certain context
 
static void verifyExpressionArgValue (int pos, softlist< auto > values, hash< DataProviderExpressionInfo > expinfo, int role, int caps)
 processes an expression in a certain context
 

Detailed Description

Member Function Documentation

◆ addCreateRecordOption()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::addCreateRecordOption ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Adds a record option to the given action options based on the given option data.

Since
DataProvider 3.3

◆ addField()

void DataProvider::AbstractDataProvider::addField ( AbstractDataField  field,
*hash< auto >  field_add_options 
)

Creates a new field.

Parameters
fieldthe field to add
field_add_optionsthe options for adding the new field
Exceptions
INVALID-OPERATIONthrown if the data provider does not support this API
ADD-FIELD-ERRORerror adding the field
Since
DataProvider 2.0

◆ addFieldImpl()

void DataProvider::AbstractDataProvider::addFieldImpl ( AbstractDataField  field,
*hash< auto >  field_add_options 
)

Creates a new field.

Parameters
fieldthe field to add
field_add_optionsthe options for adding the new field
Since
DataProvider 2.0

◆ beginTransaction()

void DataProvider::AbstractDataProvider::beginTransaction ( )

Begins a transaction with a data provider.

Has no effect if the data provider does not require transaction management

See also
:
Since
DataProvider 1.2.2

◆ checkAddField()

void DataProvider::AbstractDataProvider::checkAddField ( )

Ensures that the data provider supports adding fields.

Exceptions
INVALID-OPERATIONthe data provider does not support the add field API
Since
DataProvider 2.0

◆ checkCreate()

void DataProvider::AbstractDataProvider::checkCreate ( )

Ensures that the data provider supports record creation.

Exceptions
INVALID-OPERATIONthe data provider does not support record creation

◆ checkCreateChild()

void DataProvider::AbstractDataProvider::checkCreateChild ( )

Ensures that the data provider supports creating children.

Exceptions
INVALID-OPERATIONthe data provider does not support the child creation API
Since
DataProvider 2.0

◆ checkDelete()

void DataProvider::AbstractDataProvider::checkDelete ( )

Ensures that the data provider supports record deletion.

Exceptions
INVALID-OPERATIONthe data provider does not support record deletion

◆ checkDeleteChild()

void DataProvider::AbstractDataProvider::checkDeleteChild ( )

Ensures that the data provider supports deleting children.

Exceptions
INVALID-OPERATIONthe data provider does not support the child deletion API
Since
DataProvider 2.0

◆ checkDeleteField()

void DataProvider::AbstractDataProvider::checkDeleteField ( )

Ensures that the data provider supports deleting fields.

Exceptions
INVALID-OPERATIONthe data provider does not support the delete field API
Since
DataProvider 2.0

◆ checkMessages()

void DataProvider::AbstractDataProvider::checkMessages ( )

Ensures that the data provider supports sending messages.

Exceptions
INVALID-OPERATIONthe data provider does not support sending messages
Since
DataProvider 2.5

◆ checkObservable()

void DataProvider::AbstractDataProvider::checkObservable ( )

Ensures that the data provider supports observer pattern / event API.

Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
Since
DataProvider 2.5

◆ checkRead()

void DataProvider::AbstractDataProvider::checkRead ( )

Ensures that the data provider supports read operations.

Exceptions
INVALID-OPERATIONthe data provider does not support read operations

◆ checkRequest()

void DataProvider::AbstractDataProvider::checkRequest ( )

Ensures that the data provider supports the request API.

Exceptions
INVALID-OPERATIONthe data provider does not support the request API

◆ checkSchema()

void DataProvider::AbstractDataProvider::checkSchema ( )

Ensures that the data provider supports a schema.

Exceptions
INVALID-OPERATIONthe data provider does not support a schema
Since
DataProvider 2.2

◆ checkSearchExpressions()

void DataProvider::AbstractDataProvider::checkSearchExpressions ( )

Ensures that the data provider supports advanced search expressions.

Exceptions
INVALID-OPERATIONthe data provider does not support advanced search expressions
Since
DataProvider 2.2

◆ checkUpdate()

void DataProvider::AbstractDataProvider::checkUpdate ( )

Ensures that the data provider supports record upserts.

Exceptions
INVALID-OPERATIONthe data provider does not support record updating

◆ checkUpdateField()

void DataProvider::AbstractDataProvider::checkUpdateField ( )

Ensures that the data provider supports updating fields.

Exceptions
INVALID-OPERATIONthe data provider does not support the update field API
Since
DataProvider 2.0

◆ checkUpsert()

void DataProvider::AbstractDataProvider::checkUpsert ( )

Ensures that the data provider supports record upserts.

Exceptions
INVALID-OPERATIONthe data provider does not support upsert operations

◆ childrenIdentical()

bool DataProvider::AbstractDataProvider::childrenIdentical ( )

Returns True if the data provider's children are all of the same class and all support the same options.

Since
DataProvider 3.0

◆ collectDebugInfo()

void DataProvider::AbstractDataProvider::collectDebugInfo ( hash< DataProviderDebugInfo info)

Collects debug info if a collector is registered.

Parameters
infothe debug information to collect

Subclasses should call this method to report debug information when performing operations. If no collector is registered, this method does nothing.

Since
DataProvider 3.5

◆ commit()

void DataProvider::AbstractDataProvider::commit ( )

Commits data written to the data provider.

Has no effect if the data provider does not support transaction management

See also
:

◆ createChildProvider()

AbstractDataProvider DataProvider::AbstractDataProvider::createChildProvider ( *hash< auto >  child_create_options,
string  name,
hash< string, AbstractDataField fields 
)

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

Parameters
namethe name of the new child data provider
fieldsthe fields for the new child data provider; must have at least one field
child_create_optionsthe options for creating the new child data provider
Returns
the new child data provider
Exceptions
INVALID-OPERATIONthrown if the data provider does not support this API
CREATE-CHILD-PROVIDER-ERRORerror creating the child provider
Since
DataProvider 2.0

◆ createChildProviderImpl()

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

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

Parameters
namethe name of the new child data provider
fieldsthe fields for the new child data provider
child_create_optionsthe options for creating the new child data provider
Returns
the new child data provider
Since
DataProvider 2.0

◆ createRecord()

*hash< auto > DataProvider::AbstractDataProvider::createRecord ( hash< auto >  rec,
*hash< auto >  create_options 
)

Creates the given record in the data provider.

Parameters
reca hash representing a single input record
create_optionsthe create options; will be processed by validateCreateOptions()
Returns
the data written to the data provider
Exceptions
INVALID-OPERATIONthe data provider does not support record creation
CREATE-RECORD-ERRORthe data provider raised an exception in the record creation operation
DUPLICATE-RECORDthis exception should be thrown if the provider fails due to an attempt to create a duplicate record

◆ createRecordImpl()

*hash< auto > DataProvider::AbstractDataProvider::createRecordImpl ( hash< auto >  rec,
*hash< auto >  create_options 
)

Creates the given record in the data provider.

Parameters
reca hash representing a single input record
create_optionsthe create options after processing by validateCreateOptions()
Returns
the data written to the data provider

◆ createRecordsBulk() [1/4]

*hash< auto > DataProvider::AbstractDataProvider::createRecordsBulk ( AbstractDataProviderBulkRecordInterface  stream,
*hash< auto >  create_options 
)

Creates the given records in the data provider.

Parameters
streama record stream for insert
create_optionsthe create options after processing by validateCreateOptions()
Returns
the data written to the data provider for each record in bulk format (keys are field names, values are lists of field values)
Exceptions
DUPLICATE-RECORDthis exception should be thrown if the provider fails due to an attempt to create a duplicate record
Since
DataProvider 3.3

◆ createRecordsBulk() [2/4]

*hash< auto > DataProvider::AbstractDataProvider::createRecordsBulk ( hash< auto >  recs,
*hash< auto >  create_options 
)

Creates the given records in the data provider.

Parameters
recsa hash representing multiple input records, where the keys are field names and values are either lists of field values or a single value that applies to all records
create_optionsthe create options after processing by validateCreateOptions()
Returns
the data written to the data provider for each record in bulk format (keys are field names, values are lists of field values)
Exceptions
DUPLICATE-RECORDthis exception should be thrown if the provider fails due to an attempt to create a duplicate record

◆ createRecordsBulk() [3/4]

*hash< auto > DataProvider::AbstractDataProvider::createRecordsBulk ( HashListIterator  i,
*hash< auto >  create_options 
)

Creates the given records in the data provider.

Parameters
ia record iterator for insert
create_optionsthe create options after processing by validateCreateOptions()
Returns
the data written to the data provider for each record in bulk format (keys are field names, values are lists of field values)
Exceptions
DUPLICATE-RECORDthis exception should be thrown if the provider fails due to an attempt to create a duplicate record
Since
DataProvider 3.3

◆ createRecordsBulk() [4/4]

*hash< auto > DataProvider::AbstractDataProvider::createRecordsBulk ( list< auto >  recs,
*hash< auto >  create_options 
)

Creates the given records in the data provider.

Parameters
recsa list of hashes representing input records, where the keys are field names and values are field values
create_optionsthe create options after processing by validateCreateOptions()
Returns
the data written to the data provider for each record in bulk format (keys are field names, values are lists of field values)
Exceptions
DUPLICATE-RECORDthis exception should be thrown if the provider fails due to an attempt to create a duplicate record

◆ createRecordsBulkImpl()

*hash< auto > DataProvider::AbstractDataProvider::createRecordsBulkImpl ( hash< auto >  recs,
*hash< auto >  create_options 
)

Creates the given records in the data provider.

Parameters
recsa hash representing multiple input records, where the keys are field names and values are either lists of field values or a single value that applies to all records
create_optionsthe create options after processing by validateCreateOptions()
Returns
the data written to the data provider for each record in bulk format (keys are field names, values are lists of field values)

◆ createRecordsBulkIntern()

*hash< auto > DataProvider::AbstractDataProvider::createRecordsBulkIntern ( hash< auto >  recs,
*hash< auto >  create_options 
)

Creates the given records in the data provider.

Parameters
recsa hash representing multiple input records, where the keys are field names and values are either lists of field values or a single value that applies to all records
create_optionsthe create options after processing by validateCreateOptions()
Returns
the data written to the data provider for each record in bulk format (keys are field names, values are lists of field values)

◆ createRecordsBulkWithOptions()

*hash< auto > DataProvider::AbstractDataProvider::createRecordsBulkWithOptions ( *hash< auto >  options)

Creates the given records in the data provider from create action options.

Parameters
optionscreate action options
Returns
the data written to the data provider for each record in bulk format (keys are field names, values are lists of field values)
Exceptions
DUPLICATE-RECORDthis exception should be thrown if the provider fails due to an attempt to create a duplicate record
Since
DataProvider 3.3

◆ createRecordWithOptions()

*hash< auto > DataProvider::AbstractDataProvider::createRecordWithOptions ( *hash< auto >  options)

Creates the given record in the data provider from create action options.

Parameters
optionscreate action options
Returns
the data written to the data provider
Exceptions
INVALID-OPERATIONthe data provider does not support record creation
CREATE-RECORD-ERRORthe data provider raised an exception in the record creation operation
DUPLICATE-RECORDthis exception should be thrown if the provider fails due to an attempt to create a duplicate record
Since
DataProvider 3.3

◆ currentThreadInTransaction()

bool DataProvider::AbstractDataProvider::currentThreadInTransaction ( )

Returns True if the current thread is in a transaction.

Returns
True if the current thread is in a transaction
Exceptions
INVALID-OPERATIONthe data provider does not support transaction management
Since
DataProvider 3.3

◆ currentThreadInTransactionImpl()

bool DataProvider::AbstractDataProvider::currentThreadInTransactionImpl ( )

Returns True if the current thread is in a transaction.

Returns
True if the current thread is in a transaction

◆ debugCollectionEnabled()

bool DataProvider::AbstractDataProvider::debugCollectionEnabled ( )

Returns True if debug collection is enabled.

Returns
True if a debug collector is registered
Since
DataProvider 3.5

◆ deleteChildProvider()

void DataProvider::AbstractDataProvider::deleteChildProvider ( string  name,
*hash< auto >  child_delete_options 
)

Deletes a child data provider.

Parameters
namethe name of the new child data provider
child_delete_optionsthe options for deleting a child data provider
Exceptions
INVALID-OPERATIONthrown if the data provider does not support this API
DELETE-CHILD-PROVIDER-ERRORerror creating the child provider
Since
DataProvider 2.0

◆ deleteChildProviderImpl()

void DataProvider::AbstractDataProvider::deleteChildProviderImpl ( string  name,
*hash< auto >  child_delete_options 
)

Deletes a child data provider.

Parameters
namethe name of the new child data provider
child_delete_optionsthe options for deleting a child data provider
Since
DataProvider 2.0

◆ deleteField()

void DataProvider::AbstractDataProvider::deleteField ( string  name,
*hash< auto >  field_delete_options 
)

Deletes an existing field.

Parameters
namethe name of the field to delete
field_delete_optionsthe options for deleting the new field; processed by validateFieldDeleteOptions()
Exceptions
INVALID-OPERATIONthrown if the data provider does not support this API
DELETE-FIELD-ERRORerror adding the field
Since
DataProvider 2.0

◆ deleteFieldImpl()

void DataProvider::AbstractDataProvider::deleteFieldImpl ( string  name,
*hash< auto >  field_delete_options 
)

Deletes an existing field.

Parameters
namethe name of the field to delete
field_delete_optionsthe options for deleting the new field
Since
DataProvider 2.0

◆ deleteRecords() [1/2]

int DataProvider::AbstractDataProvider::deleteRecords ( *hash< auto >  where_cond,
*hash< auto >  search_options 
)

Deletes zero or more records.

Parameters
where_conda hash for identifying the record(s) to be deleted; will be processed by processFieldValues()
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
the number of records deleted
Exceptions
INVALID-OPERATIONthe data provider does not support record deletion
DELETE-RECORDS-ERRORerror deleting records

◆ deleteRecords() [2/2]

int DataProvider::AbstractDataProvider::deleteRecords ( *hash< DataProviderExpression where_cond,
*hash< auto >  search_options 
)

Deletes zero or more records.

Parameters
where_conda hash for identifying the record(s) to be deleted; will be processed by processSearchParameters()
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
the number of records deleted
Exceptions
INVALID-OPERATIONthe data provider does not support record deletion
DELETE-RECORDS-ERRORerror deleting records
Since
DataProvider 2.3

◆ deleteRecordsImpl()

int DataProvider::AbstractDataProvider::deleteRecordsImpl ( *hash< auto >  where_cond,
*hash< auto >  search_options 
)

Deletes zero or more records.

Parameters
where_conda hash for identifying the record(s) to be deleted
search_optionsthe delete options after processing by validateSearchOptions()
Returns
the number of records deleted

◆ deleteRecordsWithOptions()

int DataProvider::AbstractDataProvider::deleteRecordsWithOptions ( *hash< auto >  options)

Deletes zero or more records from delete action options.

Parameters
optionsaction options
Returns
the number of records deleted
Exceptions
INVALID-OPERATIONthe data provider does not support record deletion
DELETE-RECORDS-ERRORerror deleting records
Since
DataProvider 3.3

◆ doRequest()

auto DataProvider::AbstractDataProvider::doRequest ( auto  req,
*hash< auto >  request_options 
)

Makes a request and returns the response.

Parameters
reqthe request to serialize and make according to the request type
request_optionsthe request options; will be processed by validateRequestOptions()
Returns
the response to the request
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
INVALID-REQUESTthe request argument provided do not match the expected request type

◆ doRequestImpl()

auto DataProvider::AbstractDataProvider::doRequestImpl ( auto  req,
*hash< auto >  request_options 
)

Makes a request and returns the response.

Parameters
reqthe request to serialize and make according to the request type
request_optionsthe request options; will be processed by validateRequestOptions()
Returns
the response to the request

◆ evalGenericExpression()

static auto DataProvider::AbstractDataProvider::evalGenericExpression ( hash< auto >  rec,
hash< DataProviderExpression exp 
)
static

Evaluates the given expression with the generic internal implementation and returns the result.

Since
DataProvider 2.3

◆ generateExampleData()

hash< auto > DataProvider::AbstractDataProvider::generateExampleData ( hash< string, AbstractDataField fields)

Generates example data for the given fields.

Parameters
fieldsthe fields to generate data for
Returns
example data for the given fields
Since
DataProvider 3.0

◆ getAdditionalInfo()

*hash< auto > DataProvider::AbstractDataProvider::getAdditionalInfo ( )

Returns additional provider-specific information.

Since
DataProvider 3.0

◆ getBulkInserter()

AbstractDataProviderBulkOperation DataProvider::AbstractDataProvider::getBulkInserter ( *int  block_size)

Returns a bulk insert operation object for the data provider.

Parameters
block_sizethe block size for the bulk operation; if not given, the default block size for the data provider is used (normally 1000 records)
Returns
a bulk insert operation object for the data provider
Exceptions
INVALID-OPERATIONthe data provider does not support create operations

◆ getBulkRecordInterface()

AbstractDataProviderBulkRecordInterface DataProvider::AbstractDataProvider::getBulkRecordInterface ( int  block_size,
*hash< auto >  search_options 
)

Returns an iterator iterating all records with the bulk read API.

Parameters
block_sizethe number of records in a read block; must be a positive number
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
a bulk record interface object that will return the records in bulk format
Exceptions
INVALID-BLOCK-SIZEthe block size must be a positive number
INVALID-OPERATIONthe data provider does not support reading

◆ getBulkUpserter()

AbstractDataProviderBulkOperation DataProvider::AbstractDataProvider::getBulkUpserter ( *int  block_size)

Returns a bulk upsert operation object for the data provider.

Parameters
block_sizethe block size for the bulk operation; if not given, the default block size for the data provider is used (normally 1000 records)
Returns
a bulk upsert operation object for the data provider
Exceptions
INVALID-OPERATIONthe data provider does not support upsert operations

◆ getChildCreateOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getChildCreateOptions ( )

Returns options that can be used for creating child data providers.

Returns
a hash of options that can be used for creating child data providers; keys are option names, values describe the option; if NOTHING is returned, then the provider does not support any child creation options
Since
DataProvider 2.0

◆ getChildDeleteOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getChildDeleteOptions ( )

Returns options that can be used for deleting child data providers.

Returns
a hash of options that can be used for delete child data providers; keys are option names, values describe the option; if NOTHING is returned, then the provider does not support any child deletion options
Since
DataProvider 2.0

◆ getChildProvider()

*AbstractDataProvider DataProvider::AbstractDataProvider::getChildProvider ( string  name)

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

Parameters
namethe name of the child
Returns
the given child provider or NOTHING if the given child is unknown
Exceptions
INVALID-CHILD-PROVIDERunknown child provider
See also
getChildProviderEx()

◆ getChildProviderEx()

AbstractDataProvider DataProvider::AbstractDataProvider::getChildProviderEx ( string  name)

Returns the given child provider or throws an exception if the given child is unknown.

Parameters
namethe name of the child
Returns
the given child provider or throws an exception if the given child is unknown
Exceptions
INVALID-CHILD-PROVIDERunknown child provider
See also
getChildProvider()

◆ getChildProviderNames()

*list< string > DataProvider::AbstractDataProvider::getChildProviderNames ( )

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

Returns
a list of child data provider names, if any

◆ getChildProviderPath()

AbstractDataProvider DataProvider::AbstractDataProvider::getChildProviderPath ( string  path)

Returns the given child provider from a "/" separated path string.

throws an exception with unknown path elements

Parameters
patha string giving a path to the target provider where child elements are separated by "/" characters
Returns
the target child provider; throws an exception if any element in the path is unknown
Exceptions
INVALID-CHILD-PROVIDERunknown child provider

◆ getConnectionInfo()

*hash< DataProviderConnectionInfo > DataProvider::AbstractDataProvider::getConnectionInfo ( )

Returns connection info if the data provider supports connections, otherwise returns NOTHING.

Returns
connection info if the data provider supports connections, otherwise returns NOTHING
Since
DataProvider 3.0

◆ getCreateOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getCreateOptions ( )

Returns options that can be used for creating records.

Returns
a hash of options that can be used for creating records; keys are option names, values describe the option; if NOTHING is returned, then the provider does not support any creation options

◆ getCreateRecordType()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getCreateRecordType ( *hash< auto >  create_options)

Returns the description of the record type for creating records, if any.

Parameters
create_optionsthe create options; will be processed by validateCreateOptions()
Returns
the record type for creating records or NOTHING if the data provider does not support a record type
Since
DataProvider 3.0

◆ getCreateRecordTypeImpl()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getCreateRecordTypeImpl ( *hash< auto >  create_options)

Returns the description of the record type for creating records, if any.

Parameters
create_optionsthe create options

◆ getCreateRecordTypeWithOptions()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getCreateRecordTypeWithOptions ( *hash< auto >  options,
*hash< auto >  create_options 
)

Returns the description of the record type for creating records in the context of the given options.

Parameters
optionsaction options that may influence the record type
create_optionsthe create options; will be processed by validateCreateOptions()
Returns
the record type for creating records or NOTHING if the data provider does not support a record type
Since
DataProvider 3.3

◆ getCreateRecordTypeWithOptionsImpl()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getCreateRecordTypeWithOptionsImpl ( *hash< auto >  options,
*hash< auto >  create_options 
)

Returns the description of the record type for creating records in the context of the given options.

Parameters
optionsaction options that may influence the record type
create_optionsthe create options; will be processed by validateCreateOptions()
Returns
the record type for creating records or NOTHING if the data provider does not support a record type
Since
DataProvider 3.3

◆ getDebugCollector()

*AbstractDebugInfoCollector DataProvider::AbstractDataProvider::getDebugCollector ( )

Returns the current debug info collector, if any.

Returns
the current debug collector, or NOTHING if none is set
Since
DataProvider 3.5

◆ getDisplayName()

string DataProvider::AbstractDataProvider::getDisplayName ( )

Returns the data provider display name.

Since
DataProvider 3.0

◆ getElementReferenceData()

*list< hash< AllowedValueInfo > > DataProvider::AbstractDataProvider::getElementReferenceData ( string  type,
*hash< auto >  action_opts 
)

Returns element reference data of the given kind if available.

Parameters
typethe unique type name of the element reference data
action_optsan optional hash of action options when called when working with an app action
Returns
a list of allowed values for this data
Exceptions
ELEMENT-REFERENCE-DATA-ERRORthrown if there is an error retrieving the element reference data
Since
DataProvider 3.0

◆ getElementReferenceDataEx()

*list< hash< AllowedValueInfo > > DataProvider::AbstractDataProvider::getElementReferenceDataEx ( string  type,
*hash< auto >  action_opts 
)

Returns element reference data of the given kind if available.

Parameters
typethe unique type name of the element reference data
action_optsan optional hash of action options when called when working with an app action
Returns
a list of allowed values for this data
Exceptions
ELEMENT-REFERENCE-DATA-ERRORthrown if there is an error retrieving the element reference data
UNSUPPORTED-ELEMENT-REFERENCE-DATAthrown if type is not supported as element reference data
Since
DataProvider 3.0

◆ getElementReferenceDataSafe()

*list< hash< AllowedValueInfo > > DataProvider::AbstractDataProvider::getElementReferenceDataSafe ( string  type,
*hash< auto >  action_opts 
)

Returns element reference data of the given kind if available; logs but ignores exceptions retrieving the data.

Parameters
typethe unique type name of the element reference data
action_optsan optional hash of action options when called when working with an app action
Returns
a list of allowed values for this data or nothing if an exception occured retrieving the element reference data
Since
DataProvider 3.0

◆ getElementReferenceDataSafeEx()

*list< hash< AllowedValueInfo > > DataProvider::AbstractDataProvider::getElementReferenceDataSafeEx ( string  type,
*hash< auto >  action_opts 
)

Returns element reference data of the given kind if available.

Parameters
typethe unique type name of the element reference data
action_optsan optional hash of action options when called when working with an app action
Returns
a list of allowed values for this data or nothing if an exception occured retrieving the element reference data

Logs but ignores exceptions retrieving the data; throws an exception if the data type is unsupported

Exceptions
UNSUPPORTED-ELEMENT-REFERENCE-DATAthrown if type is not supported as element reference data
Since
DataProvider 3.0

◆ getEqualityComparisonExpression()

hash< DataProviderExpression > DataProvider::AbstractDataProvider::getEqualityComparisonExpression ( auto  value,
string  key,
int  role,
hash< DataProviderInfo info 
)

Returns an equality comparison expression.

Must be reimplemented by data provider implementations that support expressions and use a symbol different from '=' for the comparison operator

Since
DataProvider 2.3

◆ getErrorResponseType()

AbstractDataProviderType DataProvider::AbstractDataProvider::getErrorResponseType ( string  error_code)

Returns the type for the given error code.

Parameters
error_codethe error code for the response; must be a known error code, or an UNKNOWN-ERROR-RESPONSE exception is thrown
Returns
the type for the given error code
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
UNKNOWN-ERROR-RESPONSEthe error response given is not known

◆ getErrorResponseTypes()

*hash< string, AbstractDataProviderType > DataProvider::AbstractDataProvider::getErrorResponseTypes ( )

Returns a hash of error responses, if any.

Returns
a hash of error responses, if any, keyed by response code or string
Exceptions
INVALID-OPERATIONthe data provider does not support the request API

◆ getErrorResponseTypesImpl()

*hash< string, AbstractDataProviderType > DataProvider::AbstractDataProvider::getErrorResponseTypesImpl ( )

Returns a hash of error responses, if any.

Returns
a hash of error responses, if any, keyed by response code or string
Note
only called if the provider supports the request / response API

◆ getErrorResponseTypesWithOptionsImpl()

*hash< string, AbstractDataProviderType > DataProvider::AbstractDataProvider::getErrorResponseTypesWithOptionsImpl ( *hash< auto >  options)

Returns a hash of error responses, if any, in the context of the given option data.

Returns
a hash of error responses, if any, keyed by response code or string, in the context of the given option data
Note
only called if the provider supports the request / response API

◆ getErrorResponseTypeWithOptionsImpl()

AbstractDataProviderType DataProvider::AbstractDataProvider::getErrorResponseTypeWithOptionsImpl ( string  error_code,
*hash< auto >  options 
)

Returns the type for the given error code in the context of the given option data.

Parameters
error_codethe error code for the response; must be a known error code, or an UNKNOWN-ERROR-RESPONSE exception is thrown
optionsoption data that can be used to determine the final type
Returns
the type for the given error code in the context of the given option data
Exceptions
UNKNOWN-ERROR-RESPONSEthe error response given is not known
Since
DataProvider 3.3

◆ getEventInfo()

hash< DataProviderMessageInfo > DataProvider::AbstractDataProvider::getEventInfo ( string  event_id)

Returns the description of an observable event, if any.

Parameters
event_idthe event ID of the event
Returns
the observable event type for this provider
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
INVALID-EVENTthe event_id is not valid
Since
DataProvider 2.5

◆ getEventInfoImpl()

hash< DataProviderMessageInfo > DataProvider::AbstractDataProvider::getEventInfoImpl ( string  event_id)

Returns the type of an observable event, if any.

Parameters
event_idthe event ID of the event
Returns
the observable event type for this provider
Note
only called if the provider supports the observer pattern / event API
Exceptions
INVALID-EVENTthe event is not supported by this data provider
Since
DataProvider 2.5

◆ getEventInfoWithOptions()

hash< DataProviderMessageInfo > DataProvider::AbstractDataProvider::getEventInfoWithOptions ( string  event_id,
*hash< auto >  options 
)

Returns the description of an observable event, if any with option data, if any.

Parameters
event_idthe event ID of the event
optionsexample option data that can be used to determine the final type
Returns
the event type for this provider according to any call data passed
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
INVALID-EVENTthe event_id is not valid
Note
This API is meant to provide information about event data types that can depend on option data
Since
DataProvider 3.0

◆ getEventInfoWithOptionsImpl()

hash< DataProviderMessageInfo > DataProvider::AbstractDataProvider::getEventInfoWithOptionsImpl ( string  event_id,
*hash< auto >  options 
)

Returns the description of an observable event, if any with option data, if any.

Parameters
event_idthe event ID of the event
optionsexample option data that can be used to determine the final type
Returns
the event type for this provider according to any call data passed
Exceptions
INVALID-EVENTthe event_id is not valid
Note
This API is meant to provide information about event data types that can depend on option data
Since
DataProvider 3.0

◆ getEventTypes()

hash< string, hash< DataProviderMessageInfo > > DataProvider::AbstractDataProvider::getEventTypes ( )

Returns a hash of all supported event types.

Returns
a hash of all supported event types
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
Since
DataProvider 2.5

◆ getEventTypesImpl()

hash< string, hash< DataProviderMessageInfo > > DataProvider::AbstractDataProvider::getEventTypesImpl ( )

Returns a hash of all supported event types.

Returns
a hash of all supported event types
Note
only called if the provider supports the observer pattern / event API
Since
DataProvider 2.5

◆ getEventTypesWithOptions()

hash< string, hash< DataProviderMessageInfo > > DataProvider::AbstractDataProvider::getEventTypesWithOptions ( *hash< auto >  options)

Returns a hash of all supported event types in the context of the given options.

Returns
a hash of all supported event types in the context of the given options
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
Since
DataProvider 3.3

◆ getEventTypesWithOptionsImpl()

hash< string, hash< DataProviderMessageInfo > > DataProvider::AbstractDataProvider::getEventTypesWithOptionsImpl ( *hash< auto >  options)

Returns a hash of all supported event types in the context of the given options.

Parameters
optionsoption data that can be used to determine the final type
Returns
a hash of all supported event types in the context of the given options
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
Since
DataProvider 3.3

◆ getExampleErrorResponseData()

auto DataProvider::AbstractDataProvider::getExampleErrorResponseData ( string  error_code)

Returns example data for the error message with the given error code.

Parameters
error_codethe error code for the response; must be a known error code, or an UNKNOWN-ERROR-RESPONSE exception is thrown
Returns
example data for the error message with the given error code
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
UNKNOWN-ERROR-RESPONSEthe error response given is not known
Since
DataProvider 3.0

◆ getExampleErrorResponseDataImpl()

auto DataProvider::AbstractDataProvider::getExampleErrorResponseDataImpl ( string  error_code)

Returns example data for the error message with the given error code.

Parameters
error_codethe error code for the response; must be a known error code, or an UNKNOWN-ERROR-RESPONSE exception is thrown
Returns
example data for the error message with the given error code
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
UNKNOWN-ERROR-RESPONSEthe error response given is not known
Since
DataProvider 3.0

◆ getExampleErrorResponseDataWithOptions()

auto DataProvider::AbstractDataProvider::getExampleErrorResponseDataWithOptions ( string  error_code,
*hash< auto >  options 
)

Returns example data for the error message with the given error code in the context of the given option data.

Parameters
error_codethe error code for the response; must be a known error code, or an UNKNOWN-ERROR-RESPONSE exception is thrown
optionsoption data that can be used to determine the final type
Returns
example data for the error message with the given error code in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
UNKNOWN-ERROR-RESPONSEthe error response given is not known
Since
DataProvider 3.3

◆ getExampleErrorResponseDataWithOptionsImpl()

auto DataProvider::AbstractDataProvider::getExampleErrorResponseDataWithOptionsImpl ( string  error_code,
*hash< auto >  options 
)

Returns example data for the error message with the given error code in the context of the given option data.

Parameters
optionsaction option data for the request
error_codethe error code for the response; must be a known error code, or an UNKNOWN-ERROR-RESPONSE exception is thrown
Returns
example data for the error message with the given error code in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
UNKNOWN-ERROR-RESPONSEthe error response given is not known
Since
DataProvider 3.3

◆ getExampleEventData()

auto DataProvider::AbstractDataProvider::getExampleEventData ( string  event_id)

Returns example data for the given observable event.

Parameters
event_idthe event ID of the event
Returns
example data for the given observable event
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
INVALID-EVENTthe event_id is not valid
Since
DataProvider 3.0

◆ getExampleEventDataImpl()

auto DataProvider::AbstractDataProvider::getExampleEventDataImpl ( string  event_id)

Returns example data for the given observable event.

Parameters
event_idthe event ID of the event
Returns
example data for the given observable event
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
INVALID-EVENTthe event_id is not valid
Since
DataProvider 3.0

◆ getExampleEventDataWithOptions()

auto DataProvider::AbstractDataProvider::getExampleEventDataWithOptions ( string  event_id,
*hash< auto >  options 
)

Returns example data for the given observable event in the context of the given option data.

Parameters
optionsoption data that can be used to determine the final type
event_idthe event ID of the event
Returns
example data for the given observable event in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
INVALID-EVENTthe event_id is not valid
Since
DataProvider 3.3

◆ getExampleEventDataWithOptionsImpl()

auto DataProvider::AbstractDataProvider::getExampleEventDataWithOptionsImpl ( string  event_id,
*hash< auto >  options 
)

Returns example data for the given observable event in the context of the given option data.

Parameters
event_idthe event ID of the event
optionsaction option data
Returns
example data for the given observable event in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
INVALID-EVENTthe event_id is not valid
Since
DataProvider 3.3

◆ getExampleRecordData()

hash< auto > DataProvider::AbstractDataProvider::getExampleRecordData ( )

Returns example data for the record type.

Returns
example data for the record type
Since
DataProvider 3.0

◆ getExampleRecordDataImpl()

hash< auto > DataProvider::AbstractDataProvider::getExampleRecordDataImpl ( )

Returns example data for the record type.

Returns
example data for the record type
Since
DataProvider 3.0

◆ getExampleRecordDataWithOptions()

hash< auto > DataProvider::AbstractDataProvider::getExampleRecordDataWithOptions ( *hash< auto >  options)

Returns example data for the record type in the context of the given option data.

Parameters
optionsoption data that can be used to determine the final type
Returns
example data for the record type in the context of the given option data
Since
DataProvider 3.3

◆ getExampleRecordDataWithOptionsImpl()

hash< auto > DataProvider::AbstractDataProvider::getExampleRecordDataWithOptionsImpl ( *hash< auto >  options)

Returns example data for the record type in the context of the given option data.

Parameters
optionsaction option data
Returns
example data for the record type in the context of the given option data
Since
DataProvider 3.3

◆ getExampleRequestData()

auto DataProvider::AbstractDataProvider::getExampleRequestData ( )

Returns example data for a request message.

Returns
example data for a request message
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Since
DataProvider 3.0

◆ getExampleRequestDataImpl()

auto DataProvider::AbstractDataProvider::getExampleRequestDataImpl ( )

Returns example data for a request message.

Returns
example data for a request message
Since
DataProvider 3.0

◆ getExampleRequestDataWithOptions()

auto DataProvider::AbstractDataProvider::getExampleRequestDataWithOptions ( *hash< auto >  options)

Returns example data for a request message in the context of the given option data.

Parameters
optionsoption data that can be used to determine the final type
Returns
example data for a request message in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Since
DataProvider 3.3

◆ getExampleRequestDataWithOptionsImpl()

auto DataProvider::AbstractDataProvider::getExampleRequestDataWithOptionsImpl ( *hash< auto >  options)

Returns example data for a request message in the context of the given option data.

Parameters
optionsaction option data for the request
Returns
example data for a request message in the context of the given option data
Since
DataProvider 3.3

◆ getExampleResponseData()

auto DataProvider::AbstractDataProvider::getExampleResponseData ( )

Returns example data for a successful request message.

Returns
example data for a successful request message
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Since
DataProvider 3.0

◆ getExampleResponseDataImpl()

auto DataProvider::AbstractDataProvider::getExampleResponseDataImpl ( )

Returns example data for a successful request message.

Returns
example data for a successful request message
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Since
DataProvider 3.0

◆ getExampleResponseDataWithOptions()

auto DataProvider::AbstractDataProvider::getExampleResponseDataWithOptions ( *hash< auto >  options)

Returns example data for a successful request message in the context of the given option data.

Parameters
optionsoption data that can be used to determine the final type
Returns
example data for a successful request message in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Since
DataProvider 3.3

◆ getExampleResponseDataWithOptionsImpl()

auto DataProvider::AbstractDataProvider::getExampleResponseDataWithOptionsImpl ( *hash< auto >  options)

Returns example data for a successful request message in the context of the given option data.

Parameters
optionsaction option data for the request
Returns
example data for a successful request message in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Since
DataProvider 3.3

◆ getExpression()

static hash< DataProviderExpressionInfo > DataProvider::AbstractDataProvider::getExpression ( *hash< string, hash< DataProviderExpressionInfo > >  expmap,
int  role,
string  exp 
)
static

Returns an expression definition for an expression code or throws an exception.

Since
DataProvider 2.3

◆ getExpressionsWithOptions()

*hash< string, hash< DataProviderExpressionInfo > > DataProvider::AbstractDataProvider::getExpressionsWithOptions ( *hash< auto >  options)

Returns supported expression in the context of the given option data.

Since
DataProvider 3.3

◆ getFieldAddOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getFieldAddOptions ( )

Returns options that can be used for adding new fields to the data provider.

Returns
a hash of options that can be used for adding new fields; keys are option names, values describe the option; if NOTHING is returned, then the provider does not support any add field options
Since
DataProvider 2.0

◆ getFieldDeleteOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getFieldDeleteOptions ( )

Returns options that can be used for deleting fields from the data provider.

Returns
a hash of options that can be used for deleting fields; keys are option names, values describe the option; if NOTHING is returned, then the provider does not support any delete field options
Since
DataProvider 2.0

◆ getFieldUpdateOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getFieldUpdateOptions ( )

Returns options that can be used for updating fields of the data provider.

Returns
a hash of options that can be used for updating fields; keys are option names, values describe the option; if NOTHING is returned, then the provider does not support any update field options
Since
DataProvider 2.0

◆ getInfoAsData()

hash< auto > DataProvider::AbstractDataProvider::getInfoAsData ( *bool  with_type_info)

Returns static provider information as data; no objects are returned.

Parameters
with_type_infoif True then more type information will be returned in the response
Note
the name and children attributes are not returned as they are dynamic attributes

◆ getMessageInfo()

hash< DataProviderMessageInfo > DataProvider::AbstractDataProvider::getMessageInfo ( string  message_id)

Returns the description of an outbound message, if any.

Parameters
message_idthe ID of the message
Returns
the message type for this provider
Exceptions
INVALID-OPERATIONthe data provider does not support sending messages
INVALID-MESSAGEthe message_id is not valid
Since
DataProvider 2.5

◆ getMessageInfoImpl()

hash< DataProviderMessageInfo > DataProvider::AbstractDataProvider::getMessageInfoImpl ( string  message_id)

Returns the type of an outbound message, if any.

Parameters
message_idthe ID of the message
Returns
the message type for this provider
Exceptions
INVALID-MESSAGEthe message is not supported by this data provider
Since
DataProvider 2.5

◆ getMessageSupport()

string DataProvider::AbstractDataProvider::getMessageSupport ( )

Returns a code describing how the data provider supports sending messages.

Since
DataProvider 2.5

◆ getMessageTypes()

hash< string, hash< DataProviderMessageInfo > > DataProvider::AbstractDataProvider::getMessageTypes ( )

Returns a hash of all supported outbound messages.

Returns
a hash of all supported outbound messages
Exceptions
INVALID-OPERATIONthe data provider does not support sending messages
Since
DataProvider 2.5

◆ getMessageTypesImpl()

hash< string, hash< DataProviderMessageInfo > > DataProvider::AbstractDataProvider::getMessageTypesImpl ( )

Returns a hash of all supported outbound messages.

Returns
a hash of all supported outbound messages
Exceptions
INVALID-OPERATIONthe data provider does not support sending messages
Since
DataProvider 2.5

◆ getMessageTypesWithOptions()

hash< string, hash< DataProviderMessageInfo > > DataProvider::AbstractDataProvider::getMessageTypesWithOptions ( *hash< auto >  options)

Returns a hash of all supported outbound messages with options.

Parameters
optionsany action options that can affect the message types returned
Returns
a hash of all supported outbound messages
Exceptions
INVALID-OPERATIONthe data provider does not support sending messages
Since
DataProvider 3.3

◆ getMessageTypesWithOptionsImpl()

hash< string, hash< DataProviderMessageInfo > > DataProvider::AbstractDataProvider::getMessageTypesWithOptionsImpl ( *hash< auto >  options)

Returns a hash of all supported outbound messages with options.

Parameters
optionsany action options that can affect the message types returned
Returns
a hash of all supported outbound messages
Exceptions
INVALID-OPERATIONthe data provider does not support sending messages
Since
DataProvider 3.3

◆ getRecordIterator()

AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::getRecordIterator ( *hash< auto >  search_options)

Returns an iterator iterating all records.

Parameters
search_optionsthe search options; will be processed by validateSearchOptions()
Exceptions
INVALID-OPERATIONthe data provider does not support reading

◆ getRecordType()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getRecordType ( *hash< auto >  search_options)

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
Returns
the record type or NOTHING if the data provider does not support a record type

◆ getRecordTypeImpl()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getRecordTypeImpl ( *hash< auto >  search_options)

Returns the description of the record type, if any.

Parameters
search_optionsany search options

◆ getRecordTypeWithOptions()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getRecordTypeWithOptions ( *hash< auto >  options,
*hash< auto >  search_options 
)

Returns the description of the record type in the context of the given options.

Parameters
optionsaction options that may influence the record type
search_optionsto be included and processed by validateSearchOptions() if recordRequiresSearchOptions() is True for this provider, otherwise any value provided in this argument is ignored
Returns
the record type or NOTHING if the data provider does not support a record type
Since
DataProvider 3.3

◆ getRecordTypeWithOptionsImpl()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getRecordTypeWithOptionsImpl ( *hash< auto >  options,
*hash< auto >  search_options 
)

Returns the description of the record type in the context of the given options.

Parameters
optionsaction options that may influence the record type
search_optionsto be included and processed by validateSearchOptions() if recordRequiresSearchOptions() is True for this provider, otherwise any value provided in this argument is ignored
Returns
the record type or NOTHING if the data provider does not support a record type
Since
DataProvider 3.3

◆ getReferenceData()

*list< hash< AllowedValueInfo > > DataProvider::AbstractDataProvider::getReferenceData ( string  type,
*hash< auto >  action_opts 
)

Returns reference data of the given kind if available.

Parameters
typethe unique type name of the reference data
action_optsan optional hash of action options when called when working with an app action
Returns
a list of allowed values for this data
Exceptions
REFERENCE-DATA-ERRORthrown if there is an error retrieving the reference data
Since
DataProvider 3.0

◆ getReferenceDataEx()

*list< hash< AllowedValueInfo > > DataProvider::AbstractDataProvider::getReferenceDataEx ( string  type,
*hash< auto >  action_opts 
)

Returns reference data of the given kind if available.

Parameters
typethe unique type name of the reference data
action_optsan optional hash of action options when called when working with an app action
Returns
a list of allowed values for this data
Exceptions
REFERENCE-DATA-ERRORthrown if there is an error retrieving the reference data
UNSUPPORTED-REFERENCE-DATAthrown if type is not supported as reference data
Since
DataProvider 3.0

◆ getReferenceDataSafe()

*list< hash< AllowedValueInfo > > DataProvider::AbstractDataProvider::getReferenceDataSafe ( string  type,
*hash< auto >  action_opts 
)

Returns reference data of the given kind if available; logs but ignores exceptions retrieving the data.

Parameters
typethe unique type name of the reference data
action_optsan optional hash of action options when called when working with an app action
Returns
a list of allowed values for this data or nothing if an exception occured retrieving the reference data
Since
DataProvider 3.0

◆ getReferenceDataSafeEx()

*list< hash< AllowedValueInfo > > DataProvider::AbstractDataProvider::getReferenceDataSafeEx ( string  type,
*hash< auto >  action_opts 
)

Returns reference data of the given kind if available.

Parameters
typethe unique type name of the reference data
action_optsan optional hash of action options when called when working with an app action
Returns
a list of allowed values for this data or nothing if an exception occured retrieving the reference data

Logs but ignores exceptions retrieving the data; throws an exception if the data type is unsupported

Exceptions
UNSUPPORTED-REFERENCE-DATAthrown if type is not supported as reference data
Since
DataProvider 3.0

◆ getReferenceDataValue()

auto DataProvider::AbstractDataProvider::getReferenceDataValue ( string  type,
*hash< auto >  action_opts 
)

Returns a reference data value of the given kind if available.

Parameters
typethe unique type name of the reference data
action_optsan optional hash of action options when called when working with an app action
Returns
the value of the reference data
Exceptions
REFERENCE-DATA-ERRORthrown if there is an error retrieving the reference data
Since
DataProvider 3.0

◆ getReferenceDataValueEx()

auto DataProvider::AbstractDataProvider::getReferenceDataValueEx ( string  type,
*hash< auto >  action_opts 
)

Returns a reference data value of the given kind if available.

Parameters
typethe unique type name of the reference data
action_optsan optional hash of action options when called when working with an app action
Returns
the value of the reference data
Exceptions
REFERENCE-DATA-ERRORthrown if there is an error retrieving the reference data
UNSUPPORTED-REFERENCE-DATAthrown if type is not supported as reference data
Since
DataProvider 3.0

◆ getReferenceDataValueSafe()

auto DataProvider::AbstractDataProvider::getReferenceDataValueSafe ( string  type,
*hash< auto >  action_opts 
)

Returns a reference data value of the given kind if available; logs but ignores exceptions retrieving the data.

Parameters
typethe unique type name of the reference data value
action_optsan optional hash of action options when called when working with an app action
Returns
the reference data value or nothing if an exception occured retrieving the reference data value
Since
DataProvider 3.0

◆ getReferenceDataValueSafeEx()

auto DataProvider::AbstractDataProvider::getReferenceDataValueSafeEx ( string  type,
*hash< auto >  action_opts 
)

Returns reference data of the given kind if available.

Parameters
typethe unique type name of the reference data
action_optsan optional hash of action options when called when working with an app action
Returns
a list of allowed values for this data or nothing if an exception occured retrieving the reference data

Logs but ignores exceptions retrieving the data; throws an exception if the data type is unsupported

Exceptions
UNSUPPORTED-REFERENCE-DATAthrown if type is not supported as reference data
Since
DataProvider 3.0

◆ getRequestOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getRequestOptions ( )

Returns options that can be used for requests.

Returns
a hash of options that can be used for requests; keys are request option names, values describe the request option; if NOTHING is returned, then the provider does not support any request options

◆ getRequestType()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getRequestType ( )

Returns the description of a successful request message, if any.

Returns
the request type for this provider
Exceptions
INVALID-OPERATIONthe data provider does not support the request API

◆ getRequestTypeImpl()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getRequestTypeImpl ( )

Returns the description of a successful request message, if any.

Returns
the request type for this provider
Note
only called if the provider supports the request / response API

◆ getRequestTypeWithData()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getRequestTypeWithData ( auto  req)

Returns the description of a successful request message with call data, if any.

Parameters
reqsample request data that can be used to determine the final type
Returns
the request type for this provider according to any call data passed
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Note
This API is meant to provide information about request data types that can depend on the call data
Since
DataProvider 3.0

◆ getRequestTypeWithOptions()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getRequestTypeWithOptions ( *hash< auto >  options)

Returns the description of a successful request message in the context of the given option data.

Parameters
optionsaction option data for the data provider
Returns
the request type for this provider in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Note
This API is meant to provide information about request data types that can depend on the option data
Since
DataProvider 3.3

◆ getRequestTypeWithOptionsImpl()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getRequestTypeWithOptionsImpl ( *hash< auto >  options)

Returns the description of a successful request message in the context of the given option data.

Parameters
optionsaction option data for the data provider
Returns
the request type for this provider in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Note
This API is meant to provide information about request data types that can depend on the option data
Since
DataProvider 3.3

◆ getResponseType()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getResponseType ( )

Returns the description of a response message, if this object represents a response message.

Returns
the response type for this response message
Exceptions
INVALID-OPERATIONthe data provider does not support the request API

◆ getResponseTypeImpl()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getResponseTypeImpl ( )

Returns the description of a response message, if this object represents a response message.

Returns
the response type for this response message
Note
only called if the provider supports the request / response API

◆ getResponseTypeWithData()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getResponseTypeWithData ( auto  req)

Returns the description of a successful response message with call data, if any.

Parameters
reqsample request data that can be used to determine the final type
Returns
the response type for this provider according to any call data passed
Exceptions
INVALID-OPERATIONthe data provider does not support the request / response API
Note
This API is meant to provide information about response data types that can depend on the call data
Since
DataProvider 3.0

◆ getResponseTypeWithOptions()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getResponseTypeWithOptions ( *hash< auto >  options)

Returns the description of a successful response message in the context of the given option data.

Parameters
optionsaction option data for the data provider
Returns
the response type for this provider in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request / response API
Note
This API is meant to provide information about response data types that can depend on the call data
Since
DataProvider 3.3

◆ getResponseTypeWithOptionsImpl()

*AbstractDataProviderType DataProvider::AbstractDataProvider::getResponseTypeWithOptionsImpl ( *hash< auto >  options)

Returns the description of a successful response message in the context of the given option data.

Parameters
optionsaction option data for the data provider
Returns
the response type for this provider in the context of the given option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request / response API
Note
This API is meant to provide information about response data types that can depend on the call data
Since
DataProvider 3.3

◆ getSchemaObject()

object DataProvider::AbstractDataProvider::getSchemaObject ( )

Returns the schema supporting this data provider.

Returns
the schema supporting this data provider
Exceptions
INVALID-OPERATIONthrown if the data provider does not support this API
Since
DataProvider 2.2

◆ getSchemaObjectImpl()

object DataProvider::AbstractDataProvider::getSchemaObjectImpl ( )

Returns the schema object supporting this data provider.

Returns
the schema object supporting this data provider
Since
DataProvider 2.2

◆ getSchemaType()

*object DataProvider::AbstractDataProvider::getSchemaType ( )

Returns the schema type for this data provider or NOTHING if no schema type is supported.

Since
DataProvider 2.2

◆ getSearchExpression()

*hash< auto > DataProvider::AbstractDataProvider::getSearchExpression ( *hash< auto >  where_cond,
*hash< auto >  search_options 
)

Returns a search expression for a standard search hash.

Parameters
where_condthe search criteria; if the data provider supports advanced search, and the value is an expression, it will be processed by processSearchParameters(), otherwise by processFieldValues()
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
a search expression corresponding to where_cond
Since
DataProvider 2.3

◆ getSearchOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getSearchOptions ( )

Returns options that can be used for searching.

Returns
a hash of options that can be used for searching; keys are search option names, values describe the search option; if NOTHING is returned, then the provider does not support any search options

◆ getSendMessageOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getSendMessageOptions ( )

Returns options that can be used for sending messages from the data provider.

Returns
a hash of options that can be used for sending messages; keys are option names, values describe the option; if NOTHING is returned, then the provider does not support any message send options
Since
DataProvider 2.5

◆ getShortDesc()

*string DataProvider::AbstractDataProvider::getShortDesc ( )

Returns the data provider short description.

Since
DataProvider 3.0

◆ getUpdateRecordType()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getUpdateRecordType ( *hash< auto >  search_options)

Returns the description of the record type for updating records, 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
Returns
the record type for updating records or NOTHING if the data provider does not support a record type
Since
DataProvider 3.0

◆ getUpdateRecordTypeImpl()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getUpdateRecordTypeImpl ( *hash< auto >  search_options)

Returns the description of the record type for updates, if any.

Parameters
search_optionsany search options

◆ getUpdateRecordTypeWithOptions()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getUpdateRecordTypeWithOptions ( *hash< auto >  options,
*hash< auto >  search_options 
)

Returns the description of the record type for updating records in the context of the given options.

Parameters
optionsaction options that may influence the record type
search_optionsto be included and processed by validateSearchOptions() if recordRequiresSearchOptions() is True for this provider, otherwise any value provided in this argument is ignored
Returns
the record type for updating records or NOTHING if the data provider does not support a record type
Since
DataProvider 3.3

◆ getUpdateRecordTypeWithOptionsImpl()

*hash< string, AbstractDataField > DataProvider::AbstractDataProvider::getUpdateRecordTypeWithOptionsImpl ( *hash< auto >  options,
*hash< auto >  search_options 
)

Returns the description of the record type for updating records in the context of the given options.

Parameters
optionsaction options that may influence the record type
search_optionsto be included and processed by validateSearchOptions() if recordRequiresSearchOptions() is True for this provider, otherwise any value provided in this argument is ignored
Returns
the record type for updating records or NOTHING if the data provider does not support a record type
Since
DataProvider 3.3

◆ getUpsertOptions()

*hash< string, hash< DataProviderOptionInfo > > DataProvider::AbstractDataProvider::getUpsertOptions ( )

Returns options that can be used for upserting records.

Returns
a hash of options that can be used for upserting records; keys are option names, values describe the option; if NOTHING is returned, then the provider does not support any upsert options

◆ getWhereCondActionOption()

hash< ActionOptionInfo > DataProvider::AbstractDataProvider::getWhereCondActionOption ( *hash< string, hash< DataProviderExpressionInfo > >  expressions)

Returns an action where condition option in the context of the given option data.

Since
DataProvider 3.3

◆ hasRecord()

bool DataProvider::AbstractDataProvider::hasRecord ( )

Returns True if the data provider has a record type.

Returns
True if the data provider has a record type

◆ processSearchParameters()

*hash< DataProviderExpression > DataProvider::AbstractDataProvider::processSearchParameters ( *hash< DataProviderExpression exp,
*hash< auto >  search_options 
)

processes search parameter expressions

Parameters
expthe expression to process
search_optionsthe search options after processing by validateSearchOptions()
Returns
the processed expression

◆ registerChild()

static void DataProvider::AbstractDataProvider::registerChild ( string  name,
code  generator 
)
static

Registers a child data provider if the data provider supports children and is extensible.

Parameters
namethe child's name
generatorcode to generate the child; prototype: sub (string name, AbstractConnection conn) {}
Exceptions
UNSUPPORTED-ERRORthis exception is thrown by default, to support adding children, override this method
Since
DataProvider 3.0

◆ requestSearchRecords() [1/2]

AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::requestSearchRecords ( *hash< auto >  search_options,
auto  req,
*hash< auto >  where_cond 
)

Returns an iterator for zero or more records matching the search options according to an API request.

Parameters
reqthe request to serialize and make according to the request type
where_condthe search criteria; will be processed by processFieldValues()
search_optionsthe search options after processing by validateSearchOptions()

This will execute the request and perform a default search on any record(s) returned

Exceptions
INVALID-OPERATIONthe data provider does not support reading records or the request / response API

◆ requestSearchRecords() [2/2]

AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::requestSearchRecords ( *hash< auto >  search_options,
auto  req,
*hash< DataProviderExpression where_cond 
)

Returns an iterator for zero or more records matching the search options according to an API request.

Parameters
reqthe request to serialize and make according to the request type
where_condthe search criteria; will be processed by processFieldValues()
search_optionsthe search options after processing by validateSearchOptions()

This will execute the request and perform a default search on any record(s) returned

Exceptions
INVALID-OPERATIONthe data provider does not support reading records or the request / response API
Since
DataProvider 2.3

◆ requestSearchRecordsImpl()

AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::requestSearchRecordsImpl ( *hash< auto >  search_options,
auto  req,
*hash< auto >  where_cond 
)

Returns an iterator for zero or more records matching the search options according to an API request.

Parameters
reqthe request to serialize and make according to the request type
where_condthe search criteria; after processing by processSearchParameters()
search_optionsthe search options after processing by validateSearchOptions()

This will execute the request and perform a default search on any record(s) returned

See also
searchRecordsImpl()

◆ requiresTransactionManagement()

bool DataProvider::AbstractDataProvider::requiresTransactionManagement ( )

Returns True if the data provider requires transaction management.

Returns
True if the data provider requires transaction management, in which case commit() or rollback() must be called to flush or discard pending changes to the data provider

◆ rollback()

void DataProvider::AbstractDataProvider::rollback ( )

Rolls back data written to the data provider.

Has no effect if the data provider does not support transaction management

See also
:

◆ searchFirstRecord() [1/2]

*hash< auto > DataProvider::AbstractDataProvider::searchFirstRecord ( hash< auto >  where_cond,
*hash< auto >  search_options 
)

Returns the first record matching the search options.

Parameters
where_condthe search criteria; will be processed by processFieldValues()
search_optionsthe search options; will be processed by validateSearchOptions()
Exceptions
INVALID-OPERATIONthe data provider does not support reading
NO-DATAthe required_result search option was set and no record was found

◆ searchFirstRecord() [2/2]

*hash< auto > DataProvider::AbstractDataProvider::searchFirstRecord ( hash< DataProviderExpression where_cond,
*hash< auto >  search_options 
)

Returns the first record matching the search options.

Parameters
where_condthe search criteria; will be processed by processSearchParameters()
search_optionsthe search options; will be processed by validateSearchOptions()
Exceptions
INVALID-OPERATIONthe data provider does not support reading
NO-DATAthe required_result search option was set and no record was found
Since
DataProvider 2.3

◆ searchFirstRecordWithOptions()

*hash< auto > DataProvider::AbstractDataProvider::searchFirstRecordWithOptions ( *hash< auto >  options)

Returns the first record matching the search action options.

Parameters
optionssearch action options
Exceptions
INVALID-OPERATIONthe data provider does not support reading
NO-DATAthe required_result search option was set and no record was found
Since
DataProvider 3.3

◆ searchRecords() [1/2]

AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::searchRecords ( *hash< auto >  where_cond,
*hash< auto >  search_options 
)

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

Parameters
where_condthe search criteria; will be processed by processFieldValues()
search_optionsthe search options; will be processed by validateSearchOptions()
Exceptions
INVALID-OPERATIONthe data provider does not support reading

◆ searchRecords() [2/2]

AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::searchRecords ( *hash< DataProviderExpression where_cond,
*hash< auto >  search_options 
)

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

Parameters
where_condthe search criteria; will be processed by processSearchParameters()
search_optionsthe search options; will be processed by validateSearchOptions()
Exceptions
INVALID-OPERATIONthe data provider does not support reading
Since
DataProvider 2.3

◆ searchRecordsBulk() [1/2]

AbstractDataProviderBulkRecordInterface DataProvider::AbstractDataProvider::searchRecordsBulk ( int  block_size,
*hash< auto >  search_options,
*hash< auto >  where_cond 
)

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; will be processed by processFieldValues()
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
a bulk record interface object that will return the records in bulk format
Exceptions
INVALID-BLOCK-SIZEthe block size must be a positive number
INVALID-OPERATIONthe data provider does not support reading

◆ searchRecordsBulk() [2/2]

AbstractDataProviderBulkRecordInterface DataProvider::AbstractDataProvider::searchRecordsBulk ( int  block_size,
*hash< auto >  search_options,
*hash< DataProviderExpression where_cond 
)

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; will be processed by processSearchParameters()
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
a bulk record interface object that will return the records in bulk format
Exceptions
INVALID-BLOCK-SIZEthe block size must be a positive number
INVALID-OPERATIONthe data provider does not support reading
Since
DataProvider 2.3

◆ searchRecordsBulkImpl()

AbstractDataProviderBulkRecordInterface DataProvider::AbstractDataProvider::searchRecordsBulkImpl ( int  block_size,
*hash< auto >  search_options,
*hash< auto >  where_cond 
)

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

◆ searchRecordsBulkWithOptions()

AbstractDataProviderBulkRecordInterface DataProvider::AbstractDataProvider::searchRecordsBulkWithOptions ( *hash< auto >  options)

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

Parameters
optionssearch action options
Returns
a bulk record interface object that will return the records in bulk format
Exceptions
INVALID-BLOCK-SIZEthe block size must be a positive number
INVALID-OPERATIONthe data provider does not support reading
Since
DataProvider 3.3

◆ searchRecordsImpl()

AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::searchRecordsImpl ( *hash< auto >  where_cond,
*hash< auto >  search_options 
)

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

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

◆ searchRecordsWithOptions()

AbstractDataProviderRecordIterator DataProvider::AbstractDataProvider::searchRecordsWithOptions ( *hash< auto >  options)

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

param options search action options

Exceptions
INVALID-OPERATIONthe data provider does not support reading
Since
DataProvider 3.3

◆ searchSingleRecord() [1/2]

*hash< auto > DataProvider::AbstractDataProvider::searchSingleRecord ( *hash< auto >  where_cond,
*hash< auto >  search_options 
)

Returns a single record matching the search options.

Parameters
where_condthe search criteria; will be processed by processFieldValues()
search_optionsthe search options; will be processed by validateSearchOptions()
Exceptions
INVALID-OPERATIONthe data provider does not support reading
MULTIPLE-RECORDS-ERRORmultiple records found
NO-DATAthe required_result search option was set and no record was found

◆ searchSingleRecord() [2/2]

*hash< auto > DataProvider::AbstractDataProvider::searchSingleRecord ( hash< DataProviderExpression where_cond,
*hash< auto >  search_options 
)

Returns a single record matching the search options.

Parameters
where_condthe search criteria; will be processed by processSearchParameters()
search_optionsthe search options; will be processed by validateSearchOptions()
Exceptions
INVALID-OPERATIONthe data provider does not support reading
MULTIPLE-RECORDS-ERRORmultiple records found
NO-DATAthe required_result search option was set and no record was found
Since
DataProvider 2.3

◆ searchSingleRecordWithOptions()

*hash< auto > DataProvider::AbstractDataProvider::searchSingleRecordWithOptions ( *hash< auto >  options)

Returns a single record matching the search action options.

Parameters
optionssearch action options
Exceptions
INVALID-OPERATIONthe data provider does not support reading
MULTIPLE-RECORDS-ERRORmultiple records found
NO-DATAthe required_result search option was set and no record was found
Since
DataProvider 3.3

◆ sendMessage()

void DataProvider::AbstractDataProvider::sendMessage ( *hash< auto >  send_message_options,
string  message_id,
auto  msg 
)

Sends a message from message-capable data providers.

Parameters
message_idthe message ID to send; must correspond to a valid message ID
msgthe message to send
send_message_optionsthe options for sending the message; processed by validateSendMessageOptions()
Exceptions
INVALID-OPERATIONthrown if the data provider does not support this API
INVALID-MESSAGEthe message_id is not valid
SEND-MESSAGE-ERRORerror sending the message
Since
DataProvider 2.5

◆ sendMessageImpl()

void DataProvider::AbstractDataProvider::sendMessageImpl ( *hash< auto >  send_message_options,
string  message_id,
auto  msg 
)

Sends a message from message-capable data providers.

Parameters
message_idthe message ID to send; must correspond to a valid message ID
msgthe message to send
send_message_optionsthe options for sending the message
Since
DataProvider 2.5

◆ setDebugCollector()

void DataProvider::AbstractDataProvider::setDebugCollector ( *AbstractDebugInfoCollector  collector)

Sets the debug info collector for this data provider.

Parameters
collectorthe debug collector to use, or NOTHING to disable debug collection

When a debug collector is set, the data provider will call the collector's AbstractDebugInfoCollector::collect method with technical debug information about operations (HTTP requests, WebSocket messages, etc.).

Example:
BufferedDebugInfoCollector collector();
provider.setDebugCollector(collector);
# Make requests - debug info is collected
auto response = provider.doRequest(request);
# Retrieve collected debug info
list<hash<DataProviderDebugInfo>> info = collector.getAll();
Since
DataProvider 3.5

◆ setDynamicValueCallbacks() [1/2]

static bool DataProvider::AbstractDataProvider::setDynamicValueCallbacks ( )
static

Ensures that no callbacks can be set for dynamic URI resolution.

Returns
False if this call was ignored because callbacks are locked, True if the call was successful
Note
after this call, callbacks cannot be changed

◆ setDynamicValueCallbacks() [2/2]

static bool DataProvider::AbstractDataProvider::setDynamicValueCallbacks ( code  value_needs_resolution,
code  resolve_value 
)
static

Set callbacks for dynamic URI resolution to allow for variable URI path elements to be resolved at runtime.

Parameters
value_needs_resolutionsignature bool sub (string value) { ... }; this callback will be used to check if a URI path needs dynamic resolution
resolve_valuesignature 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
Returns
False if this call was ignored because callbacks are locked, True if the call was successful
Note
after this call, callbacks cannot be changed

◆ supportsAddField()

bool DataProvider::AbstractDataProvider::supportsAddField ( )

Returns True if the data provider supports creating adding new fields.

Since
DataProvider 2.0

◆ supportsChildren()

bool DataProvider::AbstractDataProvider::supportsChildren ( )

Returns True if the data provider supports children.

Since
DataProvider 3.0

◆ supportsCreateChild()

bool DataProvider::AbstractDataProvider::supportsCreateChild ( )

Returns True if the data provider supports creating new child data providers.

Since
DataProvider 2.0

◆ supportsDeleteChild()

bool DataProvider::AbstractDataProvider::supportsDeleteChild ( )

Returns True if the data provider supports creating deleting child data providers.

Since
DataProvider 2.0

◆ supportsDeleteField()

bool DataProvider::AbstractDataProvider::supportsDeleteField ( )

Returns True if the data provider supports deleting existing fields.

Since
DataProvider 2.0

◆ supportsMessages()

bool DataProvider::AbstractDataProvider::supportsMessages ( )

Returns True if the data provider supports sending messages.

Since
DataProvider 2.5

◆ supportsObservable()

bool DataProvider::AbstractDataProvider::supportsObservable ( )

Returns True if the data provider supports the observer pattern / event API.

Since
DataProvider 2.5

◆ supportsSchema()

bool DataProvider::AbstractDataProvider::supportsSchema ( )

Returns True if the data provider supports a schema.

Since
DataProvider 2.2

◆ supportsSearchExpressions()

bool DataProvider::AbstractDataProvider::supportsSearchExpressions ( )

Returns True if the data provider supports advanced search expressions.

Since
DataProvider 2.2

◆ supportsUpdateField()

bool DataProvider::AbstractDataProvider::supportsUpdateField ( )

Returns True if the data provider supports updating existing fields.

Since
DataProvider 2.0

◆ tryGetActionOptionsForCreateWithOptions()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForCreateWithOptions ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a create action.

Parameters
actionaction info for the upsert action
optionssample option data that can be used to determine the final type
Returns
action options for a create action according to the available option data
Exceptions
INVALID-OPERATIONthe data provider does not support record creation
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForCreateWithOptionsImpl()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForCreateWithOptionsImpl ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a create action.

Parameters
actionaction info for the upsert action
optionssample option data that can be used to determine the final type
Returns
action options for a create action according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForDeleteWithOptions()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForDeleteWithOptions ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a delete action.

Parameters
actionaction info for the event action
optionssample option data that can be used to determine the final type
Returns
action options for a delete action according to the available option data
Exceptions
INVALID-OPERATIONthe data provider does not support record deletion
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForDeleteWithOptionsImpl()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForDeleteWithOptionsImpl ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a delete action.

Parameters
actionaction info for the delete action
optionssample option data that can be used to determine the final type
Returns
action options for a delete action according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForEventWithOptions()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForEventWithOptions ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for an event action.

Parameters
actionaction info for the request action
optionssample option data that can be used to determine the final type
Returns
action options for an event action according to the available option data
Exceptions
INVALID-OPERATIONthe data provider does not support the observer pattern / event API
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForEventWithOptionsImpl()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForEventWithOptionsImpl ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for an event action.

Parameters
actionaction info for the request action
optionssample option data that can be used to determine the final type
Returns
action options for an event action according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForMessageWithOptions()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForMessageWithOptions ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a send message action.

Parameters
actionaction info for the search action
optionssample option data that can be used to determine the final type
Returns
request options for a send message action according to the available option data
Exceptions
INVALID-OPERATIONthe data provider does not support sending messages
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForMessageWithOptionsImpl()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForMessageWithOptionsImpl ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a send message action.

Parameters
actionaction info for the search action
optionssample option data that can be used to determine the final type
Returns
request options for a send message action according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForRequestWithOptions()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForRequestWithOptions ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a request action.

Parameters
actionaction info for the send message action
optionssample option data that can be used to determine the final type
Returns
request options for a request action according to the available option data
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForRequestWithOptionsImpl()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForRequestWithOptionsImpl ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a request action.

Parameters
actionaction info for the send message action
optionssample option data that can be used to determine the final type
Returns
request options for a request action according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForSearchWithOptions()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForSearchWithOptions ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a search action.

Parameters
actionaction info for the create action
optionssample option data that can be used to determine the final type
Returns
action options for a search action according to the available option data
Exceptions
INVALID-OPERATIONthe data provider does not support reading
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForSearchWithOptionsImpl()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForSearchWithOptionsImpl ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for a search action.

Parameters
actionaction info for the create action
optionssample option data that can be used to determine the final type
Returns
action options for a search action according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForUpdateWithOptions()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForUpdateWithOptions ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for an update action.

Parameters
actionaction info for the delete action
optionssample option data that can be used to determine the final type
Returns
action options for an update action according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForUpdateWithOptionsImpl()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForUpdateWithOptionsImpl ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for an update action.

Parameters
actionaction info for the delete action
optionssample option data that can be used to determine the final type
Returns
action options for an update action according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForUpsertWithOptions()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForUpsertWithOptions ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for an upsert action.

Parameters
actionaction info for the update action
optionssample option data that can be used to determine the final type
Returns
action options for an upsert action according to the available option data
Exceptions
INVALID-OPERATIONthe data provider does not support record upserting
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsForUpsertWithOptionsImpl()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsForUpsertWithOptionsImpl ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data for an upsert action.

Parameters
actionaction info for the update action
optionssample option data that can be used to determine the final type
Returns
action options for an upsert action according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.3

◆ tryGetActionOptionsFromRequestTypeWithData()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsFromRequestTypeWithData ( auto  req)

Returns action options corresponding to the request type with the given request data, if possible.

Parameters
reqsample request data that can be used to determine the final type
Returns
action options corresponding to the request type
Exceptions
INVALID-OPERATIONthe data provider does not support the request API
Note
This API is meant to provide information about request data types that can depend on the call data
Since
DataProvider 3.0

◆ tryGetActionOptionsWithOptions()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsWithOptions ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data.

Parameters
actionaction info for the event action
optionssample option data that can be used to determine the final type
Returns
action options according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.1

◆ tryGetActionOptionsWithOptionsImpl()

*hash< string, hash< ActionOptionInfo > > DataProvider::AbstractDataProvider::tryGetActionOptionsWithOptionsImpl ( hash< DataProviderActionInfo action,
*hash< auto >  options 
)

Returns action options corresponding to the given option data.

Parameters
actionaction info to determine options
optionssample option data that can be used to determine the final type
Returns
action options according to the available option data
Note
This API is meant to provide information about options that can depend on option data
Since
DataProvider 3.1

◆ updateField()

void DataProvider::AbstractDataProvider::updateField ( *hash< auto >  field_update_options,
string  name,
AbstractDataField  field 
)

Updates an existing field.

Parameters
namethe name of the current field to update
fieldthe new definition of the field
field_update_optionsthe options for adding the new field
Exceptions
INVALID-OPERATIONthrown if the data provider does not support this API
UPDATE-FIELD-ERRORerror adding the field
Since
DataProvider 2.0

◆ updateFieldImpl()

void DataProvider::AbstractDataProvider::updateFieldImpl ( *hash< auto >  field_update_options,
string  name,
AbstractDataField  field 
)

Updates an existing field.

Parameters
namethe name of the current field to update
fieldthe new definition of the field
field_update_optionsthe options for adding the new field
Since
DataProvider 2.0

◆ updateRecords() [1/2]

int DataProvider::AbstractDataProvider::updateRecords ( *hash< auto >  search_options,
hash< auto >  set,
*hash< auto >  where_cond 
)

Updates zero or more records matching the search options.

Parameters
setthe hash of field data to set
where_conda hash for identifying the record(s) to be updated; will be processed by processFieldValues()
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
the number of records updated
Exceptions
INVALID-OPERATIONthe data provider does not support record updating
UPDATE-RECORDS-ERRORerror updating records

◆ updateRecords() [2/2]

int DataProvider::AbstractDataProvider::updateRecords ( *hash< auto >  search_options,
hash< auto >  set,
*hash< DataProviderExpression where_cond 
)

Updates zero or more records matching the search options.

Parameters
setthe hash of field data to set
where_conda hash for identifying the record(s) to be updated; will be processed by processSearchParameters()
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
the number of records updated
Exceptions
INVALID-OPERATIONthe data provider does not support record updating
UPDATE-RECORDS-ERRORerror updating records
Since
DataProvider 2.3

◆ updateRecordsImpl()

int DataProvider::AbstractDataProvider::updateRecordsImpl ( *hash< auto >  search_options,
hash< auto >  set,
*hash< auto >  where_cond 
)

Updates zero or more records matching the search options.

Parameters
setthe hash of field data to set
where_conda hash for identifying the record(s) to be updated
search_optionsthe update options after processing by validateSearchOptions()
Returns
the number of records updated

◆ updateRecordsWithOptions()

int DataProvider::AbstractDataProvider::updateRecordsWithOptions ( *hash< auto >  options)

Updates zero or more records matching the update action options.

Parameters
optionsupdate action options
Returns
the number of records updated
Exceptions
INVALID-OPERATIONthe data provider does not support record updating
UPDATE-RECORDS-ERRORerror updating records
Since
DataProvider 3.3

◆ updateSingleRecord() [1/2]

bool DataProvider::AbstractDataProvider::updateSingleRecord ( *hash< auto >  search_options,
hash< auto >  set,
hash< auto >  where_cond 
)

Updates a single record matching the search options.

Parameters
setthe hash of field data to set; will be processed by processFieldValues()
where_condthe search criteria; will be processed by processFieldValues()
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
True if the record was updated, False if not (no record found)
Exceptions
INVALID-OPERATIONthe data provider does not support record updating
UPDATE-RECORDS-ERRORerror updating records

◆ updateSingleRecord() [2/2]

bool DataProvider::AbstractDataProvider::updateSingleRecord ( *hash< auto >  search_options,
hash< auto >  set,
hash< DataProviderExpression where_cond 
)

Updates a single record matching the search options.

Parameters
setthe hash of field data to set; will be processed by processFieldValues()
where_condthe search criteria; will be processed by processSearchParameters()
search_optionsthe search options; will be processed by validateSearchOptions()
Returns
True if the record was updated, False if not (no record found)
Exceptions
INVALID-OPERATIONthe data provider does not support record updating
UPDATE-RECORDS-ERRORerror updating records
Since
DataProvider 2.3

◆ updateSingleRecordImpl()

bool DataProvider::AbstractDataProvider::updateSingleRecordImpl ( *hash< auto >  search_options,
hash< auto >  set,
hash< auto >  where_cond 
)

Updates a single record matching the search options.

Parameters
setthe hash of field data to set
where_condthe search criteria
search_optionsthe search options after processing by validateSearchOptions()

◆ updateSingleRecordWithOptions()

bool DataProvider::AbstractDataProvider::updateSingleRecordWithOptions ( *hash< auto >  options)

Updates a single record using update action options.

Parameters
optionsupdate action options
Returns
True if the record was updated, False if not (no record found)
Exceptions
INVALID-OPERATIONthe data provider does not support record updating
UPDATE-RECORDS-ERRORerror updating records
Since
DataProvider 3.3

◆ upsertRecord()

string DataProvider::AbstractDataProvider::upsertRecord ( hash< auto >  rec,
*hash< auto >  upsert_options 
)

Upserts the given record in the data provider.

Parameters
reca hash representing a single input record
upsert_optionsthe upsert options; will be processed by validateUpsertOptions()
Returns
see UpsertResultInserted and related constants for possible values
Exceptions
INVALID-OPERATIONthe data provider does not support upsert operations

◆ upsertRecordImpl()

string DataProvider::AbstractDataProvider::upsertRecordImpl ( hash< auto >  rec,
*hash< auto >  upsert_options 
)

Upserts the given record to the data provider.

Parameters
reca hash representing a single input record
upsert_optionsthe create options after processing by validateUpsertOptions()
Returns
see UpsertResultInserted and related constants for possible values

◆ upsertRecordsBulk() [1/4]

*list< string > DataProvider::AbstractDataProvider::upsertRecordsBulk ( AbstractDataProviderBulkRecordInterface  stream,
*hash< auto >  upsert_options 
)

Upserts the given records in the data provider.

Parameters
streama record stream for upserting records
upsert_optionsthe upsert options; will be processed by validateUpsertOptions()
Returns
an array of upsert results corresponding to each record in order; see UpsertResultInserted and related constants for possible values
Exceptions
INVALID-OPERATIONthe data provider does not support upsert operations
Since
DataProvider 3.3

◆ upsertRecordsBulk() [2/4]

*list< string > DataProvider::AbstractDataProvider::upsertRecordsBulk ( hash< auto >  recs,
*hash< auto >  upsert_options 
)

Upserts the given records in the data provider.

Parameters
recsa hash representing multiple input records, where the keys are field names and values are either lists of field values or a single value that applies to all records to be upserted
upsert_optionsthe upsert options; will be processed by validateUpsertOptions()
Returns
an array of upsert results corresponding to each record in order; see UpsertResultInserted and related constants for possible values
Exceptions
INVALID-OPERATIONthe data provider does not support upsert operations

◆ upsertRecordsBulk() [3/4]

*list< string > DataProvider::AbstractDataProvider::upsertRecordsBulk ( HashListIterator  i,
*hash< auto >  upsert_options 
)

Upserts the given records in the data provider.

Parameters
ia record iterator for upserting records
upsert_optionsthe upsert options; will be processed by validateUpsertOptions()
Returns
an array of upsert results corresponding to each record in order; see UpsertResultInserted and related constants for possible values
Exceptions
INVALID-OPERATIONthe data provider does not support upsert operations
Since
DataProvider 3.3

◆ upsertRecordsBulk() [4/4]

*list< string > DataProvider::AbstractDataProvider::upsertRecordsBulk ( list< auto >  recs,
*hash< auto >  upsert_options 
)

Creates the given records in the data provider.

Parameters
recsa list of hashes representing input records, where the keys are field names and values are field values
upsert_optionsthe upsert options; will be processed by validateUpsertOptions()
Returns
an array of upsert results corresponding to each record in order; see UpsertResultInserted and related constants for possible values
Exceptions
INVALID-OPERATIONthe data provider does not support upsert operations

◆ upsertRecordsBulkImpl()

*list< string > DataProvider::AbstractDataProvider::upsertRecordsBulkImpl ( hash< auto >  recs,
*hash< auto >  upsert_options 
)

Upserts the given records in the data provider.

Parameters
recsa hash representing multiple input records, where the keys are field names and values are either lists of field values or a single value that applies to all records to be upserted
upsert_optionsthe upsert options; will be processed by validateUpsertOptions()
Returns
an array of upsert results corresponding to each record in order; see UpsertResultInserted and related constants for possible values

◆ upsertRecordsBulkWithOptions()

*list< string > DataProvider::AbstractDataProvider::upsertRecordsBulkWithOptions ( *hash< auto >  options)

Upserts the given records in the data provider from upsert action options.

Parameters
optionsupsert action options
Returns
an array of upsert results corresponding to each record in order; see UpsertResultInserted and related constants for possible values
Exceptions
INVALID-OPERATIONthe data provider does not support upsert operations
Since
DataProvider 3.3

◆ upsertRecordWithOptions()

string DataProvider::AbstractDataProvider::upsertRecordWithOptions ( *hash< auto >  options)

Upserts the given record in the data provider from upsert action options.

Parameters
optionsupsert action options
Returns
see UpsertResultInserted and related constants for possible values
Exceptions
INVALID-OPERATIONthe data provider does not support upsert operations
Since
DataProvider 3.3

◆ validateChildCreateOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateChildCreateOptions ( *hash< auto >  child_create_options)

validates child create options

Exceptions
CHILD-CREATE-OPTION-ERRORinvalid or unsupported child create option
Since
DataProvider 2.0

◆ validateChildDeleteOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateChildDeleteOptions ( *hash< auto >  child_delete_options)

validates child delete options

Exceptions
CHILD-DELETE-OPTION-ERRORinvalid or unsupported child delete option
Since
DataProvider 2.0

◆ validateCreateOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateCreateOptions ( *hash< auto >  create_options)

validates create options

Exceptions
CREATE-OPTION-ERRORinvalid or unsupported create option

◆ validateFieldAddOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateFieldAddOptions ( *hash< auto >  field_add_options)

validates field add options

Exceptions
FIELD-ADD-OPTION-ERRORinvalid or unsupported field add option
Since
DataProvider 2.0

◆ validateFieldDeleteOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateFieldDeleteOptions ( *hash< auto >  field_delete_options)

validates field delete options

Exceptions
FIELD-DELETE-OPTION-ERRORinvalid or unsupported field delete option
Since
DataProvider 2.0

◆ validateFieldUpdateOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateFieldUpdateOptions ( *hash< auto >  field_update_options)

validates field update options

Exceptions
FIELD-UPDATE-OPTION-ERRORinvalid or unsupported field update option
Since
DataProvider 2.0

◆ validateRequestOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateRequestOptions ( *hash< auto >  request_options)

validates request options

Exceptions
REQUEST-OPTION-ERRORinvalid or unsupported request option

◆ validateSearchOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateSearchOptions ( *hash< auto >  search_options)

validates search options

Exceptions
SEARCH-OPTION-ERRORinvalid or unsupported search option

◆ validateSendMessageOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateSendMessageOptions ( *hash< auto >  send_message_options)

validates send message options

Exceptions
SEND-MESSAGE-OPTION-ERRORinvalid or unsupported send message option
Since
DataProvider 2.5

◆ validateUpsertOptions()

*hash< auto > DataProvider::AbstractDataProvider::validateUpsertOptions ( *hash< auto >  upsert_options)

validates upsert options

Exceptions
UPSERT-OPTION-ERRORinvalid or unsupported upsert option

◆ verifyExpression()

static void DataProvider::AbstractDataProvider::verifyExpression ( hash< DataProviderExpression exp,
AbstractDataProviderType  expected_type,
int  caps,
int  role,
*hash< string, hash< DataProviderExpressionInfo > >  expmap 
)
static

processes an expression in a certain context

Parameters
rolethe role of the operation being performed
expmapthe map of supported expressions for this data provider
capsthe logic capabilities supported by the data provider for the current operation
expected_typethe type the expression should be compatible with
expthe expression to process
Exceptions
DATA-PROVIDER-EXPRESSION-ERRORthe expression has an error; argument mismatch, type error, etc

◆ verifyExpressionArgValue()

static void DataProvider::AbstractDataProvider::verifyExpressionArgValue ( int  pos,
softlist< auto >  values,
hash< DataProviderExpressionInfo expinfo,
int  role,
int  caps 
)
static

processes an expression in a certain context

Parameters
rolethe role of the operation being performed
capsthe logic capabilities supported by the data provider for the current operation
expinfothe expression being processed
valuesthe values / arguments for the expression
posthe position in the argument list