|
| QueryBuilder (Store &store) |
|
template<OBXPropertyType PropType> |
QueryBuilder & | order (Property< EntityT, PropType > property, uint32_t flags=0) |
| Adds an order based on a given property. More...
|
|
QueryBuilder & | with (const QueryCondition &condition) |
| Appends given condition/combination of conditions. More...
|
|
template<typename RangePropertyEntityT , OBXPropertyType RangePropertyType, typename = EnableIfDate<RangePropertyType>> |
QueryBuilder< RangePropertyEntityT > | linkTime (Property< RangePropertyEntityT, RangePropertyType > property) |
| Links the (time series) entity type to another entity space using a time point in a linked entity. More...
|
|
template<typename RangePropertyEntityT , OBXPropertyType RangePropertyType, typename = EnableIfDate<RangePropertyType>> |
QueryBuilder< RangePropertyEntityT > | linkTime (Property< RangePropertyEntityT, RangePropertyType > beginProperty, Property< RangePropertyEntityT, RangePropertyType > endProperty) |
| Links the (time series) entity type to another entity space using a range defined in a given linked entity. More...
|
|
template<typename RelTargetEntityT > |
QueryBuilder< RelTargetEntityT > | link (RelationProperty< EntityT, RelTargetEntityT > rel) |
| Create a link based on a property-relation (to-one). More...
|
|
template<typename RelSourceEntityT > |
QueryBuilder< RelSourceEntityT > | backlink (RelationProperty< RelSourceEntityT, EntityT > rel) |
| Create a backlink based on a property-relation used in reverse (to-many). More...
|
|
template<typename RelTargetEntityT > |
QueryBuilder< RelTargetEntityT > | link (RelationStandalone< EntityT, RelTargetEntityT > rel) |
| Create a link based on a standalone relation (many-to-many) More...
|
|
template<typename RelSourceEntityT > |
QueryBuilder< RelSourceEntityT > | backlink (RelationStandalone< RelSourceEntityT, EntityT > rel) |
| Create a backlink based on a standalone relation (many-to-many, reverse direction) More...
|
|
QueryBuilder & | nearestNeighborsFloat32 (Property< EntityT, OBXPropertyType_FloatVector > vectorProperty, const float *queryVector, size_t maxResultCount) |
| Performs an approximate nearest neighbor (ANN) search to find objects near to the given query vector. This requires the vector property to have a HNSW index. More...
|
|
QueryBuilder & | nearestNeighborsFloat32 (Property< EntityT, OBXPropertyType_FloatVector > vectorProperty, const std::vector< float > &queryVector, size_t maxResultCount) |
| Overload for a std::vector; for details see the pointer-based nearestNeighborsFloat32(). More...
|
|
Query< EntityT > | build () |
| Once all conditions have been applied, build the query using this method to actually run it. More...
|
|
| QueryBuilderBase (Store &store, obx_schema_id entityId) |
|
| QueryBuilderBase (Store &store, const char *entityName) |
|
| QueryBuilderBase (Store &store, OBX_query_builder *ptr, bool isRoot) |
| Take ownership of an OBX_query_builder. More...
|
|
| QueryBuilderBase (const QueryBuilderBase &)=delete |
| Can't be copied, single owner of C resources is required (e.g. avoid double-free during destruction) More...
|
|
| QueryBuilderBase (QueryBuilderBase &&source) noexcept |
|
| QueryBuilderBase (Store &store, obx_schema_id entityId) |
|
| QueryBuilderBase (Store &store, const char *entityName) |
|
| QueryBuilderBase (Store &store, OBX_query_builder *ptr, bool isRoot) |
| Take ownership of an OBX_query_builder. More...
|
|
| QueryBuilderBase (const QueryBuilderBase &)=delete |
| Can't be copied, single owner of C resources is required (e.g. avoid double-free during destruction) More...
|
|
| QueryBuilderBase (QueryBuilderBase &&source) noexcept |
|
virtual | ~QueryBuilderBase () |
|
OBX_query_builder * | cPtr () const |
|
QueryBuilderBase & | relationCount (obx_schema_id relationEntityId, obx_schema_id relationPropertyId, uint32_t relationCount) |
| An object matches, if it has a given number of related objects pointing to it. At this point, there are a couple of limitations (later version may improve on that): 1) 1:N relations only, 2) the complexity is O(n * (relationCount + 1)) and cannot be improved via indexes, 3) The relation count cannot be set as an parameter. More...
|
|
QueryBuilderBase & | equals (obx_schema_id propertyId, int64_t value) |
|
QueryBuilderBase & | notEquals (obx_schema_id propertyId, int64_t value) |
|
QueryBuilderBase & | greaterThan (obx_schema_id propertyId, int64_t value) |
|
QueryBuilderBase & | lessThan (obx_schema_id propertyId, int64_t value) |
|
QueryBuilderBase & | equalsString (obx_schema_id propertyId, const char *value, bool caseSensitive=true) |
|
QueryBuilderBase & | notEqualsString (obx_schema_id propertyId, const char *value, bool caseSensitive=true) |
|
QueryBuilderBase & | order (obx_schema_id propertyId, uint32_t flags=0) |
| Adds an order based on a given property. More...
|
|
QueryBuilderBase & | with (const QueryCondition &condition) |
| Appends given condition/combination of conditions. More...
|
|
QueryBuilderBase & | nearestNeighborsFloat32 (obx_schema_id vectorPropertyId, const float *queryVector, size_t maxResultCount) |
| Performs an approximate nearest neighbor (ANN) search to find objects near to the given query_vector. This requires the vector property to have a HNSW index. More...
|
|
QueryBase | buildBase () |
| Once all conditions have been applied, build the query using this method to actually run it. More...
|
|
template<typename EntityT>
class obx::QueryBuilder< EntityT >
See QueryBuilderBase for general information on query builders; this templated class allows to work with generated entity types conveniently. To specify actual conditions, use obx_qb_*() methods with queryBuilder.cPtr() as the first argument.