Qore DataProvider Module Reference  1.0.4
AbstractDataProvider.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
25 // assume local scope for variables, do not use "$" signs
26 // require type definitions everywhere
28 // enable all warnings
29 
31 namespace DataProvider {
36 const UpsertResultInserted = "inserted";
38 
40 const UpsertResultUpdated = "updated";
41 
43 const UpsertResultVerified = "verified";
44 
46 const UpsertResultUnchanged = "unchanged";
47 
49 const UpsertResultDeleted = "deleted";
51 
53 public struct DataProviderOptionInfo {
55  softlist<AbstractDataProviderType> type;
56 
58  bool required = False;
59 
61  string desc;
62 };
63 
65 public struct DataProviderInfo {
67 
69  string name;
70 
72 
74  string type;
75 
77 
80 
82 
85 
87 
90 
92 
95 
97 
100 
102 
105 
107 
113 
115 
121 
123 
129 
131 
134 
136 
139 
141 
144 
146 
149 
151 
154 
156 
158  *hash<string, hash<DataProviderOptionInfo>> constructor_options;
159 
161 
163  *hash<string, hash<DataProviderOptionInfo>> create_options;
164 
166 
168  *hash<string, hash<DataProviderOptionInfo>> upsert_options;
169 
171 
173  *hash<string, hash<DataProviderOptionInfo>> search_options;
174 
176 
178  *hash<string, hash<DataProviderOptionInfo>> request_options;
179 
181 
185  hash<string, hash<MapperRuntimeKeyInfo>> mapper_keys = Mapper::MapperKeyInfo;
186 
188 
190  *list<string> children;
191 };
192 
195 
196 public:
197 
198 protected:
200  static bool callbacks_locked = False;
201 
204 
206  static code cb_resolve_value;
207 
208 public:
209 
211 
213  hash<auto> getInfoAsData();
214 
215 
217  hash<DataProviderInfo> getInfo();
218 
219 
221 
230  *hash<auto> createRecord(hash<auto> rec, *hash<auto> create_options);
231 
232 
234 
241  string upsertRecord(hash<auto> rec, *hash<auto> upsert_options);
242 
243 
245 
250  *hash<auto> searchFirstRecord(hash<auto> where_cond, *hash<auto> search_options);
251 
252 
254 
260  *hash<auto> searchSingleRecord(hash<auto> where_cond, *hash<auto> search_options);
261 
262 
264 
269 
270 
272 
280  AbstractDataProviderBulkRecordInterface getBulkRecordInterface(int block_size = 1000, *hash<auto> search_options);
281 
282 
284 
293  AbstractDataProviderBulkRecordInterface searchRecordsBulk(int block_size = 1000, *hash<auto> where_cond, *hash<auto> search_options);
294 
295 
297 
302  AbstractDataProviderRecordIterator searchRecords(*hash<auto> where_cond, *hash<auto> search_options);
303 
304 
306 
314  AbstractDataProviderRecordIterator requestSearchRecords(auto req, *hash<auto> where_cond, *hash<auto> search_options);
315 
316 
318 
326  bool updateSingleRecord(hash<auto> set, hash<auto> where_cond, *hash<auto> search_options);
327 
328 
330 
338  int updateRecords(hash<auto> set, *hash<auto> where_cond, *hash<auto> search_options);
339 
340 
342 
350  int deleteRecords(*hash<auto> where_cond, *hash<auto> search_options);
351 
352 
354 
362  auto doRequest(auto req, *hash<auto> request_options);
363 
364 
366 
371 
372 
374 
379 
380 
382 
386  *hash<string, AbstractDataProviderType> getErrorResponseTypes();
387 
388 
390 
398 
399 
401 
403  *list<string> getChildProviderNames();
404 
405 
407 
414 
415 
417 
424 
425 
427 
434 
435 
437 
441 
442 
444 
447 
448 
450 
453 
454 
456 
461 
462 
464 
469 
470 
472 
476  *hash<string, hash<MapperRuntimeKeyInfo>> getMapperRuntimeKeys();
477 
478 
480 
484 
485 
487 
491 
492 
494 
498 
499 
501 
505 
506 
508 
512 
513 
515 
519 
520 
522 
527 
529 
539  static bool setDynamicValueCallbacks(code value_needs_resolution, code resolve_value);
540 
542 protected:
543  static bool checkCallbacks();
544 public:
545 
546 
548 
550 protected:
551  *hash<auto> validateCreateOptions(*hash<auto> create_options);
552 public:
553 
554 
556 
558 protected:
559  *hash<auto> validateUpsertOptions(*hash<auto> upsert_options);
560 public:
561 
562 
564 
566 protected:
567  *hash<auto> validateSearchOptions(*hash<auto> search_options);
568 public:
569 
570 
572 
574 protected:
575  *hash<auto> validateRequestOptions(*hash<auto> request_options);
576 public:
577 
578 
580 protected:
581  processConstructorOptions(*hash<string, hash<DataProviderOptionInfo>> option_desc, *hash<auto> options);
582 public:
583 
584 
586 protected:
587  *hash<auto> checkOptions(string err, *hash<string, hash<DataProviderOptionInfo>> option_desc, *hash<auto> options);
588 public:
589 
590 
592 
599 protected:
600  *hash<auto> processFieldValues(*hash<auto> h, *hash<auto> search_options);
601 public:
602 
603 
605 protected:
606  error(string err, string fmt);
607 public:
608 
609 
611 
616 protected:
617  *hash<auto> searchFirstRecordImpl(hash<auto> where_cond, *hash<auto> search_options);
618 public:
619 
620 
622 
629 protected:
630  *hash<auto> searchSingleRecordImpl(hash<auto> where_cond, *hash<auto> search_options);
631 public:
632 
633 
635 
639 protected:
640  *list<string> getChildProviderNamesImpl();
641 public:
642 
643 
645 
647 protected:
649 public:
650 
651 
653 
659  *hash<string, AbstractDataField> getRecordType(*hash<auto> search_options);
660 
661 
663  *hash<string, AbstractDataField> getSoftRecordType(*hash<auto> search_options);
664 
665 
667  *hash<string, AbstractDataField> getOrNothingRecordType(*hash<auto> search_options);
668 
669 
671 
674  *hash<string, hash<DataProviderOptionInfo>> getSearchOptions();
675 
676 
678 
681  *hash<string, hash<DataProviderOptionInfo>> getCreateOptions();
682 
683 
685 
688  *hash<string, hash<DataProviderOptionInfo>> getUpsertOptions();
689 
690 
692 
695  *hash<string, hash<DataProviderOptionInfo>> getRequestOptions();
696 
697 
699 
701  bool supportsRead();
702 
703 
705 
708 
709 
711 
714 
715 
717 
720 
721 
723 
726 
727 
729 
732 
733 
735 
738 
739 
741 
744 
745 
747 
750 
751 
753 
756 
757 
759 
762 
763 
765 
767  bool hasRecord();
768 
769 
771 
775 protected:
776  *hash<string, AbstractDataField> getRecordTypeImpl(*hash<auto> search_options);
777 public:
778 
779 
781 
788 protected:
789  AbstractDataProviderBulkRecordInterface searchRecordsBulkImpl(int block_size = 1000, *hash<auto> where_cond, *hash<auto> search_options);
790 public:
791 
792 
794 
799 protected:
800  AbstractDataProviderRecordIterator searchRecordsImpl(*hash<auto> where_cond, *hash<auto> search_options);
801 public:
802 
803 
805 
813 protected:
814  AbstractDataProviderRecordIterator requestSearchRecordsImpl(auto req, *hash<auto> where_cond, *hash<auto> search_options);
815 public:
816 
817 
819 
827 protected:
828  *hash<auto> createRecordImpl(hash<auto> rec, *hash<auto> create_options);
829 public:
830 
831 
833 
838 protected:
839  string upsertRecordImpl(hash<auto> rec, *hash<auto> upsert_options);
840 public:
841 
842 
844 
848 protected:
849  bool updateSingleRecordImpl(hash<auto> set, hash<auto> where_cond, *hash<auto> search_options);
850 public:
851 
852 
854 
860 protected:
861  int updateRecordsImpl(hash<auto> set, hash<auto> where_cond, *hash<auto> search_options);
862 public:
863 
864 
866 
872 protected:
873  int deleteRecordsImpl(*hash<auto> where_cond, *hash<auto> search_options);
874 public:
875 
876 
878 
883 protected:
884  auto doRequestImpl(auto req, *hash<auto> request_options);
885 public:
886 
887 
889 
893 protected:
895 public:
896 
897 
899 
903 protected:
905 public:
906 
907 
909 
913 protected:
914  *hash<string, AbstractDataProviderType> getErrorResponseTypesImpl();
915 public:
916 
917 
919 
925 protected:
927 public:
928 
929 
931 
933 protected:
935 public:
936 
937 
939  abstract string getName();
940 
942 protected:
943  abstract hash<DataProviderInfo> getStaticInfoImpl();
944 public:
945 };
946 };
DataProvider::AbstractDataProvider::getRecordIterator
AbstractDataProviderRecordIterator getRecordIterator(*hash< auto > search_options)
Returns an iterator iterating all records.
DataProvider::AbstractDataProvider::updateRecordsImpl
int updateRecordsImpl(hash< auto > set, hash< auto > where_cond, *hash< auto > search_options)
Updates zero or more records matching the search options.
DataProvider::AbstractDataProvider::processConstructorOptions
processConstructorOptions(*hash< string, hash< DataProviderOptionInfo >> option_desc, *hash< auto > options)
processes options passed to the constructor
DataProvider::AbstractDataProvider::deleteRecordsImpl
int deleteRecordsImpl(*hash< auto > where_cond, *hash< auto > search_options)
Deletes zero or more records.
DataProvider::UpsertResultDeleted
const UpsertResultDeleted
Indicates that the record was deleted.
Definition: AbstractDataProvider.qc.dox.h:49
DataProvider::AbstractDataProvider::getResponseType
*AbstractDataProviderType getResponseType()
Returns the description of a response message, if this object represents a response message.
DataProvider::AbstractDataProvider::getBulkRecordInterface
AbstractDataProviderBulkRecordInterface getBulkRecordInterface(int block_size=1000, *hash< auto > search_options)
Returns an iterator iterating all records with the bulk read API.
DataProvider::AbstractDataProvider::getChildProviderEx
AbstractDataProvider getChildProviderEx(string name)
Returns the given child provider or throws an exception if the given child is unknown.
DataProvider::AbstractDataProvider::getResponseTypeImpl
*AbstractDataProviderType getResponseTypeImpl()
Returns the description of a response message, if this object represents a response message.
DataProvider::AbstractDataProvider::getCreateOptions
*hash< string, hash< DataProviderOptionInfo > > getCreateOptions()
Returns options that can be used for creating records.
DataProvider::AbstractDataProvider::getChildProviderNames
*list< string > getChildProviderNames()
Returns a list of child data provider names, if any.
DataProvider::DataProviderInfo::supports_read
bool supports_read
Does the data provider support reading.
Definition: AbstractDataProvider.qc.dox.h:79
DataProvider::DataProviderInfo::name
string name
Data provider name.
Definition: AbstractDataProvider.qc.dox.h:69
DataProvider::AbstractDataProvider::searchSingleRecord
*hash< auto > searchSingleRecord(hash< auto > where_cond, *hash< auto > search_options)
Returns a single record matching the search options.
DataProvider::AbstractDataProvider::setDynamicValueCallbacks
static bool setDynamicValueCallbacks()
Ensures that no callbacks can be set for dynamic URI resolution.
DataProvider::DataProviderInfo::supports_bulk_upsert
bool supports_bulk_upsert
Does the data provider support native / optimized bulk upserts?
Definition: AbstractDataProvider.qc.dox.h:128
DataProvider::DataProviderInfo::supports_request
bool supports_request
Does the data provider support the request API?
Definition: AbstractDataProvider.qc.dox.h:133
DataProvider::AbstractDataProviderType
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:93
DataProvider::AbstractDataProvider::error
error(string err, string fmt)
thrown an exception
DataProvider::AbstractDataProvider::checkUpdate
checkUpdate()
Ensures that the data provider supports record upserts.
DataProvider::AbstractDataProvider::getErrorResponseTypesImpl
*hash< string, AbstractDataProviderType > getErrorResponseTypesImpl()
Returns a hash of error responses, if any.
DataProvider::AbstractDataProvider::throwUnimplementedException
throwUnimplementedException()
Throws an INVALID-OPERATION exception.
DataProvider::AbstractDataProvider::commit
commit()
Commits data written to the data provider.
DataProvider::DataProviderInfo::supports_upsert
bool supports_upsert
Does the data provider support record upserts (create or update)?
Definition: AbstractDataProvider.qc.dox.h:94
DataProvider::AbstractDataProvider::doRequest
auto doRequest(auto req, *hash< auto > request_options)
Makes a request and returns the response.
DataProvider::UpsertResultVerified
const UpsertResultVerified
Indicates that the record was verified as already in the target state.
Definition: AbstractDataProvider.qc.dox.h:43
DataProvider::DataProviderInfo::constructor_options
*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
DataProvider::DataProviderOptionInfo::desc
string desc
The option description.
Definition: AbstractDataProvider.qc.dox.h:61
DataProvider::DataProviderInfo::has_record
bool has_record
Does the data provider provide a record?
Definition: AbstractDataProvider.qc.dox.h:148
DataProvider::AbstractDataProvider::getUpsertOptions
*hash< string, hash< DataProviderOptionInfo > > getUpsertOptions()
Returns options that can be used for upserting records.
DataProvider::AbstractDataProvider::checkDelete
checkDelete()
Ensures that the data provider supports record deletion.
DataProvider::AbstractDataProvider::cb_value_needs_resolution
static code cb_value_needs_resolution
static callback the returns a bool if the value needs dynamic resolution
Definition: AbstractDataProvider.qc.dox.h:203
DataProvider::AbstractDataProvider::supportsUpdate
bool supportsUpdate()
Returns True if the data provider supports the record update API.
DataProvider::UpsertResultInserted
const UpsertResultInserted
Indicates that the record was inserted.
Definition: AbstractDataProvider.qc.dox.h:37
DataProvider::AbstractDataProvider::getOrNothingRecordType
*hash< string, AbstractDataField > getOrNothingRecordType(*hash< auto > search_options)
Returns the description of the record type with "or nothing" types, if any.
DataProvider::AbstractDataProvider::createRecord
*hash< auto > createRecord(hash< auto > rec, *hash< auto > create_options)
Creates the given record in the data provider.
DataProvider::DataProviderInfo::create_options
*hash< string, hash< DataProviderOptionInfo > > create_options
Create options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:163
DataProvider::AbstractDataProvider::searchRecords
AbstractDataProviderRecordIterator searchRecords(*hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
DataProvider::DataProviderInfo::supports_children
bool supports_children
Does the data provider support children?
Definition: AbstractDataProvider.qc.dox.h:138
DataProvider::AbstractDataProvider::getChildProvider
*AbstractDataProvider getChildProvider(string name)
Returns the given child provider or NOTHING if the given child is unknown.
DataProvider::DataProviderInfo::mapper_keys
hash< string, hash< MapperRuntimeKeyInfo > > mapper_keys
A hash of mapper key information.
Definition: AbstractDataProvider.qc.dox.h:185
DataProvider::DataProviderInfo::children
*list< string > children
A list of child data providers in this data provider.
Definition: AbstractDataProvider.qc.dox.h:190
DataProvider::AbstractDataProvider::updateRecords
int updateRecords(hash< auto > set, *hash< auto > where_cond, *hash< auto > search_options)
Updates zero or more records matching the search options.
DataProvider::AbstractDataProvider::getRequestType
*AbstractDataProviderType getRequestType()
Returns the description of a successful request message, if any.
DataProvider::DataProviderInfo::supports_update
bool supports_update
Does the data provider support record updates?
Definition: AbstractDataProvider.qc.dox.h:89
DataProvider::AbstractDataProvider::getErrorResponseTypes
*hash< string, AbstractDataProviderType > getErrorResponseTypes()
Returns a hash of error responses, if any.
DataProvider::AbstractDataProvider::checkOptions
*hash< auto > checkOptions(string err, *hash< string, hash< DataProviderOptionInfo >> option_desc, *hash< auto > options)
verifies options according to the option
DataProvider::AbstractDataProvider::validateSearchOptions
*hash< auto > validateSearchOptions(*hash< auto > search_options)
validates search options
DataProvider::DataProviderOptionInfo::required
bool required
Required flag.
Definition: AbstractDataProvider.qc.dox.h:58
DataProvider::AbstractDataProvider::updateSingleRecord
bool updateSingleRecord(hash< auto > set, hash< auto > where_cond, *hash< auto > search_options)
Updates a single record matching the search options.
DataProvider::DataProviderInfo::supports_delete
bool supports_delete
Does the data provider support record deletion?
Definition: AbstractDataProvider.qc.dox.h:99
DataProvider
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:32
DataProvider::AbstractDataProvider::requiresTransactionManagement
bool requiresTransactionManagement()
Returns True if the data provider supports transaction management.
DataProvider::AbstractDataProvider::checkUpsert
checkUpsert()
Ensures that the data provider supports record upserts.
DataProvider::AbstractDataProvider::getErrorResponseTypeImpl
AbstractDataProviderType getErrorResponseTypeImpl(string error_code)
Returns the type for the given error code.
DataProvider::DataProviderInfo::supports_bulk_create
bool supports_bulk_create
Does the data provider support native / optimized bulk creation?
Definition: AbstractDataProvider.qc.dox.h:120
DataProvider::AbstractDataProvider::getRequestOptions
*hash< string, hash< DataProviderOptionInfo > > getRequestOptions()
Returns options that can be used for requests.
DataProvider::AbstractDataProvider::callbacks_locked
static bool callbacks_locked
flag if callbacks are locked
Definition: AbstractDataProvider.qc.dox.h:200
DataProvider::AbstractDataProvider::searchRecordsBulk
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.
DataProvider::AbstractDataProvider::createRecordImpl
*hash< auto > createRecordImpl(hash< auto > rec, *hash< auto > create_options)
Creates the given record to the data provider.
DataProvider::AbstractDataProvider::cb_resolve_value
static code cb_resolve_value
static callback for dynamic value resolution
Definition: AbstractDataProvider.qc.dox.h:206
DataProvider::AbstractDataProvider::getRecordTypeImpl
*hash< string, AbstractDataField > getRecordTypeImpl(*hash< auto > search_options)
Returns the description of the record type, if any.
DataProvider::AbstractDataProvider::checkCreate
checkCreate()
Ensures that the data provider supports record creation.
DataProvider::AbstractDataProvider::searchSingleRecordImpl
*hash< auto > searchSingleRecordImpl(hash< auto > where_cond, *hash< auto > search_options)
Returns a single record matching the search options.
DataProvider::AbstractDataProvider::getChildProviderPath
AbstractDataProvider getChildProviderPath(string path)
Returns the given child provider from a "/" separated path string; throws an exception if any element...
DataProvider::AbstractDataProvider::supportsBulkUpsert
bool supportsBulkUpsert()
Returns True if the data provider supports bulk upserts.
DataProvider::AbstractDataProvider::getRequestTypeImpl
*AbstractDataProviderType getRequestTypeImpl()
Returns the description of a successful request message, if any.
DataProvider::AbstractDataProvider::checkRead
checkRead()
Ensures that the data provider supports read operations.
DataProvider::DataProviderOptionInfo::type
softlist< AbstractDataProviderType > type
The option value type or types.
Definition: AbstractDataProvider.qc.dox.h:55
DataProvider::AbstractDataProviderRecordIterator
Defines the abstract class for data provider iterators; the destructor releases the iterator.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:33
DataProvider::AbstractDataProvider::upsertRecord
string upsertRecord(hash< auto > rec, *hash< auto > upsert_options)
Upserts the given record in the data provider.
DataProvider::DataProviderInfo::supports_bulk_read
bool supports_bulk_read
Does the data provider support native / optimized bulk reads?
Definition: AbstractDataProvider.qc.dox.h:112
DataProvider::AbstractDataProvider::searchFirstRecordImpl
*hash< auto > searchFirstRecordImpl(hash< auto > where_cond, *hash< auto > search_options)
Returns the first record matching the search options.
DataProvider::DataProviderInfo::type
string type
The name of the provider type.
Definition: AbstractDataProvider.qc.dox.h:74
DataProvider::AbstractDataProvider::requestSearchRecordsImpl
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.
DataProvider::AbstractDataProvider::supportsBulkCreate
bool supportsBulkCreate()
Returns True if the data provider supports bulk creation output.
DataProvider::AbstractDataProvider::getStaticInfoImpl
abstract hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
DataProvider::DataProviderInfo::supports_create
bool supports_create
Does the data provider support record creation?
Definition: AbstractDataProvider.qc.dox.h:84
DataProvider::AbstractDataProvider::doRequestImpl
auto doRequestImpl(auto req, *hash< auto > request_options)
Makes a request and returns the response.
DataProvider::AbstractDataProviderBulkRecordInterface
Defines the abstract class for data provider iterators; the destructor releases the iterator.
Definition: AbstractDataProviderBulkRecordInterface.qc.dox.h:33
DataProvider::UpsertResultUnchanged
const UpsertResultUnchanged
Indicates that the record was left unchanged.
Definition: AbstractDataProvider.qc.dox.h:46
DataProvider::AbstractDataProvider::getInfo
hash< DataProviderInfo > getInfo()
Returns data provider info.
DataProvider::AbstractDataProvider::hasRecord
bool hasRecord()
Returns True if the data provider has a record type.
DataProvider::DataProviderInfo::record_requires_search_options
bool record_requires_search_options
Do we require search options to retrieve the record type?
Definition: AbstractDataProvider.qc.dox.h:153
DataProvider::AbstractDataProvider::getName
abstract string getName()
Returns the data provider name.
DataProvider::AbstractDataProvider::processFieldValues
*hash< auto > processFieldValues(*hash< auto > h, *hash< auto > search_options)
processes search or set values to convert types if necessary
DataProvider::AbstractDataProviderBulkOperation
Abstract bulk data operation class.
Definition: AbstractDataProviderBulkOperation.qc.dox.h:33
DataProvider::AbstractDataProvider::validateUpsertOptions
*hash< auto > validateUpsertOptions(*hash< auto > upsert_options)
validates upsert options
hash
hash< auto > hash(object obj)
DataProvider::DataProviderOptionInfo
Data provider option info.
Definition: AbstractDataProvider.qc.dox.h:53
DataProvider::DataProviderInfo::request_options
*hash< string, hash< DataProviderOptionInfo > > request_options
Request options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:178
DataProvider::AbstractDataProvider::checkRequest
checkRequest()
Ensures that the data provider supports the request API.
DataProvider::DataProviderInfo
Data provider info.
Definition: AbstractDataProvider.qc.dox.h:65
DataProvider::AbstractDataProvider::getRecordType
*hash< string, AbstractDataField > getRecordType(*hash< auto > search_options)
Returns the description of the record type, if any.
DataProvider::AbstractDataProvider
The AbstractDataProvider class.
Definition: AbstractDataProvider.qc.dox.h:194
DataProvider::AbstractDataProvider::recordRequiresSearchOptions
bool recordRequiresSearchOptions()
Returns True if the data provider requires search options to retrieve the record type.
DataProvider::AbstractDataProvider::supportsBulkRead
bool supportsBulkRead()
Returns True if the data provider supports native bulk reading.
DataProvider::AbstractDataProvider::getSoftRecordType
*hash< string, AbstractDataField > getSoftRecordType(*hash< auto > search_options)
Returns the description of the record type with soft types, if any.
DataProvider::DataProviderInfo::transaction_management
bool transaction_management
Does the data provider require transaction management?
Definition: AbstractDataProvider.qc.dox.h:143
False
const False
DataProvider::AbstractDataProvider::supportsRead
bool supportsRead()
Returns True if the data provider supports reading.
DataProvider::UpsertResultUpdated
const UpsertResultUpdated
Indicates that the record was updated.
Definition: AbstractDataProvider.qc.dox.h:40
DataProvider::AbstractDataProvider::requestSearchRecords
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.
DataProvider::AbstractDataProvider::supportsUpsert
bool supportsUpsert()
Returns True if the data provider supports the record upsert API.
DataProvider::AbstractDataProvider::searchRecordsImpl
AbstractDataProviderRecordIterator searchRecordsImpl(*hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
DataProvider::AbstractDataProvider::updateSingleRecordImpl
bool updateSingleRecordImpl(hash< auto > set, hash< auto > where_cond, *hash< auto > search_options)
Updates a single record matching the search options.
DataProvider::AbstractDataProvider::getBulkInserter
AbstractDataProviderBulkOperation getBulkInserter()
Returns a bulk insert operation object for the data provider.
DataProvider::AbstractDataProvider::upsertRecordImpl
string upsertRecordImpl(hash< auto > rec, *hash< auto > upsert_options)
Upserts the given record to the data provider.
DataProvider::AbstractDataProvider::deleteRecords
int deleteRecords(*hash< auto > where_cond, *hash< auto > search_options)
Deletes zero or more records.
DataProvider::AbstractDataProvider::supportsRequest
bool supportsRequest()
Returns True if the data provider supports requests.
DataProvider::AbstractDataProvider::supportsNativeSearch
bool supportsNativeSearch()
Returns True if the data provider supports the record search API natively.
DataProvider::AbstractDataProvider::getMapperRuntimeKeys
*hash< string, hash< MapperRuntimeKeyInfo > > getMapperRuntimeKeys()
Returns custom data mapper runtime keys.
DataProvider::AbstractDataProvider::getChildProviderNamesImpl
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
DataProvider::AbstractDataProvider::getSearchOptions
*hash< string, hash< DataProviderOptionInfo > > getSearchOptions()
Returns options that can be used for searching.
DataProvider::DataProviderInfo::search_options
*hash< string, hash< DataProviderOptionInfo > > search_options
Search options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:173
DataProvider::AbstractDataProvider::supportsCreate
bool supportsCreate()
Returns True if the data provider supports the record creation API.
DataProvider::AbstractDataProvider::getBulkUpserter
AbstractDataProviderBulkOperation getBulkUpserter()
Returns a bulk upsert operation object for the data provider.
DataProvider::AbstractDataProvider::getChildProviderImpl
*AbstractDataProvider getChildProviderImpl(string name)
Returns the given child provider or NOTHING if the given child is unknown.
DataProvider::AbstractDataProvider::searchFirstRecord
*hash< auto > searchFirstRecord(hash< auto > where_cond, *hash< auto > search_options)
Returns the first record matching the search options.
DataProvider::AbstractDataProvider::supportsDelete
bool supportsDelete()
Returns True if the data provider supports the record deletion API.
DataProvider::AbstractDataProvider::searchRecordsBulkImpl
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.
DataProvider::AbstractDataProvider::getErrorResponseType
AbstractDataProviderType getErrorResponseType(string error_code)
Returns the type for the given error code.
DataProvider::DataProviderInfo::supports_native_search
bool supports_native_search
Does the data provider support native record searching?
Definition: AbstractDataProvider.qc.dox.h:104
DataProvider::AbstractDataProvider::checkCallbacks
static bool checkCallbacks()
Checks if callbacks have already been set or locked.
DataProvider::AbstractDataProvider::rollback
rollback()
Rolls back data written to the data provider.
DataProvider::AbstractDataProvider::validateRequestOptions
*hash< auto > validateRequestOptions(*hash< auto > request_options)
validates request options
DataProvider::DataProviderInfo::upsert_options
*hash< string, hash< DataProviderOptionInfo > > upsert_options
Upsert options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:168
DataProvider::AbstractDataProvider::setDynamicValueCallbacks
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 ru...
DataProvider::AbstractDataProvider::getInfoAsData
hash< auto > getInfoAsData()
Returns static provider information as data; no objects are returned.
DataProvider::AbstractDataProvider::validateCreateOptions
*hash< auto > validateCreateOptions(*hash< auto > create_options)
validates create options