 |
Qore DataProvider Module Reference
1.0.2
|
55 softlist<AbstractDataProviderType>
type;
185 hash<string, hash<MapperRuntimeKeyInfo>>
mapper_keys = Mapper::MapperKeyInfo;
217 hash<DataProviderInfo>
getInfo();
228 *hash<auto>
createRecord(hash<auto> rec, *hash<auto> create_options);
239 string upsertRecord(hash<auto> rec, *hash<auto> upsert_options);
248 *hash<auto>
searchFirstRecord(hash<auto> where_cond, *hash<auto> search_options);
324 bool updateSingleRecord(hash<auto> set, hash<auto> where_cond, *hash<auto> search_options);
336 int updateRecords(hash<auto> set, *hash<auto> where_cond, *hash<auto> search_options);
348 int deleteRecords(*hash<auto> where_cond, *hash<auto> search_options);
360 auto doRequest(
auto req, *hash<auto> request_options);
585 *hash<auto>
checkOptions(
string err, *
hash<
string, hash<DataProviderOptionInfo>> option_desc, *hash<auto> options);
604 error(
string err,
string fmt);
657 *hash<string, AbstractDataField>
getRecordType(*hash<auto> search_options);
856 int updateRecordsImpl(hash<auto> set, hash<auto> where_cond, *hash<auto> search_options);
AbstractDataProviderRecordIterator getRecordIterator(*hash< auto > search_options)
Returns an iterator iterating all records.
int updateRecordsImpl(hash< auto > set, hash< auto > where_cond, *hash< auto > search_options)
Updates zero or more records matching the search options.
processConstructorOptions(*hash< string, hash< DataProviderOptionInfo >> option_desc, *hash< auto > options)
processes options passed to the constructor
int deleteRecordsImpl(*hash< auto > where_cond, *hash< auto > search_options)
Deletes zero or more records.
const UpsertResultDeleted
Indicates that the record was deleted.
Definition: AbstractDataProvider.qc.dox.h:49
*AbstractDataProviderType getResponseType()
Returns the description of a response message, if this object represents a response message.
AbstractDataProviderBulkRecordInterface getBulkRecordInterface(int block_size=1000, *hash< auto > search_options)
Returns an iterator iterating all records with the bulk read API.
AbstractDataProvider getChildProviderEx(string name)
Returns the given child provider or throws an exception if the given child is unknown.
*AbstractDataProviderType getResponseTypeImpl()
Returns the description of a response message, if this object represents a response message.
*hash< string, hash< DataProviderOptionInfo > > getCreateOptions()
Returns options that can be used for creating records.
*list< string > getChildProviderNames()
Returns a list of child data provider names, if any.
bool supports_read
Does the data provider support reading.
Definition: AbstractDataProvider.qc.dox.h:79
string name
Data provider name.
Definition: AbstractDataProvider.qc.dox.h:69
*hash< auto > searchSingleRecord(hash< auto > where_cond, *hash< auto > search_options)
Returns a single record matching the search options.
static bool setDynamicValueCallbacks()
Ensures that no callbacks can be set for dynamic URI resolution.
bool supports_bulk_upsert
Does the data provider support native / optimized bulk upserts?
Definition: AbstractDataProvider.qc.dox.h:128
bool supports_request
Does the data provider support the request API?
Definition: AbstractDataProvider.qc.dox.h:133
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:161
error(string err, string fmt)
thrown an exception
checkUpdate()
Ensures that the data provider supports record upserts.
*hash< string, AbstractDataProviderType > getErrorResponseTypesImpl()
Returns a hash of error responses, if any.
throwUnimplementedException()
Throws an INVALID-OPERATION exception.
commit()
Commits data written to the data provider.
bool supports_upsert
Does the data provider support record upserts (create or update)?
Definition: AbstractDataProvider.qc.dox.h:94
auto doRequest(auto req, *hash< auto > request_options)
Makes a request and returns the response.
const UpsertResultVerified
Indicates that the record was verified as already in the target state.
Definition: AbstractDataProvider.qc.dox.h:43
*hash< string, hash< DataProviderOptionInfo > > constructor_options
Constructor options supported by the data provider for the constructor variant taking a hash.
Definition: AbstractDataProvider.qc.dox.h:158
string desc
The option description.
Definition: AbstractDataProvider.qc.dox.h:61
bool has_record
Does the data provider provide a record?
Definition: AbstractDataProvider.qc.dox.h:148
*hash< string, hash< DataProviderOptionInfo > > getUpsertOptions()
Returns options that can be used for upserting records.
checkDelete()
Ensures that the data provider supports record deletion.
static code cb_value_needs_resolution
static callback the returns a bool if the value needs dynamic resolution
Definition: AbstractDataProvider.qc.dox.h:203
bool supportsUpdate()
Returns True if the data provider supports the record update API.
const UpsertResultInserted
Indicates that the record was inserted.
Definition: AbstractDataProvider.qc.dox.h:37
*hash< string, AbstractDataField > getOrNothingRecordType(*hash< auto > search_options)
Returns the description of the record type with "or nothing" types, if any.
*hash< auto > createRecord(hash< auto > rec, *hash< auto > create_options)
Creates the given record in the data provider.
*hash< string, hash< DataProviderOptionInfo > > create_options
Create options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:163
AbstractDataProviderRecordIterator searchRecords(*hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
bool supports_children
Does the data provider support children?
Definition: AbstractDataProvider.qc.dox.h:138
*AbstractDataProvider getChildProvider(string name)
Returns the given child provider or NOTHING if the given child is unknown.
hash< string, hash< MapperRuntimeKeyInfo > > mapper_keys
A hash of mapper key information.
Definition: AbstractDataProvider.qc.dox.h:185
*list< string > children
A list of child data providers in this data provider.
Definition: AbstractDataProvider.qc.dox.h:190
int updateRecords(hash< auto > set, *hash< auto > where_cond, *hash< auto > search_options)
Updates zero or more records matching the search options.
*AbstractDataProviderType getRequestType()
Returns the description of a successful request message, if any.
bool supports_update
Does the data provider support record updates?
Definition: AbstractDataProvider.qc.dox.h:89
*hash< string, AbstractDataProviderType > getErrorResponseTypes()
Returns a hash of error responses, if any.
*hash< auto > checkOptions(string err, *hash< string, hash< DataProviderOptionInfo >> option_desc, *hash< auto > options)
verifies options according to the option
*hash< auto > validateSearchOptions(*hash< auto > search_options)
validates search options
bool required
Required flag.
Definition: AbstractDataProvider.qc.dox.h:58
bool updateSingleRecord(hash< auto > set, hash< auto > where_cond, *hash< auto > search_options)
Updates a single record matching the search options.
bool supports_delete
Does the data provider support record deletion?
Definition: AbstractDataProvider.qc.dox.h:99
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:32
bool requiresTransactionManagement()
Returns True if the data provider supports transaction management.
checkUpsert()
Ensures that the data provider supports record upserts.
AbstractDataProviderType getErrorResponseTypeImpl(string error_code)
Returns the type for the given error code.
bool supports_bulk_create
Does the data provider support native / optimized bulk creation?
Definition: AbstractDataProvider.qc.dox.h:120
*hash< string, hash< DataProviderOptionInfo > > getRequestOptions()
Returns options that can be used for requests.
static bool callbacks_locked
flag if callbacks are locked
Definition: AbstractDataProvider.qc.dox.h:200
AbstractDataProviderBulkRecordInterface searchRecordsBulk(int block_size=1000, *hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
*hash< auto > createRecordImpl(hash< auto > rec, *hash< auto > create_options)
Creates the given record to the data provider.
static code cb_resolve_value
static callback for dynamic value resolution
Definition: AbstractDataProvider.qc.dox.h:206
*hash< string, AbstractDataField > getRecordTypeImpl(*hash< auto > search_options)
Returns the description of the record type, if any.
checkCreate()
Ensures that the data provider supports record creation.
*hash< auto > searchSingleRecordImpl(hash< auto > where_cond, *hash< auto > search_options)
Returns a single record matching the search options.
AbstractDataProvider getChildProviderPath(string path)
Returns the given child provider from a "/" separated path string; throws an exception if any element...
bool supportsBulkUpsert()
Returns True if the data provider supports bulk upserts.
*AbstractDataProviderType getRequestTypeImpl()
Returns the description of a successful request message, if any.
checkRead()
Ensures that the data provider supports read operations.
softlist< AbstractDataProviderType > type
The option value type or types.
Definition: AbstractDataProvider.qc.dox.h:55
Defines the abstract class for data provider iterators; the destructor releases the iterator.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:33
string upsertRecord(hash< auto > rec, *hash< auto > upsert_options)
Upserts the given record in the data provider.
bool supports_bulk_read
Does the data provider support native / optimized bulk reads?
Definition: AbstractDataProvider.qc.dox.h:112
*hash< auto > searchFirstRecordImpl(hash< auto > where_cond, *hash< auto > search_options)
Returns the first record matching the search options.
string type
The name of the provider type.
Definition: AbstractDataProvider.qc.dox.h:74
AbstractDataProviderRecordIterator requestSearchRecordsImpl(auto req, *hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options according to an API request.
bool supportsBulkCreate()
Returns True if the data provider supports bulk creation output.
abstract hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
bool supports_create
Does the data provider support record creation?
Definition: AbstractDataProvider.qc.dox.h:84
auto doRequestImpl(auto req, *hash< auto > request_options)
Makes a request and returns the response.
Defines the abstract class for data provider iterators; the destructor releases the iterator.
Definition: AbstractDataProviderBulkRecordInterface.qc.dox.h:33
const UpsertResultUnchanged
Indicates that the record was left unchanged.
Definition: AbstractDataProvider.qc.dox.h:46
hash< DataProviderInfo > getInfo()
Returns data provider info.
bool hasRecord()
Returns True if the data provider has a record type.
bool record_requires_search_options
Do we require search options to retrieve the record type?
Definition: AbstractDataProvider.qc.dox.h:153
abstract string getName()
Returns the data provider name.
*hash< auto > processFieldValues(*hash< auto > h, *hash< auto > search_options)
processes search or set values to convert types if necessary
Abstract bulk data operation class.
Definition: AbstractDataProviderBulkOperation.qc.dox.h:33
*hash< auto > validateUpsertOptions(*hash< auto > upsert_options)
validates upsert options
hash< auto > hash(object obj)
Data provider option info.
Definition: AbstractDataProvider.qc.dox.h:53
*hash< string, hash< DataProviderOptionInfo > > request_options
Request options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:178
checkRequest()
Ensures that the data provider supports the request API.
Data provider info.
Definition: AbstractDataProvider.qc.dox.h:65
*hash< string, AbstractDataField > getRecordType(*hash< auto > search_options)
Returns the description of the record type, if any.
The AbstractDataProvider class.
Definition: AbstractDataProvider.qc.dox.h:194
bool recordRequiresSearchOptions()
Returns True if the data provider requires search options to retrieve the record type.
bool supportsBulkRead()
Returns True if the data provider supports native bulk reading.
*hash< string, AbstractDataField > getSoftRecordType(*hash< auto > search_options)
Returns the description of the record type with soft types, if any.
bool transaction_management
Does the data provider require transaction management?
Definition: AbstractDataProvider.qc.dox.h:143
bool supportsRead()
Returns True if the data provider supports reading.
const UpsertResultUpdated
Indicates that the record was updated.
Definition: AbstractDataProvider.qc.dox.h:40
AbstractDataProviderRecordIterator requestSearchRecords(auto req, *hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options according to an API request.
bool supportsUpsert()
Returns True if the data provider supports the record upsert API.
AbstractDataProviderRecordIterator searchRecordsImpl(*hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
bool updateSingleRecordImpl(hash< auto > set, hash< auto > where_cond, *hash< auto > search_options)
Updates a single record matching the search options.
AbstractDataProviderBulkOperation getBulkInserter()
Returns a bulk insert operation object for the data provider.
string upsertRecordImpl(hash< auto > rec, *hash< auto > upsert_options)
Upserts the given record to the data provider.
int deleteRecords(*hash< auto > where_cond, *hash< auto > search_options)
Deletes zero or more records.
bool supportsRequest()
Returns True if the data provider supports requests.
bool supportsNativeSearch()
Returns True if the data provider supports the record search API natively.
*hash< string, hash< MapperRuntimeKeyInfo > > getMapperRuntimeKeys()
Returns custom data mapper runtime keys.
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
*hash< string, hash< DataProviderOptionInfo > > getSearchOptions()
Returns options that can be used for searching.
*hash< string, hash< DataProviderOptionInfo > > search_options
Search options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:173
bool supportsCreate()
Returns True if the data provider supports the record creation API.
AbstractDataProviderBulkOperation getBulkUpserter()
Returns a bulk upsert operation object for the data provider.
*AbstractDataProvider getChildProviderImpl(string name)
Returns the given child provider or NOTHING if the given child is unknown.
*hash< auto > searchFirstRecord(hash< auto > where_cond, *hash< auto > search_options)
Returns the first record matching the search options.
bool supportsDelete()
Returns True if the data provider supports the record deletion API.
AbstractDataProviderBulkRecordInterface searchRecordsBulkImpl(int block_size=1000, *hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
AbstractDataProviderType getErrorResponseType(string error_code)
Returns the type for the given error code.
bool supports_native_search
Does the data provider support native record searching?
Definition: AbstractDataProvider.qc.dox.h:104
static bool checkCallbacks()
Checks if callbacks have already been set or locked.
rollback()
Rolls back data written to the data provider.
*hash< auto > validateRequestOptions(*hash< auto > request_options)
validates request options
*hash< string, hash< DataProviderOptionInfo > > upsert_options
Upsert options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:168
hash< auto > getInfoAsData()
Returns static provider information as data; no objects are returned.
*hash< auto > validateCreateOptions(*hash< auto > create_options)
validates create options