34 unsigned int str_size,
36 unsigned int max_num_scan_hits,
37 const char **str_rest);
43 unsigned int key_size);
48 unsigned int key_size,
49 unsigned int value_size,
65 unsigned int key_size,
71 unsigned int key_size,
90 unsigned int key_size,
98 unsigned int dest_key_size);
103 unsigned int src_key_size,
104 const void *dest_key,
105 unsigned int dest_key_size);
114 unsigned int min_size,
116 unsigned int max_size,
134#define GRN_DAT_EACH(ctx, dat, id, key, key_size, block) \
136 grn_dat_cursor *_sc = NULL; \
137 if (dat && grn_dat_size(ctx, dat) > 0) { \
138 _sc = grn_dat_cursor_open(ctx, dat, NULL, 0, NULL, 0, 0, -1, 0); \
142 unsigned int *_ks = (key_size); \
144 while ((id = grn_dat_cursor_next(ctx, _sc))) { \
146 grn_dat_cursor_get_key(ctx, _sc, (const void **)(key)); \
147 *(_ks) = (unsigned int)_ks_raw; \
151 while ((id = grn_dat_cursor_next(ctx, _sc))) { \
152 grn_dat_cursor_get_key(ctx, _sc, (const void **)(key)); \
156 grn_dat_cursor_close(ctx, _sc); \
160#define GRN_DAT_EACH_BEGIN(ctx, dat, cursor, id) \
162 if ((dat) && grn_dat_size((ctx), (dat)) > 0) { \
163 grn_dat_cursor *cursor = \
164 grn_dat_cursor_open((ctx), (dat), NULL, 0, NULL, 0, 0, -1, 0); \
167 while ((id = grn_dat_cursor_next((ctx), (cursor))) != GRN_ID_NIL) {
169#define GRN_DAT_EACH_END(ctx, cursor) \
171 grn_dat_cursor_close((ctx), (cursor)); \
GRN_API grn_rc grn_dat_close(grn_ctx *ctx, grn_dat *dat)
struct _grn_dat grn_dat
Definition dat.h:26
GRN_API grn_id grn_dat_get(grn_ctx *ctx, grn_dat *dat, const void *key, unsigned int key_size, void **value)
GRN_API int grn_dat_get_key(grn_ctx *ctx, grn_dat *dat, grn_id id, void *keybuf, int bufsize)
GRN_API grn_id grn_dat_add(grn_ctx *ctx, grn_dat *dat, const void *key, unsigned int key_size, void **value, int *added)
GRN_API grn_rc grn_dat_delete(grn_ctx *ctx, grn_dat *dat, const void *key, unsigned int key_size, grn_table_delete_optarg *optarg)
GRN_API grn_rc grn_dat_delete_by_id(grn_ctx *ctx, grn_dat *dat, grn_id id, grn_table_delete_optarg *optarg)
GRN_API int grn_dat_scan(grn_ctx *ctx, grn_dat *dat, const char *str, unsigned int str_size, grn_dat_scan_hit *scan_hits, unsigned int max_num_scan_hits, const char **str_rest)
GRN_API void grn_dat_cursor_close(grn_ctx *ctx, grn_dat_cursor *c)
GRN_API grn_rc grn_dat_remove(grn_ctx *ctx, const char *path)
GRN_API grn_dat * grn_dat_create(grn_ctx *ctx, const char *path, unsigned int key_size, unsigned int value_size, unsigned int flags)
GRN_API grn_rc grn_dat_update(grn_ctx *ctx, grn_dat *dat, const void *src_key, unsigned int src_key_size, const void *dest_key, unsigned int dest_key_size)
GRN_API int grn_dat_get_key2(grn_ctx *ctx, grn_dat *dat, grn_id id, grn_obj *bulk)
GRN_API grn_dat * grn_dat_open(grn_ctx *ctx, const char *path)
GRN_API grn_rc grn_dat_cursor_delete(grn_ctx *ctx, grn_dat_cursor *c, grn_table_delete_optarg *optarg)
GRN_API size_t grn_dat_cursor_get_max_n_records(grn_ctx *ctx, grn_dat_cursor *c)
GRN_API grn_dat_cursor * grn_dat_cursor_open(grn_ctx *ctx, grn_dat *dat, const void *min, unsigned int min_size, const void *max, unsigned int max_size, int offset, int limit, int flags)
GRN_API int grn_dat_cursor_get_key(grn_ctx *ctx, grn_dat_cursor *c, const void **key)
GRN_API grn_rc grn_dat_update_by_id(grn_ctx *ctx, grn_dat *dat, grn_id src_key_id, const void *dest_key, unsigned int dest_key_size)
struct _grn_dat_cursor grn_dat_cursor
Definition dat.h:27
GRN_API grn_id grn_dat_cursor_next(grn_ctx *ctx, grn_dat_cursor *c)
GRN_API unsigned int grn_dat_size(grn_ctx *ctx, grn_dat *dat)
GRN_API grn_id grn_dat_lcp_search(grn_ctx *ctx, grn_dat *dat, const void *key, unsigned int key_size)
grn_rc
Definition groonga.h:61
uint32_t grn_id
Definition groonga.h:44
#define GRN_API
Definition groonga.h:39
Definition groonga.h:3329
Definition groonga.h:3335
unsigned int offset
Definition groonga.h:3337