60    softlist<AbstractDataProviderType> 
type;
 
  415    softlist<hash<DataProviderSignatureTypeInfo>> 
args;
 
  709    *hash<string, hash<DataProviderMessageInfo>> 
events;
 
  716    *hash<string, hash<DataProviderMessageInfo>> 
messages;
 
  752                    "desc": 
"logical AND operation supporting logic short-circuiting",
 
  758                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  759                    foreach auto arg in (exp.args) {
 
  772                    "desc": 
"logical OR operation supporting logic short-circuiting",
 
  778                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  779                    foreach auto arg in (exp.args) {
 
  791                    "name": 
"equals (=)",
 
  792                    "desc": 
"a value for equality comparisons; the type of the value should correspond to the field " 
  798                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  811                    "name": 
"not equals (!=)",
 
  812                    "desc": 
"a value for not-equals comparisons; the type of the value should correspond to the " 
  818                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  827                    "name": 
"less than (<)",
 
  828                    "desc": 
"a value for less than comparisons; if the field value is less than the argument, then " 
  829                        "the operation returns true; the type of the value should correspond to the field type",
 
  834                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  843                    "name": 
"less than or equals (<=)",
 
  844                    "desc": 
"a value for less than or equals comparisons; if the field value is less than or equal " 
  845                        "to the argument, then the operation returns true; the type of the value should correspond " 
  851                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  860                    "name": 
"greater than (>)",
 
  861                    "desc": 
"a value for less than comparisons; if the field value is less than the argument, then " 
  862                        "the operation returns true; the type of the value should correspond to the field type",
 
  867                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  876                    "name": 
"greater than or equals (>=)",
 
  877                    "desc": 
"a value for greater than or equals comparisons; if the field value is greater than or " 
  878                        "equal to the argument, then the operation returns true; the type of the value should " 
  879                        "correspond to the field type",
 
  884                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  894                    "desc": 
"A list with two elements giving the lower and upper bounds of the field value; the list " 
  895                        "element value types must be equal to the field's type",
 
  904                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  915                    "desc": 
"A list giving possible values of the field;  if the field's value matches any of the " 
  916                        "values in the list, then the operation returns true; element value types must be equal to " 
  923                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  932                    "name": 
"logical not (!)",
 
  933                    "desc": 
"This operator reverses the logcal value of the operator expression given as an argument",
 
  938                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  946                    "name": 
"regular expression match",
 
  947                    "desc": 
"regular expression operator; the first argument will be processed with the second as a " 
  948                        "regular expression pattern",
 
  962                "impl": 
auto sub (hash<auto> rec, hash<DataProviderExpression> exp) {
 
  965                        arg1.pattern, arg1.options);
 
 1000                "desc": 
"allows a subset of fields to be output in searches",
 
 1004                "desc": 
"the maximum number of records to return",
 
 1008                "desc": 
"the offset number in records to return",
 
 1215    bool updateSingleRecord(hash<auto> set, hash<DataProviderExpression> where_cond, *hash<auto> search_options);
 
 1244    int updateRecords(hash<auto> set, *hash<DataProviderExpression> where_cond, *hash<auto> search_options);
 
 1258    int updateRecords(hash<auto> set, *hash<auto> where_cond, *hash<auto> search_options);
 
 1274    int deleteRecords(*hash<DataProviderExpression> where_cond, *hash<auto> search_options);
 
 1380    sendMessage(
string message_id, 
auto msg, *hash<auto> send_message_options);
 
 1722     hash<DataProviderExpression> 
getSimpleArgumentIntern(
int role, hash<DataProviderInfo> info, hash<DataProviderExpressionInfo> expinfo, 
string key, 
auto value);
 
 1742      static hash<DataProviderExpressionInfo> 
getExpression(
int role, 
string exp, *hash<
string, hash<DataProviderExpressionInfo>> expmap);
 
 1760        if (val instanceof hash<DataProviderExpression>);
 
 1769      static auto evalGenericExpression(hash<auto> rec, hash<DataProviderExpression> exp);
 
 1782      static bool setDynamicValueCallbacks(code value_needs_resolution, code resolve_value);
 
 1793      static verifyExpression(
int role, *hash<
string, hash<DataProviderExpressionInfo>> expmap, 
int caps, AbstractDataProviderType expected_type, hash<DataProviderExpression> exp);
 
 1804      static verifyExpression(
int role, hash<DataProviderExpressionInfo> expinfo, 
int caps, AbstractDataProviderType expected_type, hash<DataProviderExpression> exp);
 
 1813      static verifyExpressionArgValue(
int role, 
int caps, hash<DataProviderExpressionInfo> expinfo, softlist<auto> values, 
int pos);
 
 1817      static bool checkCallbacks();
 
 1825     *hash<auto> validateCreateOptions(*hash<auto> create_options);
 
 1833     *hash<auto> validateUpsertOptions(*hash<auto> upsert_options);
 
 1841     *hash<auto> validateSearchOptions(*hash<auto> search_options);
 
 1849     *hash<auto> validateRequestOptions(*hash<auto> request_options);
 
 1859     *hash<auto> validateChildCreateOptions(*hash<auto> child_create_options);
 
 1869     *hash<auto> validateChildDeleteOptions(*hash<auto> child_delete_options);
 
 1879     *hash<auto> validateFieldAddOptions(*hash<auto> field_add_options);
 
 1889     *hash<auto> validateFieldUpdateOptions(*hash<auto> field_update_options);
 
 1899     *hash<auto> validateFieldDeleteOptions(*hash<auto> field_delete_options);
 
 1909     *hash<auto> validateSendMessageOptions(*hash<auto> send_message_options);
 
 1915     processConstructorOptions(*hash<
string, hash<DataProviderOptionInfo>> option_desc, *hash<auto> options);
 
 1921     *hash<auto> checkOptions(
string err, *hash<
string, hash<DataProviderOptionInfo>> option_desc, *hash<auto> uoptions);
 
 1932     *hash<DataProviderExpression> processSearchParameters(*hash<DataProviderExpression> exp, *hash<auto> search_options);
 
 1945     *hash<auto> processFieldValues(*hash<auto> h, *hash<auto> search_options);
 
 1951     error(
string err, 
string fmt);
 
 1962     *hash<auto> searchFirstRecordImpl(hash<auto> where_cond, *hash<auto> search_options);
 
 1975     *hash<auto> searchSingleRecordImpl(hash<auto> where_cond, *hash<auto> search_options);
 
 1985     *list<string> getChildProviderNamesImpl();
 
 1993     *AbstractDataProvider getChildProviderImpl(
string name);
 
 2004    *hash<string, AbstractDataField> getRecordType(*hash<auto> search_options);
 
 2008    *hash<string, AbstractDataField> getSoftRecordType(*hash<auto> search_options);
 
 2012    *hash<string, AbstractDataField> getOrNothingRecordType(*hash<auto> search_options);
 
 2019    *hash<string, hash<DataProviderOptionInfo>> getSearchOptions();
 
 2026    *hash<string, hash<DataProviderOptionInfo>> getCreateOptions();
 
 2033    *hash<string, hash<DataProviderOptionInfo>> getUpsertOptions();
 
 2040    *hash<string, hash<DataProviderOptionInfo>> getRequestOptions();
 
 2050    *hash<string, hash<DataProviderOptionInfo>> getChildCreateOptions();
 
 2060    *hash<string, hash<DataProviderOptionInfo>> getChildDeleteOptions();
 
 2070    *hash<string, hash<DataProviderOptionInfo>> getFieldAddOptions();
 
 2080    *hash<string, hash<DataProviderOptionInfo>> getFieldUpdateOptions();
 
 2090    *hash<string, hash<DataProviderOptionInfo>> getFieldDeleteOptions();
 
 2100    *hash<string, hash<DataProviderOptionInfo>> getSendMessageOptions();
 
 2106    string getMessageSupport();
 
 2112    bool supportsRead();
 
 2118    bool supportsBulkRead();
 
 2124    bool supportsCreate();
 
 2130    bool supportsUpdate();
 
 2136    bool supportsUpsert();
 
 2142    bool supportsDelete();
 
 2148    bool supportsNativeSearch();
 
 2154    bool supportsBulkCreate();
 
 2160    bool supportsBulkUpsert();
 
 2166    bool supportsRequest();
 
 2172    bool recordRequiresSearchOptions();
 
 2184    bool supportsCreateChild();
 
 2190    bool supportsDeleteChild();
 
 2196    bool supportsAddField();
 
 2202    bool supportsUpdateField();
 
 2208    bool supportsDeleteField();
 
 2214    bool supportsSchema();
 
 2220    bool supportsSearchExpressions();
 
 2226    bool supportsObservable();
 
 2232    bool supportsMessages();
 
 2238    *
object getSchemaType();
 
 2247     *hash<string, AbstractDataField> getRecordTypeImpl(*hash<auto> search_options);
 
 2260     AbstractDataProviderBulkRecordInterface searchRecordsBulkImpl(
int block_size = 1000, *hash<auto> where_cond, *hash<auto> search_options);
 
 2271     AbstractDataProviderRecordIterator searchRecordsImpl(*hash<auto> where_cond, *hash<auto> search_options);
 
 2285     AbstractDataProviderRecordIterator requestSearchRecordsImpl(
auto req, *hash<auto> where_cond, *hash<auto> search_options);
 
 2299     *hash<auto> createRecordImpl(hash<auto> rec, *hash<auto> create_options);
 
 2310     string upsertRecordImpl(hash<auto> rec, *hash<auto> upsert_options);
 
 2320     bool updateSingleRecordImpl(hash<auto> set, hash<auto> where_cond, *hash<auto> search_options);
 
 2332     int updateRecordsImpl(hash<auto> set, *hash<auto> where_cond, *hash<auto> search_options);
 
 2344     int deleteRecordsImpl(*hash<auto> where_cond, *hash<auto> search_options);
 
 2355     auto doRequestImpl(
auto req, *hash<auto> request_options);
 
 2369     AbstractDataProvider createChildProviderImpl(
string name, hash<string, AbstractDataField> fields, *hash<auto> child_create_options);
 
 2380     deleteChildProviderImpl(
string name, *hash<auto> child_delete_options);
 
 2392     addFieldImpl(AbstractDataField field, *hash<auto> field_add_options);
 
 2404     updateFieldImpl(
string name, AbstractDataField field, *hash<auto> field_update_options);
 
 2415     deleteFieldImpl(
string name, *hash<auto> field_delete_options);
 
 2428     sendMessageImpl(
string message_id, 
auto msg, *hash<auto> send_message_options);
 
 2438     object getSchemaObjectImpl();
 
 2448     *AbstractDataProviderType getRequestTypeImpl();
 
 2458     *AbstractDataProviderType getResponseTypeImpl();
 
 2468     *hash<string, AbstractDataProviderType> getErrorResponseTypesImpl();
 
 2480     AbstractDataProviderType getErrorResponseTypeImpl(
string error_code);
 
 2496     hash<DataProviderMessageInfo> getEventInfoImpl(
string event_id);
 
 2508     hash<string, hash<DataProviderMessageInfo>> getEventTypesImpl();
 
 2522     hash<DataProviderMessageInfo> getMessageInfoImpl(
string message_id);
 
 2534     hash<string, hash<DataProviderMessageInfo>> getMessageTypesImpl();
 
 2542     throwUnimplementedException();
 
 2547    abstract 
string getName();
 
 2551     abstract hash<DataProviderInfo> getStaticInfoImpl();
 
describes a data type based on a hashdecl
Definition: AbstractDataField.qc.dox.h:47
 
Abstract bulk data operation class.
Definition: AbstractDataProviderBulkOperation.qc.dox.h:33
 
Defines the abstract class for data provider iterators; the destructor releases the iterator.
Definition: AbstractDataProviderBulkRecordInterface.qc.dox.h:33
 
The AbstractDataProvider class.
Definition: AbstractDataProvider.qc.dox.h:742
 
*hash< auto > searchFirstRecord(hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns the first record matching the search options.
 
static code cb_resolve_value
static callback for dynamic value resolution
Definition: AbstractDataProvider.qc.dox.h:989
 
const GenericExpressions
Generic search operator expressions.
Definition: AbstractDataProvider.qc.dox.h:976
 
hash< DataProviderSummaryInfo > getSummaryInfo()
Return data provider summary info.
 
hash< DataProviderMessageInfo > getEventInfo(string event_id)
Returns the description of an observable event, if any.
 
checkDeleteChild()
Ensures that the data provider supports deleting children.
 
*hash< string, hash< MapperRuntimeKeyInfo > > getMapperRuntimeKeys()
Returns custom data mapper runtime keys.
 
deleteChildProvider(string name, *hash< auto > child_delete_options)
Deletes a child data provider.
 
*hash< auto > searchSingleRecord(hash< auto > where_cond, *hash< auto > search_options)
Returns a single record matching the search options.
 
beginTransaction()
Begins a transaction with a data provider.
 
const DataProviderSummaryInfoKeys
A list of members names of the DataProviderSummaryInfoKeys hashdecl.
Definition: AbstractDataProvider.qc.dox.h:979
 
*AbstractDataProviderType getRequestType()
Returns the description of a successful request message, if any.
 
hash< auto > getInfoAsData(*bool with_type_info)
Returns static provider information as data; no objects are returned.
 
checkUpdate()
Ensures that the data provider supports record upserts.
 
AbstractDataProviderBulkOperation getBulkUpserter()
Returns a bulk upsert operation object for the data provider.
 
hash< DataProviderMessageInfo > getMessageInfo(string message_id)
Returns the description of an outbound message, if any.
 
const GenericExpressionImplementations
Generic expression implementations for data providers without native search functionality.
Definition: AbstractDataProvider.qc.dox.h:746
 
*hash< auto > searchSingleRecord(hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns a single record matching the search options.
 
hash< string, hash< DataProviderMessageInfo > > getEventTypes()
Returns a hash of all supported event types.
 
checkUpdateField()
Ensures that the data provider supports updating fields.
 
sendMessage(string message_id, auto msg, *hash< auto > send_message_options)
Sends a message from message-capable data providers.
 
checkObservable()
Ensures that the data provider supports observer pattern / event API.
 
*AbstractDataProvider getChildProvider(string name)
Returns the given child provider or NOTHING if the given child is unknown.
 
const GenericRecordSearchOptions
Generic record search options; see details below.
Definition: AbstractDataProvider.qc.dox.h:997
 
commit()
Commits data written to the data provider.
 
bool updateSingleRecord(hash< auto > set, hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Updates a single record matching the search options.
 
bool requiresTransactionManagement()
Returns True if the data provider requires transaction management.
 
AbstractDataProviderRecordIterator getRecordIterator(*hash< auto > search_options)
Returns an iterator iterating all records.
 
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.
 
constructor()
Creates the data provider.
 
deleteField(string name, *hash< auto > field_delete_options)
Deletes an existing field.
 
*hash< auto > searchFirstRecord(hash< auto > where_cond, *hash< auto > search_options)
Returns the first record matching the search options.
 
hash< DataProviderInfo > getInfo()
Returns data provider info.
 
int deleteRecords(*hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Deletes zero or more records.
 
hash< DataProviderExpression > getEqualityComparisonExpression(int role, hash< DataProviderInfo > info, string key, auto value)
Returns an equality comparison expression.
 
hash< DataProviderExpression > getSimpleArgumentIntern(int role, hash< DataProviderInfo > info, hash< DataProviderExpressionInfo > expinfo, string key, auto value)
Returns an argument for an expression.
 
rollback()
Rolls back data written to the data provider.
 
int updateRecords(hash< auto > set, *hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Updates zero or more records matching the search options.
 
static auto evalGenericExpressionValue(hash< auto > rec, auto val)
Evaluates the given expression with the generic internal implementation and returns the result.
 
*AbstractDataProviderType getResponseType()
Returns the description of a response message, if this object represents a response message.
 
static bool callbacks_locked
flag if callbacks are locked
Definition: AbstractDataProvider.qc.dox.h:983
 
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.
 
AbstractDataProviderBulkOperation getBulkInserter()
Returns a bulk insert operation object for the data provider.
 
*hash< auto > createRecord(hash< auto > rec, *hash< auto > create_options)
Creates the given record in the data provider.
 
static bool setDynamicValueCallbacks()
Ensures that no callbacks can be set for dynamic URI resolution.
 
bool updateSingleRecord(hash< auto > set, hash< auto > where_cond, *hash< auto > search_options)
Updates a single record matching the search options.
 
auto doRequest(auto req, *hash< auto > request_options)
Makes a request and returns the response.
 
*list< hash< DataProviderSummaryInfo > > getChildProviderSummaryInfo()
Return data provider summary info.
 
static code cb_value_needs_resolution
static callback the returns a bool if the value needs dynamic resolution
Definition: AbstractDataProvider.qc.dox.h:986
 
object getSchemaObject()
Returns the schema supporting this data provider.
 
checkCreate()
Ensures that the data provider supports record creation.
 
checkSchema()
Ensures that the data provider supports a schema.
 
checkRead()
Ensures that the data provider supports read operations.
 
*string getDesc()
Returns the data provider description.
 
AbstractDataProviderBulkRecordInterface getBulkRecordInterface(int block_size=1000, *hash< auto > search_options)
Returns an iterator iterating all records with the bulk read API.
 
int updateRecords(hash< auto > set, *hash< auto > where_cond, *hash< auto > search_options)
Updates zero or more records matching the search options.
 
AbstractDataProviderRecordIterator searchRecords(*hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
 
constructor(LoggerInterface logger)
Creates the data provider with the given Logger.
 
checkDelete()
Ensures that the data provider supports record deletion.
 
hash< string, hash< DataProviderMessageInfo > > getMessageTypes()
Returns a hash of all supported outbound messages.
 
static hash< DataProviderExpressionInfo > getExpression(int role, string exp, *hash< string, hash< DataProviderExpressionInfo > > expmap)
Returns an expression definition for an expression code or throws an exception.
 
AbstractDataProviderType getErrorResponseType(string error_code)
Returns the type for the given error code.
 
checkMessages()
Ensures that the data provider supports sending messages.
 
AbstractDataProviderRecordIterator searchRecords(*hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
 
*hash< string, AbstractDataProviderType > getErrorResponseTypes()
Returns a hash of error responses, if any.
 
checkDeleteField()
Ensures that the data provider supports deleting fields.
 
AbstractDataProvider getChildProviderPath(string path)
Returns the given child provider from a "/" separated path string.
 
addField(AbstractDataField field, *hash< auto > field_add_options)
Creates a new field.
 
AbstractDataProvider createChildProvider(string name, hash< string, AbstractDataField > fields, *hash< auto > child_create_options)
Creates a new child data provider and returns it after adding as a child.
 
string upsertRecord(hash< auto > rec, *hash< auto > upsert_options)
Upserts the given record in the data provider.
 
updateField(string name, AbstractDataField field, *hash< auto > field_update_options)
Updates an existing field.
 
*hash< auto > getSearchExpression(*hash< auto > where_cond, *hash< auto > search_options)
Returns a search expression for a standard search hash.
 
checkRequest()
Ensures that the data provider supports the request API.
 
AbstractDataProvider getChildProviderEx(string name)
Returns the given child provider or throws an exception if the given child is unknown.
 
checkSearchExpressions()
Ensures that the data provider supports advanced search expressions.
 
AbstractDataProviderRecordIterator requestSearchRecords(auto req, *hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options according to an API request.
 
checkAddField()
Ensures that the data provider supports adding fields.
 
checkCreateChild()
Ensures that the data provider supports creating children.
 
AbstractDataProviderBulkRecordInterface searchRecordsBulk(int block_size=1000, *hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
 
int deleteRecords(*hash< auto > where_cond, *hash< auto > search_options)
Deletes zero or more records.
 
checkUpsert()
Ensures that the data provider supports record upserts.
 
*list< string > getChildProviderNames()
Returns a list of child data provider names, if any.
 
Defines the abstract class for data provider iterators; the destructor releases the iterator.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:339
 
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:206
 
static AbstractDataProviderType get(Type type, *hash< auto > options, *hash< auto > tags)
Returns an appropriate object for the given type.
 
describes a data type based on a hash
Definition: HashDataType.qc.dox.h:36
 
describes a data type based on a hashdecl
Definition: QoreDataField.qc.dox.h:34
 
const DET_Operator
Definition: AbstractDataProvider.qc.dox.h:375
 
const DET_Function
Indicates a function expression.
Definition: AbstractDataProvider.qc.dox.h:378
 
const DP_SEARCH_OP_EQ
Identifies the generic data provider equals operator (=) for use in generic search criteria.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:81
 
const DP_SEARCH_OP_REGEX
Definition: AbstractDataProviderRecordIterator.qc.dox.h:51
 
const DP_SEARCH_OP_GT
Identifies the generic data provider greater than operator (>) for use in generic search criteria.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:66
 
const DP_SEARCH_OP_IN
Identifies the generic data provider "in" operator for use in generic search criteria.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:91
 
const DP_SEARCH_OP_GE
Identifies the generic data provider greater than or equals operator (>=) for use in generic search c...
Definition: AbstractDataProviderRecordIterator.qc.dox.h:71
 
const DP_SEARCH_OP_BETWEEN
Identifies the generic data provider "between" operator for use in generic search criteria.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:86
 
const DP_SEARCH_OP_NE
Identifies the generic data provider not equals operator (!= or <>) for use in generic search criteri...
Definition: AbstractDataProviderRecordIterator.qc.dox.h:76
 
const DP_SEARCH_OP_NOT
Identifies the generic data provider "not" operator for use in generic search criteria.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:96
 
const DP_SEARCH_OP_LT
Identifies the generic data provider less than (<) operator for use in generic search criteria.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:56
 
const DP_SEARCH_OP_LE
Identifies the generic data provider less than or equals (<=) operator for use in generic search crit...
Definition: AbstractDataProviderRecordIterator.qc.dox.h:61
 
const DP_OP_OR
OR logic.
Definition: AbstractDataProviderRecordIterator.qc.dox.h:41
 
const DP_OP_AND
Definition: AbstractDataProviderRecordIterator.qc.dox.h:38
 
const MSG_None
Definition: AbstractDataProvider.qc.dox.h:204
 
const MSG_Async
Asynchronous output type, output can happen any time.
Definition: AbstractDataProvider.qc.dox.h:216
 
const MSG_Sync
Synchronous output type, an output message is expected after each observed event.
Definition: AbstractDataProvider.qc.dox.h:211
 
const UpsertResultUnchanged
Indicates that the record was left unchanged.
Definition: AbstractDataProvider.qc.dox.h:42
 
const UpsertResultDeleted
Indicates that the record was deleted.
Definition: AbstractDataProvider.qc.dox.h:45
 
const UpsertResultInserted
Definition: AbstractDataProvider.qc.dox.h:33
 
const UpsertResultVerified
Indicates that the record was verified as already in the target state.
Definition: AbstractDataProvider.qc.dox.h:39
 
const UpsertResultUpdated
Indicates that the record was updated.
Definition: AbstractDataProvider.qc.dox.h:36
 
const ER_All
Indicates an expression that can be used in all contexts.
Definition: AbstractDataProvider.qc.dox.h:259
 
const ER_Search
Definition: AbstractDataProvider.qc.dox.h:253
 
const ER_Field
Indicates an expression that can be used in a field.
Definition: AbstractDataProvider.qc.dox.h:256
 
const LC_Or
Indicates that boolean expressions can be combined with OR logic.
Definition: AbstractDataProvider.qc.dox.h:279
 
const LC_And
Definition: AbstractDataProvider.qc.dox.h:276
 
const LC_All
Indicates that all logic capabilities are supported.
Definition: AbstractDataProvider.qc.dox.h:282
 
const ST_Value
Indicates any literal value of the given type; i.e. not an operator or other expression.
Definition: AbstractDataProvider.qc.dox.h:228
 
const ST_Field
The signature type indicates a string field name when used as an argument, and the type is the field ...
Definition: AbstractDataProvider.qc.dox.h:234
 
const ST_Any
Definition: AbstractDataProvider.qc.dox.h:225
 
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27
 
const DataProviderSignatureOptionalIntValueType
Data provider signature *int value type.
Definition: AbstractDataProvider.qc.dox.h:334
 
const DataProviderSignatureStringType
Data provider signature string type.
Definition: AbstractDataProvider.qc.dox.h:358
 
const DataProviderSignatureDateType
Data provider signature date type.
Definition: AbstractDataProvider.qc.dox.h:364
 
const DataProviderSignatureHashValueType
Data provider signature hash value type.
Definition: AbstractDataProvider.qc.dox.h:346
 
const SignatureTypeDescMap
Maps signature description values to integer codes.
Definition: AbstractDataProvider.qc.dox.h:245
 
const SignatureTypeCodeMap
Maps signature type codes to descriptions.
Definition: AbstractDataProvider.qc.dox.h:238
 
const DataProviderSignatureOptionalStringValueType
Data provider signature optional string value type.
Definition: AbstractDataProvider.qc.dox.h:322
 
const LogicDescMap
Logic map from descriptions to integer codes.
Definition: AbstractDataProvider.qc.dox.h:292
 
const DataProviderSignatureFieldType
Data provider signature field type.
Definition: AbstractDataProvider.qc.dox.h:304
 
const ExpressionTypeDescMap
Maps DataProvider expression type descriptions to integer codes.
Definition: AbstractDataProvider.qc.dox.h:388
 
const DataProviderSignatureBoolType
Data provider signature bool type.
Definition: AbstractDataProvider.qc.dox.h:352
 
const AbstractDataProviderTypeMap
Maps Qore type name constant values to AbstractDataProviderType values.
Definition: AbstractDataProviderType.qc.dox.h:140
 
const DataProviderSignatureListValueType
Data provider signature list value type.
Definition: AbstractDataProvider.qc.dox.h:340
 
const DataProviderSignatureStringValueType
Data provider signature string value type.
Definition: AbstractDataProvider.qc.dox.h:316
 
const DataProviderSignatureAnyType
Data provider signature any type.
Definition: AbstractDataProvider.qc.dox.h:310
 
const RoleCodeMap
Role map from codes to descriptions.
Definition: AbstractDataProvider.qc.dox.h:263
 
const LogicCodeMap
Logic map from codes to descriptions.
Definition: AbstractDataProvider.qc.dox.h:286
 
const RoleDescMap
Role map from descriptions to codes.
Definition: AbstractDataProvider.qc.dox.h:268
 
const ExpressionTypeCodeMap
Maps DataProvider expression type codes to descriptions.
Definition: AbstractDataProvider.qc.dox.h:382
 
const DataProviderSignatureIntValueType
Data provider signature int value type.
Definition: AbstractDataProvider.qc.dox.h:328
 
Allowed value hash.
Definition: AbstractDataProvider.qc.dox.h:49
 
auto value
The value.
Definition: AbstractDataProvider.qc.dox.h:51
 
string desc
Description for the value.
Definition: AbstractDataProvider.qc.dox.h:54
 
Data provider expression.
Definition: AbstractDataProvider.qc.dox.h:431
 
string exp
Expression name.
Definition: AbstractDataProvider.qc.dox.h:433
 
softlist< auto > args
Expression arguments.
Definition: AbstractDataProvider.qc.dox.h:439
 
Data provider signature info.
Definition: AbstractDataProvider.qc.dox.h:391
 
string symbol
The symbol to use when rendering expressions.
Definition: AbstractDataProvider.qc.dox.h:407
 
string name
The display name.
Definition: AbstractDataProvider.qc.dox.h:401
 
string label
The label used for the expression.
Definition: AbstractDataProvider.qc.dox.h:398
 
bool varargs
The last argument can be repeated indefinitely.
Definition: AbstractDataProvider.qc.dox.h:421
 
int role
The expression role code / bitfield.
Definition: AbstractDataProvider.qc.dox.h:412
 
int type
The type of expression; see DataProvider Expression Type Codes.
Definition: AbstractDataProvider.qc.dox.h:393
 
softlist< hash< DataProviderSignatureTypeInfo > > args
Argument types.
Definition: AbstractDataProvider.qc.dox.h:415
 
string desc
The description of the operation.
Definition: AbstractDataProvider.qc.dox.h:404
 
AbstractDataProviderType return_type
The return type.
Definition: AbstractDataProvider.qc.dox.h:418
 
Data provider field reference.
Definition: AbstractDataProvider.qc.dox.h:425
 
string field
The name of the field being referenced.
Definition: AbstractDataProvider.qc.dox.h:427
 
Data provider info.
Definition: AbstractDataProvider.qc.dox.h:443
 
string supports_messages
Output message support.
Definition: AbstractDataProvider.qc.dox.h:597
 
bool supports_delete
Does the data provider support record deletion?
Definition: AbstractDataProvider.qc.dox.h:477
 
*hash< string, hash< DataProviderMessageInfo > > events
hash of observable events and event types
Definition: AbstractDataProvider.qc.dox.h:709
 
bool supports_bulk_read
Does the data provider support native / optimized bulk reads?
Definition: AbstractDataProvider.qc.dox.h:490
 
*hash< string, hash< DataProviderOptionInfo > > add_field_options
Add field options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:674
 
*hash< string, hash< DataProviderMessageInfo > > messages
List of output message IDs and message types.
Definition: AbstractDataProvider.qc.dox.h:716
 
bool transaction_management
Does the data provider require transaction management?
Definition: AbstractDataProvider.qc.dox.h:521
 
*hash< string, hash< DataProviderExpressionInfo > > expressions
Expressions (operators and functions) supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:702
 
bool children_can_support_observers
Can any child data providers support the observer pattern / event API?
Definition: AbstractDataProvider.qc.dox.h:612
 
bool supports_child_delete
Does the data provider support deleting new child providers?
Definition: AbstractDataProvider.qc.dox.h:545
 
string type
The name of the provider type.
Definition: AbstractDataProvider.qc.dox.h:452
 
bool supports_delete_field
Does the data provider support deleting fields?
Definition: AbstractDataProvider.qc.dox.h:566
 
bool supports_child_create
Does the data provider support creating new child providers?
Definition: AbstractDataProvider.qc.dox.h:538
 
*hash< string, hash< DataProviderOptionInfo > > child_delete_options
Child deletion options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:667
 
bool supports_native_search
Does the data provider support native record searching?
Definition: AbstractDataProvider.qc.dox.h:482
 
*hash< string, hash< DataProviderOptionInfo > > request_options
Request options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:653
 
*hash< string, hash< DataProviderOptionInfo > > search_options
Search options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:648
 
string name
Data provider name.
Definition: AbstractDataProvider.qc.dox.h:447
 
bool supports_add_field
Does the data provider support adding new fields?
Definition: AbstractDataProvider.qc.dox.h:552
 
bool children_can_support_messages
Can any child data providers support messages?
Definition: AbstractDataProvider.qc.dox.h:617
 
bool supports_bulk_upsert
Does the data provider support native / optimized bulk upserts?
Definition: AbstractDataProvider.qc.dox.h:506
 
*hash< string, hash< DataProviderOptionInfo > > child_create_options
Child creation options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:660
 
hash< string, hash< MapperRuntimeKeyInfo > > mapper_keys
A hash of mapper key information.
Definition: AbstractDataProvider.qc.dox.h:728
 
bool supports_read
Does the data provider support reading.
Definition: AbstractDataProvider.qc.dox.h:457
 
bool record_requires_search_options
Do we require search options to retrieve the record type?
Definition: AbstractDataProvider.qc.dox.h:531
 
bool supports_update
Does the data provider support record updates?
Definition: AbstractDataProvider.qc.dox.h:467
 
bool supports_search_expressions
Does this data provide support advanced search experssions?
Definition: AbstractDataProvider.qc.dox.h:580
 
*hash< string, hash< DataProviderOptionInfo > > upsert_options
Upsert options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:643
 
bool supports_update_field
Does the data provider support updating existing fields?
Definition: AbstractDataProvider.qc.dox.h:559
 
bool supports_request
Does the data provider support the request API?
Definition: AbstractDataProvider.qc.dox.h:511
 
*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:633
 
*hash< string, hash< DataProviderOptionInfo > > create_options
Create options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:638
 
bool supports_create
Does the data provider support record creation?
Definition: AbstractDataProvider.qc.dox.h:462
 
*list< string > children
A list of child data providers in this data provider.
Definition: AbstractDataProvider.qc.dox.h:738
 
bool supports_observable
Does this data provider support the event API / observer pattern?
Definition: AbstractDataProvider.qc.dox.h:587
 
bool supports_upsert
Does the data provider support record upserts (create or update)?
Definition: AbstractDataProvider.qc.dox.h:472
 
bool supports_bulk_create
Does the data provider support native / optimized bulk creation?
Definition: AbstractDataProvider.qc.dox.h:498
 
*hash< string, hash< DataProviderOptionInfo > > delete_field_options
Delete field options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:688
 
*hash< string, hash< DataProviderOptionInfo > > send_message_options
Send message options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:695
 
bool supports_children
Does the data provider support children?
Definition: AbstractDataProvider.qc.dox.h:516
 
bool children_can_support_apis
Can any child data providers offer API services (request - response data providers)?
Definition: AbstractDataProvider.qc.dox.h:602
 
bool children_can_support_records
Can any child data providers offer record-based providers?
Definition: AbstractDataProvider.qc.dox.h:607
 
*hash< string, hash< DataProviderOptionInfo > > update_field_options
Update field options supported by the data provider.
Definition: AbstractDataProvider.qc.dox.h:681
 
*string desc
A markdown description of the data provider.
Definition: AbstractDataProvider.qc.dox.h:733
 
bool supports_schema
Does the data provider support a schema?
Definition: AbstractDataProvider.qc.dox.h:573
 
bool children_can_support_transactions
Can any child data providers support transaction management?
Definition: AbstractDataProvider.qc.dox.h:622
 
int search_logic_capabilities
Supported search logic capabilities.
Definition: AbstractDataProvider.qc.dox.h:721
 
*string schema_type
Returns the schema type supported by this data provider.
Definition: AbstractDataProvider.qc.dox.h:628
 
bool has_record
Does the data provider provide a record?
Definition: AbstractDataProvider.qc.dox.h:526
 
Data provider message and event info.
Definition: AbstractDataProvider.qc.dox.h:183
 
string desc
The description of the message or event.
Definition: AbstractDataProvider.qc.dox.h:187
 
AbstractDataProviderType type
The data type of the message or event.
Definition: AbstractDataProvider.qc.dox.h:190
 
Data provider option info.
Definition: AbstractDataProvider.qc.dox.h:58
 
softlist< AbstractDataProviderType > type
The option value type or types.
Definition: AbstractDataProvider.qc.dox.h:60
 
bool sensitive
Is the option value sensitive?
Definition: AbstractDataProvider.qc.dox.h:72
 
auto default_value
Any default value.
Definition: AbstractDataProvider.qc.dox.h:69
 
string desc
The option description.
Definition: AbstractDataProvider.qc.dox.h:66
 
*softlist< hash< AllowedValueInfo > > allowed_values
List of allowed values (enum)
Definition: AbstractDataProvider.qc.dox.h:75
 
bool required
Required flag.
Definition: AbstractDataProvider.qc.dox.h:63
 
Data provider signature argument info.
Definition: AbstractDataProvider.qc.dox.h:295
 
int type_code
The signature type code.
Definition: AbstractDataProvider.qc.dox.h:300
 
AbstractDataProviderType type
Argument types.
Definition: AbstractDataProvider.qc.dox.h:297
 
Data provider summary info.
Definition: AbstractDataProvider.qc.dox.h:79
 
bool supports_observable
Does this data provider support the event API / observer pattern?
Definition: AbstractDataProvider.qc.dox.h:144
 
bool supports_bulk_upsert
Does the data provider support native / optimized bulk upserts?
Definition: AbstractDataProvider.qc.dox.h:123
 
bool transaction_management
Does the data provider require transaction management?
Definition: AbstractDataProvider.qc.dox.h:132
 
bool children_can_support_apis
Can any child data providers offer API services (request - response data providers)?
Definition: AbstractDataProvider.qc.dox.h:159
 
bool supports_create
Does the data provider support record creation?
Definition: AbstractDataProvider.qc.dox.h:93
 
string name
The name of the data provider.
Definition: AbstractDataProvider.qc.dox.h:81
 
bool supports_read
Does the data provider support reading.
Definition: AbstractDataProvider.qc.dox.h:90
 
string desc
The description of the data provider; supports markdown.
Definition: AbstractDataProvider.qc.dox.h:84
 
bool has_record
Does the data provider provide a record?
Definition: AbstractDataProvider.qc.dox.h:135
 
bool children_can_support_transactions
Can any child data providers support transaction management?
Definition: AbstractDataProvider.qc.dox.h:179
 
bool children_can_support_observers
Can any child data providers support the observer pattern / event API?
Definition: AbstractDataProvider.qc.dox.h:169
 
bool supports_upsert
Does the data provider support record upserts (create or update)?
Definition: AbstractDataProvider.qc.dox.h:99
 
bool supports_children
Does the data provider support children?
Definition: AbstractDataProvider.qc.dox.h:129
 
bool supports_bulk_create
Does the data provider support native / optimized bulk creation?
Definition: AbstractDataProvider.qc.dox.h:117
 
bool supports_delete
Does the data provider support record deletion?
Definition: AbstractDataProvider.qc.dox.h:102
 
bool supports_request
Does the data provider support the request API?
Definition: AbstractDataProvider.qc.dox.h:126
 
bool supports_search_expressions
Does this data provide support advanced search experssions?
Definition: AbstractDataProvider.qc.dox.h:138
 
bool children_can_support_messages
Can any child data providers support messages?
Definition: AbstractDataProvider.qc.dox.h:174
 
bool supports_native_search
Does the data provider support native record searching?
Definition: AbstractDataProvider.qc.dox.h:105
 
string supports_messages
Message support.
Definition: AbstractDataProvider.qc.dox.h:154
 
string type
The name of the provider type.
Definition: AbstractDataProvider.qc.dox.h:87
 
bool supports_update
Does the data provider support record updates?
Definition: AbstractDataProvider.qc.dox.h:96
 
bool supports_bulk_read
Does the data provider support native / optimized bulk reads?
Definition: AbstractDataProvider.qc.dox.h:111
 
bool children_can_support_records
Can any child data providers offer record-based providers?
Definition: AbstractDataProvider.qc.dox.h:164