Query Operator Functions

## Functions

hash< QueryOperatorInfo > | CDSRestDataProvider::query_make_op (string op, auto arg)
| returns an QueryOperatorInfo hash
hash< QueryOperatorInfo > | CDSRestDataProvider::query_op_contains (string str)
| returns an QueryOperatorInfo hash for the `"contains"` operator with the given argument for use in cds queries More...
hash< QueryOperatorInfo > | CDSRestDataProvider::query_op_eq (auto arg)
| returns an QueryOperatorInfo hash for the `"="` operator with the given argument for use in cds queries when comparing column values to immediate values More...
hash< QueryOperatorInfo > | CDSRestDataProvider::query_op_ge (auto arg)
| returns an QueryOperatorInfo hash for the `">="` operator with the given argument for use in cds queries when comparing column values to immediate values More...
hash< QueryOperatorInfo > | CDSRestDataProvider::query_op_gt (auto arg)
| returns an QueryOperatorInfo hash for the `">"` operator with the given argument for use in cds queries when comparing column values to immediate values More...
hash< QueryOperatorInfo > | CDSRestDataProvider::query_op_le (auto arg)
| returns an QueryOperatorInfo hash for the `"<="` operator with the given argument for use in cds queries when comparing column values to immediate values More...
hash< QueryOperatorInfo > | CDSRestDataProvider::query_op_like (string str)
| returns an QueryOperatorInfo hash for the `"contains"` operator with the given argument for use in cds queries More...
hash< QueryOperatorInfo > | CDSRestDataProvider::query_op_lt (auto arg)
| returns an QueryOperatorInfo hash for the `"<"` operator with the given argument for use in cds queries when comparing column values to immediate values More...
hash< QueryOperatorInfo > | CDSRestDataProvider::query_op_ne (auto arg)
| returns an QueryOperatorInfo hash for the `"!="` or `"<>"` operator with the given argument for use in cds queries when comparing column values to immediate values More...
hash< QueryOperatorInfo > | CDSRestDataProvider::query_op_not (hash arg)
| returns an QueryOperatorInfo hash for the `"not"` operator; for use in cds queries More...
hash< string, hash< QueryOperatorInfo > > | CDSRestDataProvider::query_wop_or (hash< auto > h1, hash< auto > h2)
| returns an QueryOperatorInfo hash with a fake `"_OR_"` column name; the list of arguments to the function is combined such that each hash in the list generates SQL expressions combined with "and" logic, and each of those clauses is combined with "or" logic; this is for use in cds queries More...

## Detailed Description

These are the operators that can be used in CDS queries

- query_op_like(): for the `"like"` operator
- query_op_ge(): for the `">="` operator when comparing column values to immediate values
- query_op_gt(): for the `">"` operator when comparing column values to immediate values
- query_op_le(): for the `"<="` operator when comparing column values to immediate values
- query_op_lt(): for the `"<"` operator when comparing column values to immediate values
- query_op_ne(): for the `"!="` or `"<>"` operator when comparing column values to immediate values
- query_op_eq(): for the `"="` operator when comparing column values to immediate values
- query_op_not(): for negating other operators
- query_wop_or(): for combining Query expressions with `"or"`

## Function Documentation

## query_op_contains()

hash<QueryOperatorInfo> CDSRestDataProvider::query_op_contains | ( | string | str | ) |

returns an QueryOperatorInfo hash for the `"contains"` operator with the given argument for use in cds queries

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"Name": query_op_contains("%smith%")});

Parameters

  str | the argument for the operator

Returns
  an QueryOperatorInfo hash for use in cds queries

## query_op_eq()

hash<QueryOperatorInfo> CDSRestDataProvider::query_op_eq | ( | auto | arg | ) |

returns an QueryOperatorInfo hash for the `"="` operator with the given argument for use in cds queries when comparing column values to immediate values

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"Name": query_op_eq("Smith")});

Parameters

  arg | the argument for the operator

Returns
  an QueryOperatorInfo hash for use in cds queries

## query_op_ge()

hash<QueryOperatorInfo> CDSRestDataProvider::query_op_ge | ( | auto | arg | ) |

returns an QueryOperatorInfo hash for the `">="` operator with the given argument for use in cds queries when comparing column values to immediate values

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"Name": query_op_ge("Apple")});

Parameters

  arg | the argument for the operator

Returns
  an QueryOperatorInfo hash for use in cds queries

## query_op_gt()

hash<QueryOperatorInfo> CDSRestDataProvider::query_op_gt | ( | auto | arg | ) |

returns an QueryOperatorInfo hash for the `">"` operator with the given argument for use in cds queries when comparing column values to immediate values

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"Name": query_op_gt("Apple")});

Parameters

  arg | the argument for the operator

Returns
  an QueryOperatorInfo hash for use in cds queries

## query_op_le()

hash<QueryOperatorInfo> CDSRestDataProvider::query_op_le | ( | auto | arg | ) |

returns an QueryOperatorInfo hash for the `"<="` operator with the given argument for use in cds queries when comparing column values to immediate values

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"Name": query_op_le("Zebra")});

Parameters

  arg | the argument for the operator

Returns
  an QueryOperatorInfo hash for use in cds queries

## query_op_like()

hash<QueryOperatorInfo> CDSRestDataProvider::query_op_like | ( | string | str | ) |

returns an QueryOperatorInfo hash for the `"contains"` operator with the given argument for use in cds queries

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"Name": query_op_like("%smith%")});

Parameters

  str | the argument for the operator

Returns
  an QueryOperatorInfo hash for use in cds queries

## query_op_lt()

hash<QueryOperatorInfo> CDSRestDataProvider::query_op_lt | ( | auto | arg | ) |

returns an QueryOperatorInfo hash for the `"<"` operator with the given argument for use in cds queries when comparing column values to immediate values

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"Name": query_op_lt("Zebra")});

Parameters

  arg | the argument for the operator

Returns
  an QueryOperatorInfo hash for use in cds queries

## query_op_ne()

hash<QueryOperatorInfo> CDSRestDataProvider::query_op_ne | ( | auto | arg | ) |

returns an QueryOperatorInfo hash for the `"!="` or `"<>"` operator with the given argument for use in cds queries when comparing column values to immediate values

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"Name": query_op_ne("Smith")});

Parameters

  arg | the argument for the operator

## query_op_not()

hash<QueryOperatorInfo> CDSRestDataProvider::query_op_not | ( | hash | arg | ) |

returns an QueryOperatorInfo hash for the `"not"` operator; for use in cds queries

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"name": query_op_not(query_op_eq(name))});

Returns
  an QueryOperatorInfo hash for use in cds queries

## query_wop_or()

hash<string, hash<QueryOperatorInfo> > CDSRestDataProvider::query_wop_or | ( | hash< auto > | h1,
|  | hash< auto > | h2
| ) |  |

returns an QueryOperatorInfo hash with a fake `"_OR_"` column name; the list of arguments to the function is combined such that each hash in the list generates SQL expressions combined with "and" logic, and each of those clauses is combined with "or" logic; this is for use in cds queries

Example:
  AbstractDataProviderRecordIterator i = provider.searchRecords({"Id": id} + query_wop_or({"Type": "C", "ValidationFlag": query_op_ne("Y")}, {"ExpirationFlag": 'Y'}));

Parameters

  h1 | the first hash of expressions to combine with `"or"` logic
  h2 | the second hash of expressions to combine with `"or"` logic
  ... | remaining expressions to combine with `"or"` logic

Returns
  a hash with an QueryOperatorInfo hash value keyed by a fake column name (`"_OR_"` with a numeric prefix for uniqueness) for use in a where operation description hash for use in cds queries

Note
  a random prefix is used so that multiple uses of the function can be used to generate a single where clause hash