46#define as_string_equals(__val) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_DEFAULT, AS_INDEX_STRING, __val
60#define as_blob_equals(__val, __size, __free) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_DEFAULT, AS_INDEX_BLOB, __val, __size, __free
72#define as_integer_equals(__val) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_DEFAULT, AS_INDEX_NUMERIC, (int64_t)__val
84#define as_integer_range(__min, __max) AS_PREDICATE_RANGE, AS_INDEX_TYPE_DEFAULT, AS_INDEX_NUMERIC, (int64_t)__min, (int64_t)__max
96#define as_range(indextype, datatype, __min, __max) AS_PREDICATE_RANGE, AS_INDEX_TYPE_ ##indextype, AS_INDEX_ ##datatype, __min, __max
108#define as_contains(indextype, datatype, __val) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_ ##indextype, AS_INDEX_ ##datatype, __val
122#define as_blob_contains(indextype, __val, __size, __free) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_ ##indextype, AS_INDEX_BLOB, __val, __size, __free
134#define as_equals(datatype, __val) AS_PREDICATE_EQUAL, AS_INDEX_TYPE_DEFAULT, AS_INDEX_ ##datatype, __val
146#define as_geo_within(__val) AS_PREDICATE_RANGE, AS_INDEX_TYPE_DEFAULT, AS_INDEX_GEO2DSPHERE, __val
158#define as_geo_contains(__val) AS_PREDICATE_RANGE, AS_INDEX_TYPE_DEFAULT, AS_INDEX_GEO2DSPHERE, __val
164struct as_operations_s;
169typedef union as_predicate_value_u {
169typedef union as_predicate_value_u {
…};
192typedef enum as_predicate_type_e {
192typedef enum as_predicate_type_e {
…};
207typedef struct as_predicate_s {
207typedef struct as_predicate_s {
…};
254typedef enum as_order_e {
254typedef enum as_order_e {
…};
272typedef struct as_ordering_s {
272typedef struct as_ordering_s {
…};
295typedef struct as_query_bins_s {
295typedef struct as_query_bins_s {
…};
329typedef struct as_query_predicates_s {
329typedef struct as_query_predicates_s {
…};
461typedef struct as_query_s {
520 struct as_operations_s*
ops;
461typedef struct as_query_s {
…};
647#define as_query_select_inita(__query, __n) \
649 if ((__query)->select.entries == NULL) {\
650 (__query)->select.entries = (as_bin_name*) alloca(sizeof(as_bin_name) * (__n));\
651 if ( (__query)->select.entries ) { \
652 (__query)->select.capacity = (__n);\
653 (__query)->select.size = 0;\
654 (__query)->select._free = false;\
647#define as_query_select_inita(__query, __n) \ …
725#define as_query_where_inita(__query, __n) \
727 if ((__query)->where.entries == NULL) {\
728 (__query)->where.entries = (as_predicate*) alloca(sizeof(as_predicate) * (__n));\
729 if ( (__query)->where.entries ) {\
730 (__query)->where.capacity = (__n);\
731 (__query)->where.size = 0;\
732 (__query)->where._free = false;\
725#define as_query_where_inita(__query, __n) \ …
char as_bin_name[AS_BIN_NAME_MAX_SIZE]
char as_namespace[AS_NAMESPACE_MAX_SIZE]
char as_set[AS_SET_MAX_SIZE]
static as_partitions_status * as_partitions_status_reserve(as_partitions_status *parts_all)
AS_EXTERN as_query * as_query_init(as_query *query, const char *ns, const char *set)
AS_EXTERN as_query * as_query_from_bytes_new(const uint8_t *bytes, uint32_t bytes_size)
static bool as_query_is_done(as_query *query)
static void as_query_set_paginate(as_query *query, bool paginate)
AS_EXTERN bool as_query_compare(as_query *q1, as_query *q2)
AS_EXTERN bool as_query_where(as_query *query, const char *bin, as_predicate_type type, as_index_type itype, as_index_datatype dtype,...)
static void as_query_set_partitions(as_query *query, as_partitions_status *parts_all)
AS_EXTERN bool as_query_select(as_query *query, const char *bin)
AS_EXTERN bool as_query_from_bytes(as_query *query, const uint8_t *bytes, uint32_t bytes_size)
AS_EXTERN void as_query_destroy(as_query *query)
AS_EXTERN as_query * as_query_new(const char *ns, const char *set)
AS_EXTERN bool as_query_apply(as_query *query, const char *module, const char *function, const as_list *arglist)
AS_EXTERN bool as_query_where_with_ctx(as_query *query, const char *bin, struct as_cdt_ctx *ctx, as_predicate_type type, as_index_type itype, as_index_datatype dtype,...)
AS_EXTERN bool as_query_select_init(as_query *query, uint16_t n)
AS_EXTERN bool as_query_to_bytes(const as_query *query, uint8_t **bytes, uint32_t *bytes_size)
AS_EXTERN bool as_query_where_init(as_query *query, uint16_t n)
struct as_operations_s * ops
as_query_predicates where
uint32_t records_per_second
as_partitions_status * parts_all