Go to the documentation of this file.
18 #pragma GCC diagnostic ignored "-Waddress"
45 #define as_string_equals(__val) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_DEFAULT, AS_INDEX_STRING, __val
56 #define as_integer_equals(__val) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_DEFAULT, AS_INDEX_NUMERIC, (int64_t)__val
68 #define as_integer_range(__min, __max) AS_PREDICATE_RANGE, AS_INDEX_TYPE_DEFAULT, AS_INDEX_NUMERIC, (int64_t)__min, (int64_t)__max
80 #define as_range(indextype, datatype, __min, __max) AS_PREDICATE_RANGE, AS_INDEX_TYPE_ ##indextype, AS_INDEX_ ##datatype, __min, __max
92 #define as_contains(indextype, datatype, __val) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_ ##indextype, AS_INDEX_ ##datatype, __val
104 #define as_equals(datatype, __val) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_DEFAULT, AS_INDEX_ ##datatype, __val
106 #define as_geo_within(__val) AS_PREDICATE_RANGE, AS_INDEX_TYPE_DEFAULT, AS_INDEX_GEO2DSPHERE, __val
108 #define as_geo_contains(__val) AS_PREDICATE_RANGE, AS_INDEX_TYPE_DEFAULT, AS_INDEX_GEO2DSPHERE, __val
118 typedef union as_predicate_value_u {
152 typedef enum as_predicate_type_e {
167 typedef struct as_predicate_s {
199 typedef enum as_order_e {
217 typedef struct as_ordering_s {
240 typedef struct as_query_bins_s {
274 typedef struct as_query_predicates_s {
308 typedef struct as_query_sort_s {
470 typedef struct as_query_s {
611 #define as_query_select_inita(__query, __n) \
612 if ( (__query) != NULL && (__query)->select.entries == NULL ) {\
613 (__query)->select.entries = (as_bin_name *) alloca(__n * sizeof(as_bin_name));\
614 if ( (__query)->select.entries ) { \
615 (__query)->select._free = false;\
616 (__query)->select.capacity = __n;\
617 (__query)->select.size = 0;\
687 #define as_query_where_inita(__query, __n) \
688 if ( (__query) != NULL && (__query)->where.entries == NULL ) {\
689 (__query)->where.entries = (as_predicate *) alloca(__n * sizeof(as_predicate));\
690 if ( (__query)->where.entries ) { \
691 (__query)->where._free = false;\
692 (__query)->where.capacity = __n;\
693 (__query)->where.size = 0;\
769 #define as_query_orderby_inita(__query, __n) \
770 if ( (__query) != NULL && (__query)->orderby.entries == NULL ) {\
771 (__query)->orderby.entries = (as_ordering *) alloca(__n * sizeof(as_ordering));\
772 if ( (__query)->orderby.entries ) { \
773 (__query)->orderby._free = false;\
774 (__query)->orderby.capacity = __n;\
775 (__query)->orderby.size = 0;\