36# if defined(_WIN32) || defined(_WIN64)
37# define GRN_API __declspec(dllimport)
48#ifdef GRN_HAVE_BFLOAT16
49typedef __bf16 grn_bfloat16;
55#define GRN_ID_NIL (0x00)
56#define GRN_ID_MAX (0x3fffffff)
59#define GRN_FALSE false
129#define GRN_LZO_ERROR GRN_LZ4_ERROR
188#define GRN_COMMAND_VERSION_MIN GRN_COMMAND_VERSION_1
189#define GRN_COMMAND_VERSION_STABLE GRN_COMMAND_VERSION_1
190#define GRN_COMMAND_VERSION_MAX GRN_COMMAND_VERSION_3
211#define GRN_QUERY_LOG_NONE (0x00)
212#define GRN_QUERY_LOG_COMMAND (0x01 << 0)
213#define GRN_QUERY_LOG_RESULT_CODE (0x01 << 1)
214#define GRN_QUERY_LOG_DESTINATION (0x01 << 2)
215#define GRN_QUERY_LOG_CACHE (0x01 << 3)
216#define GRN_QUERY_LOG_SIZE (0x01 << 4)
217#define GRN_QUERY_LOG_SCORE (0x01 << 5)
218#define GRN_QUERY_LOG_ALL \
219 (GRN_QUERY_LOG_COMMAND | GRN_QUERY_LOG_RESULT_CODE | \
220 GRN_QUERY_LOG_DESTINATION | GRN_QUERY_LOG_CACHE | GRN_QUERY_LOG_SIZE | \
222#define GRN_QUERY_LOG_DEFAULT GRN_QUERY_LOG_ALL
334#define GRN_CTX_MSGSIZE (0x80)
335#define GRN_CTX_FIN (0xff)
372#define GRN_CTX_USER_DATA(ctx) (&((ctx)->user_data))
375#define GRN_CTX_USE_QL (0x03)
377#define GRN_CTX_BATCH_MODE (0x04)
378#define GRN_CTX_PER_DB (0x08)
470#define GRN_CTX_GET_ENCODING(ctx) ((ctx)->encoding)
471#define GRN_CTX_SET_ENCODING(ctx, enc) \
473 (enc == GRN_ENC_DEFAULT) ? grn_get_default_encoding() : enc)
685#define GRN_OBJ_FLAGS_MASK (0xffff)
687#define GRN_OBJ_TABLE_TYPE_MASK (0x07)
688#define GRN_OBJ_TABLE_HASH_KEY (0x00)
689#define GRN_OBJ_TABLE_PAT_KEY (0x01)
690#define GRN_OBJ_TABLE_DAT_KEY (0x02)
691#define GRN_OBJ_TABLE_NO_KEY (0x03)
694#define GRN_OBJ_KEY_MASK (0x07 << 3)
697#define GRN_OBJ_KEY_UINT (0x00 << 3)
700#define GRN_OBJ_KEY_INT (0x01 << 3)
703#define GRN_OBJ_KEY_FLOAT (0x02 << 3)
706#define GRN_OBJ_KEY_GEO_POINT (0x03 << 3)
712#define GRN_OBJ_KEY_WITH_SIS (0x01 << 6)
718#define GRN_OBJ_KEY_NORMALIZE (0x01 << 7)
726#define GRN_OBJ_COLUMN_TYPE_MASK (0x07)
731#define GRN_OBJ_COLUMN_SCALAR (0x00)
736#define GRN_OBJ_COLUMN_VECTOR (0x01)
741#define GRN_OBJ_COLUMN_INDEX (0x02)
743#define GRN_OBJ_COMPRESS_MASK (0x07 << 4)
744#define GRN_OBJ_COMPRESS_NONE (0x00 << 4)
749#define GRN_OBJ_COMPRESS_ZLIB (0x01 << 4)
754#define GRN_OBJ_COMPRESS_LZ4 (0x02 << 4)
756#define GRN_OBJ_COMPRESS_LZO GRN_OBJ_COMPRESS_LZ4
761#define GRN_OBJ_COMPRESS_ZSTD (0x03 << 4)
768#define GRN_OBJ_COMPRESS_OPENZL (0x04 << 4)
777#define GRN_OBJ_WITH_SECTION (0x01 << 7)
785#define GRN_OBJ_WITH_WEIGHT (0x01 << 8)
794#define GRN_OBJ_WITH_POSITION (0x01 << 9)
795#define GRN_OBJ_RING_BUFFER (0x01 << 10)
796#define GRN_OBJ_WEIGHT_BFLOAT16 (0x01 << 11)
798#define GRN_OBJ_UNIT_MASK (0x0f << 8)
799#define GRN_OBJ_UNIT_DOCUMENT_NONE (0x00 << 8)
800#define GRN_OBJ_UNIT_DOCUMENT_SECTION (0x01 << 8)
801#define GRN_OBJ_UNIT_DOCUMENT_POSITION (0x02 << 8)
802#define GRN_OBJ_UNIT_SECTION_NONE (0x03 << 8)
803#define GRN_OBJ_UNIT_SECTION_POSITION (0x04 << 8)
804#define GRN_OBJ_UNIT_POSITION_NONE (0x05 << 8)
805#define GRN_OBJ_UNIT_USERDEF_DOCUMENT (0x06 << 8)
806#define GRN_OBJ_UNIT_USERDEF_SECTION (0x07 << 8)
807#define GRN_OBJ_UNIT_USERDEF_POSITION (0x08 << 8)
811#define GRN_OBJ_NO_SUBREC (0x00 << 13)
812#define GRN_OBJ_WITH_SUBREC (0x01 << 13)
820#define GRN_OBJ_KEY_VAR_SIZE (0x01 << 14)
822#define GRN_OBJ_TEMPORARY (0x00 << 15)
827#define GRN_OBJ_PERSISTENT (0x01 << 15)
831#define GRN_OBJ_KEY_LARGE (0x01 << 16)
835#define GRN_OBJ_INDEX_SMALL (0x01 << 16)
836#define GRN_OBJ_INDEX_MEDIUM (0x01 << 17)
837#define GRN_OBJ_INDEX_LARGE (0x01 << 18)
838#define GRN_OBJ_WEIGHT_FLOAT32 (0x01 << 19)
840#define GRN_OBJ_MISSING_MASK (0x03 << 20)
841#define GRN_OBJ_MISSING_ADD (0x00 << 20)
842#define GRN_OBJ_MISSING_IGNORE (0x01 << 20)
843#define GRN_OBJ_MISSING_NIL (0x02 << 20)
845#define GRN_OBJ_INVALID_MASK (0x03 << 22)
846#define GRN_OBJ_INVALID_ERROR (0x00 << 22)
847#define GRN_OBJ_INVALID_WARN (0x01 << 22)
848#define GRN_OBJ_INVALID_IGNORE (0x02 << 22)
850#define GRN_OBJ_COMPRESS_FILTER_SHUFFLE (0x01 << 24)
851#define GRN_OBJ_COMPRESS_FILTER_BYTE_DELTA (0x01 << 25)
852#define GRN_OBJ_COMPRESS_FILTER_TRUNCATE_PRECISION_1BYTE (0x01 << 26)
853#define GRN_OBJ_COMPRESS_FILTER_TRUNCATE_PRECISION_2BYTES (0x01 << 27)
858#define GRN_OBJ_VISIBLE ((uint32_t)(0x00 << 31))
859#define GRN_OBJ_INVISIBLE ((uint32_t)(0x01 << 31))
863#define GRN_VOID (0x00)
868#define GRN_BULK (0x02)
873#define GRN_PTR (0x03)
875#define GRN_UVECTOR (0x04)
876#define GRN_PVECTOR (0x05)
877#define GRN_VECTOR (0x06)
878#define GRN_MSG (0x07)
879#define GRN_QUERY (0x08)
880#define GRN_ACCESSOR (0x09)
881#define GRN_SNIP (0x0b)
882#define GRN_PATSNIP (0x0c)
883#define GRN_STRING (0x0d)
884#define GRN_HIGHLIGHTER (0x0e)
885#define GRN_CURSOR_TABLE_HASH_KEY (0x10)
886#define GRN_CURSOR_TABLE_PAT_KEY (0x11)
887#define GRN_CURSOR_TABLE_DAT_KEY (0x12)
888#define GRN_CURSOR_TABLE_NO_KEY (0x13)
889#define GRN_CURSOR_COLUMN_INDEX (0x18)
890#define GRN_CURSOR_COLUMN_GEO_INDEX (0x1a)
891#define GRN_CURSOR_CONFIG (0x1f)
892#define GRN_TYPE (0x20)
893#define GRN_PROC (0x21)
894#define GRN_EXPR (0x22)
895#define GRN_TABLE_HASH_KEY (0x30)
896#define GRN_TABLE_PAT_KEY (0x31)
897#define GRN_TABLE_DAT_KEY (0x32)
898#define GRN_TABLE_NO_KEY (0x33)
900#define GRN_COLUMN_FIX_SIZE (0x40)
901#define GRN_COLUMN_VAR_SIZE (0x41)
902#define GRN_COLUMN_INDEX (0x48)
903#define GRN_HTTP_CLIENT (0x50)
935#define GRN_OBJ_REFER (0x01 << 0)
936#define GRN_OBJ_OUTPLACE (0x01 << 1)
945#define GRN_OBJ_OWN (0x01 << 5)
947#define GRN_OBJ_INIT(obj, obj_type, obj_flags, obj_domain) \
949 (obj)->header.type = (obj_type); \
950 (obj)->header.impl_flags = (obj_flags); \
951 (obj)->header.flags = 0; \
952 (obj)->header.domain = (obj_domain); \
953 (obj)->u.b.head = NULL; \
954 (obj)->u.b.curr = NULL; \
955 (obj)->u.b.tail = NULL; \
958#define GRN_OBJ_FIN(ctx, obj) (grn_obj_close((ctx), (obj)))
1160#define GRN_OP_BUT GRN_OP_AND_NOT
1192#define GRN_OP_NEAR2 GRN_OP_NEAR_NO_OFFSET
1288 uint32_t name_size);
1327#define GRN_INFO_SUPPORT_LZO GRN_INFO_SUPPORT_LZ4
1332#define GRN_INFO_SUPPORT_ARROW GRN_INFO_SUPPORT_APACHE_ARROW
1451#define GRN_COLUMN_EACH(ctx, column, id, value, block) \
1455 while ((_n = grn_obj_get_values(ctx, column, id, (void **)&value)) > 0) { \
1456 for (; _n; _n--, id++, value++) { \
1462#define GRN_OBJ_SET_MASK (0x07)
1466#define GRN_OBJ_SET (0x01)
1470#define GRN_OBJ_INCR (0x02)
1474#define GRN_OBJ_DECR (0x03)
1478#define GRN_OBJ_APPEND (0x04)
1482#define GRN_OBJ_PREPEND (0x05)
1483#define GRN_OBJ_GET (0x01 << 4)
1484#define GRN_OBJ_COMPARE (0x01 << 5)
1485#define GRN_OBJ_LOCK (0x01 << 6)
1486#define GRN_OBJ_UNLOCK (0x01 << 7)
1516#define GRN_OBJ_REMOVE_DEPENDENT (0x01 << 0)
1517#define GRN_OBJ_REMOVE_ENSURE (0x01 << 1)
1563 unsigned int name_size);
1583 unsigned int name_size);
1803#define GRN_OBJ_GET_DOMAIN(obj) \
1804 ((obj)->header.type == GRN_TABLE_NO_KEY ? GRN_ID_NIL : (obj)->header.domain)
1958#define GRN_TABLE_FUZZY_SEARCH_WITH_TRANSPOSITION (0x01 << 0)
1959#define GRN_TABLE_FUZZY_SEARCH_USE_PREFIX_LENGTH (0x01 << 1)
1960#define GRN_TABLE_FUZZY_SEARCH_USE_MAX_DISTANCE_RATIO (0x01 << 2)
1963#define GRN_TABLE_FUZZY_SEARCH_SKIP_TOKENIZE (0x01 << 3)
1983#define GRN_MATCH_INFO_GET_MIN_RECORD_ID (0x01)
1984#define GRN_MATCH_INFO_ONLY_SKIP_TOKEN (0x02)
2079#define GRN_N_HOOK_ENTRIES 5
2200 unsigned int n_index_data);
2206 uint32_t n_index_data);
2256#ifndef GRN_QUERY_AND
2257# define GRN_QUERY_AND '+'
2259#ifndef GRN_QUERY_AND_NOT
2260# ifdef GRN_QUERY_BUT
2262# define GRN_QUERY_AND_NOT GRN_QUERY_BUT
2264# define GRN_QUERY_AND_NOT '-'
2267#ifndef GRN_QUERY_ADJ_INC
2268# define GRN_QUERY_ADJ_INC '>'
2270#ifndef GRN_QUERY_ADJ_DEC
2271# define GRN_QUERY_ADJ_DEC '<'
2273#ifndef GRN_QUERY_ADJ_NEG
2274# define GRN_QUERY_ADJ_NEG '~'
2276#ifndef GRN_QUERY_PREFIX
2277# define GRN_QUERY_PREFIX '*'
2279#ifndef GRN_QUERY_PARENL
2280# define GRN_QUERY_PARENL '('
2282#ifndef GRN_QUERY_PARENR
2283# define GRN_QUERY_PARENR ')'
2285#ifndef GRN_QUERY_QUOTEL
2286# define GRN_QUERY_QUOTEL '"'
2287#endif /* GRN_QUERY_QUOTEL */
2288#ifndef GRN_QUERY_QUOTER
2289# define GRN_QUERY_QUOTER '"'
2291#ifndef GRN_QUERY_ESCAPE
2292# define GRN_QUERY_ESCAPE '\\'
2294#ifndef GRN_QUERY_COLUMN
2295# define GRN_QUERY_COLUMN ':'
2304#define GRN_SNIP_NORMALIZE (0x01 << 0)
2305#define GRN_SNIP_COPY_TAG (0x01 << 1)
2306#define GRN_SNIP_SKIP_LEADING_SPACES (0x01 << 2)
2308#define GRN_SNIP_MAPPING_HTML_ESCAPE ((grn_snip_mapping *)-1)
2314 unsigned int max_results,
2315 const char *defaultopentag,
2316 unsigned int defaultopentag_len,
2317 const char *defaultclosetag,
2318 unsigned int defaultclosetag_len,
2323 const char *keyword,
2324 unsigned int keyword_len,
2325 const char *opentag,
2326 unsigned int opentag_len,
2327 const char *closetag,
2328 unsigned int closetag_len);
2340 const char *pattern,
2341 int pattern_length);
2345 size_t *pattern_length);
2350 unsigned int string_len,
2351 unsigned int *nresults,
2352 unsigned int *max_tagged_len);
2356 const unsigned int index,
2358 unsigned int *result_len);
2362#define GRN_LOG_NONE (0x00 << 0)
2363#define GRN_LOG_TIME (0x01 << 0)
2364#define GRN_LOG_TITLE (0x01 << 1)
2365#define GRN_LOG_MESSAGE (0x01 << 2)
2366#define GRN_LOG_LOCATION (0x01 << 3)
2367#define GRN_LOG_PID (0x01 << 4)
2368#define GRN_LOG_PROCESS_ID GRN_LOG_PID
2369#define GRN_LOG_THREAD_ID (0x01 << 5)
2370#define GRN_LOG_CONTEXT_ID (0x01 << 6)
2372#define GRN_LOG_CTX_ID GRN_LOG_CONTEXT_ID
2373#define GRN_LOG_ALL \
2374 (GRN_LOG_TIME | GRN_LOG_TITLE | GRN_LOG_MESSAGE | GRN_LOG_LOCATION | \
2375 GRN_LOG_PROCESS_ID | GRN_LOG_THREAD_ID | GRN_LOG_CONTEXT_ID)
2376#define GRN_LOG_DEFAULT (GRN_LOG_TIME | GRN_LOG_MESSAGE)
2386 int,
const char *,
const char *,
const char *,
const char *,
void *);
2402 const char *timestamp,
2404 const char *message,
2405 const char *location,
2423# define GRN_ATTRIBUTE_PRINTF(fmt_pos) \
2424 __attribute__((format(printf, fmt_pos, fmt_pos + 1)))
2426# define GRN_ATTRIBUTE_PRINTF(fmt_pos)
2429#if defined(__clang__)
2430# if __has_attribute(__alloc_size__)
2431# define HAVE_ALLOC_SIZE_ATTRIBUTE
2433#elif defined(__GNUC__) && \
2434 ((__GNUC__ >= 5) || (__GNUC__ > 4 && __GNUC_MINOR__ >= 3))
2435# define HAVE_ALLOC_SIZE_ATTRIBUTE
2438#ifdef HAVE_ALLOC_SIZE_ATTRIBUTE
2439# define GRN_ATTRIBUTE_ALLOC_SIZE(size) __attribute__((alloc_size(size)))
2440# define GRN_ATTRIBUTE_ALLOC_SIZE_N(n, size) \
2441 __attribute__((alloc_size(n, size)))
2443# define GRN_ATTRIBUTE_ALLOC_SIZE(size)
2444# define GRN_ATTRIBUTE_ALLOC_SIZE_N(n, size)
2472#ifndef GRN_LOG_DEFAULT_LEVEL
2473# define GRN_LOG_DEFAULT_LEVEL GRN_LOG_NOTICE
2493#define GRN_LOG(ctx, level, ...) \
2495 if (grn_logger_pass(ctx, level)) { \
2496 grn_logger_put(ctx, \
2512#define GRN_SLOW_LOG_PUSH(ctx, level) \
2514 if (grn_logger_pass(ctx, level)) { \
2515 grn_slow_log_push(ctx); \
2519#define GRN_SLOW_LOG_POP_BEGIN(ctx, level, elapsed_time) \
2521 if (grn_logger_pass(ctx, level)) { \
2522 double elapsed_time = grn_slow_log_pop(ctx); \
2523 if (grn_slow_log_is_slow(ctx, elapsed_time)) {
2525#define GRN_SLOW_LOG_POP_END(ctx) \
2538 const char *timestamp,
2540 const char *message,
2549 unsigned int *flags);
2564 grn_ctx *ctx,
unsigned int flag,
const char *mark,
const char *format, ...)
2585#define GRN_QUERY_LOG(ctx, flag, mark, format, ...) \
2587 if (grn_query_logger_pass(ctx, flag)) { \
2588 grn_query_logger_put(ctx, (flag), (mark), format, __VA_ARGS__); \
2594#define GRN_BULK_BUFSIZE (sizeof(grn_obj) - sizeof(grn_obj_header))
2596#define GRN_BULK_BUFSIZE_MAX 0x1f
2597#define GRN_BULK_SIZE_IN_FLAGS(flags) (size_t)((flags) & GRN_BULK_BUFSIZE_MAX)
2598#define GRN_BULK_OUTP(bulk) ((bulk)->header.impl_flags & GRN_OBJ_OUTPLACE)
2599#define GRN_BULK_REWIND(bulk) \
2601 if ((bulk)->header.type == GRN_VECTOR) { \
2602 grn_obj *_body = (bulk)->u.v.body; \
2604 if (GRN_BULK_OUTP(_body)) { \
2605 (_body)->u.b.curr = (_body)->u.b.head; \
2607 (_body)->header.flags &= (grn_obj_flags)(~GRN_BULK_BUFSIZE_MAX); \
2610 (bulk)->u.v.n_sections = 0; \
2612 if (GRN_BULK_OUTP(bulk)) { \
2613 (bulk)->u.b.curr = (bulk)->u.b.head; \
2615 (bulk)->header.flags &= (grn_obj_flags)(~GRN_BULK_BUFSIZE_MAX); \
2619#define GRN_BULK_SET_CURR(buf, p) \
2621 if (GRN_BULK_OUTP(buf)) { \
2622 (buf)->u.b.curr = (char *)(p); \
2624 (buf)->header.flags = (grn_obj_flags)((char *)(p) - GRN_BULK_HEAD(buf)); \
2627#define GRN_BULK_INCR_LEN(bulk, len) \
2629 if (GRN_BULK_OUTP(bulk)) { \
2630 (bulk)->u.b.curr += (len); \
2632 (bulk)->header.flags += (grn_obj_flags)(len); \
2635#define GRN_BULK_WSIZE(bulk) \
2636 (GRN_BULK_OUTP(bulk) ? (size_t)((bulk)->u.b.tail - (bulk)->u.b.head) \
2638#define GRN_BULK_REST(bulk) \
2639 (GRN_BULK_OUTP(bulk) \
2640 ? (size_t)((bulk)->u.b.tail - (bulk)->u.b.curr) \
2641 : GRN_BULK_BUFSIZE - GRN_BULK_SIZE_IN_FLAGS((bulk)->header.flags))
2642#define GRN_BULK_VSIZE(bulk) \
2643 (GRN_BULK_OUTP(bulk) ? (size_t)((bulk)->u.b.curr - (bulk)->u.b.head) \
2644 : GRN_BULK_SIZE_IN_FLAGS((bulk)->header.flags))
2645#define GRN_BULK_EMPTYP(bulk) \
2646 (GRN_BULK_OUTP(bulk) ? ((bulk)->u.b.curr == (bulk)->u.b.head) \
2647 : !(GRN_BULK_SIZE_IN_FLAGS((bulk)->header.flags)))
2648#define GRN_BULK_HEAD(bulk) \
2649 (GRN_BULK_OUTP(bulk) ? ((bulk)->u.b.head) : (char *)&((bulk)->u.b.head))
2650#define GRN_BULK_CURR(bulk) \
2651 (GRN_BULK_OUTP(bulk) ? ((bulk)->u.b.curr) \
2652 : (char *)&((bulk)->u.b.head) + \
2653 GRN_BULK_SIZE_IN_FLAGS((bulk)->header.flags))
2654#define GRN_BULK_TAIL(bulk) \
2655 (GRN_BULK_OUTP(bulk) ? ((bulk)->u.b.tail) : (char *)&((bulk)[1]))
2665 grn_ctx *ctx,
grn_obj *bulk,
const char *str,
size_t from,
size_t len);
2685#ifdef GRN_HAVE_BFLOAT16
2687grn_text_bf16toa(
grn_ctx *ctx,
grn_obj *bulk, grn_bfloat16 value);
2709 grn_ctx *ctx,
grn_obj *buf,
const char *s,
const char *e,
char d);
2732#define GRN_OBJ_DO_SHALLOW_COPY (GRN_OBJ_REFER | GRN_OBJ_OUTPLACE)
2734#define GRN_OBJ_VECTOR (0x01 << 7)
2736#define GRN_OBJ_MUTABLE(obj) ((obj) && (obj)->header.type <= GRN_VECTOR)
2738#define GRN_VALUE_FIX_SIZE_INIT(obj, flags, domain) \
2739 GRN_OBJ_INIT((obj), \
2740 ((flags) & GRN_OBJ_VECTOR) ? GRN_UVECTOR : GRN_BULK, \
2741 ((flags) & GRN_OBJ_DO_SHALLOW_COPY), \
2743#define GRN_VALUE_VAR_SIZE_INIT(obj, flags, domain) \
2744 GRN_OBJ_INIT((obj), \
2745 ((flags) & GRN_OBJ_VECTOR) ? GRN_VECTOR : GRN_BULK, \
2746 ((flags) & GRN_OBJ_DO_SHALLOW_COPY), \
2749#define GRN_VOID_INIT(obj) GRN_OBJ_INIT((obj), GRN_VOID, 0, GRN_DB_VOID)
2750#define GRN_TEXT_INIT(obj, flags) \
2751 GRN_VALUE_VAR_SIZE_INIT(obj, flags, GRN_DB_TEXT)
2752#define GRN_SHORT_TEXT_INIT(obj, flags) \
2753 GRN_VALUE_VAR_SIZE_INIT(obj, flags, GRN_DB_SHORT_TEXT)
2754#define GRN_LONG_TEXT_INIT(obj, flags) \
2755 GRN_VALUE_VAR_SIZE_INIT(obj, flags, GRN_DB_LONG_TEXT)
2756#define GRN_TEXT_SET_REF(obj, str, len) \
2758 (obj)->u.b.head = (char *)(str); \
2759 (obj)->u.b.curr = (char *)(str) + (len); \
2761#define GRN_TEXT_SET(ctx, obj, str, len) \
2763 if ((obj)->header.impl_flags & GRN_OBJ_REFER) { \
2764 GRN_TEXT_SET_REF((obj), (str), (len)); \
2766 grn_bulk_write_from((ctx), \
2768 (const char *)(str), \
2770 (unsigned int)(len)); \
2773#define GRN_TEXT_PUT(ctx, obj, str, len) \
2774 grn_bulk_write((ctx), (obj), (const char *)(str), (unsigned int)(len))
2775#define GRN_TEXT_PUTC(ctx, obj, c) \
2778 grn_bulk_write((ctx), (obj), &_c, 1); \
2781#define GRN_TEXT_PUTS(ctx, obj, str) \
2782 GRN_TEXT_PUT((ctx), (obj), (str), strlen(str))
2783#define GRN_TEXT_SETS(ctx, obj, str) \
2784 GRN_TEXT_SET((ctx), (obj), (str), strlen(str))
2785#define GRN_TEXT_VALUE(obj) GRN_BULK_HEAD(obj)
2786#define GRN_TEXT_LEN(obj) GRN_BULK_VSIZE(obj)
2788#define GRN_TEXT_EQUAL_CSTRING(bulk, string) \
2789 (GRN_TEXT_LEN(bulk) == strlen(string) && \
2790 memcmp(GRN_TEXT_VALUE(bulk), string, GRN_TEXT_LEN(bulk)) == 0)
2792#define GRN_BINARY_INIT(obj, flags) \
2793 GRN_VALUE_VAR_SIZE_INIT(obj, flags, GRN_DB_BINARY)
2794#define GRN_SHORT_BINARY_INIT(obj, flags) \
2795 GRN_VALUE_VAR_SIZE_INIT(obj, flags, GRN_DB_SHORT_BINARY)
2796#define GRN_LONG_BINARY_INIT(obj, flags) \
2797 GRN_VALUE_VAR_SIZE_INIT(obj, flags, GRN_DB_LONG_BINARY)
2798#define GRN_BINARY_SET_REF(obj, data, len) \
2800 (obj)->u.b.head = (char *)(data); \
2801 (obj)->u.b.curr = (char *)(data) + (len); \
2803#define GRN_BINARY_SET(ctx, obj, data, len) \
2805 if ((obj)->header.impl_flags & GRN_OBJ_REFER) { \
2806 GRN_BINARY_SET_REF((obj), (data), (len)); \
2808 grn_bulk_write_from((ctx), \
2810 (const char *)(data), \
2812 (unsigned int)(len)); \
2815#define GRN_BINARY_PUT(ctx, obj, data, len) \
2816 grn_bulk_write((ctx), (obj), (const char *)(data), (unsigned int)(len))
2817#define GRN_BINARY_VALUE(obj) ((const uint8_t *)GRN_BULK_HEAD(obj))
2818#define GRN_BINARY_LEN(obj) GRN_BULK_VSIZE(obj)
2820#define GRN_JSON_INIT(obj, flags) \
2821 GRN_VALUE_VAR_SIZE_INIT(obj, flags, GRN_DB_JSON)
2822#define GRN_JSON_SET_REF(obj, data, len) \
2824 (obj)->u.b.head = (char *)(data); \
2825 (obj)->u.b.curr = (char *)(data) + (len); \
2827#define GRN_JSON_SET(ctx, obj, data, len) \
2829 if ((obj)->header.impl_flags & GRN_OBJ_REFER) { \
2830 GRN_JSON_SET_REF((obj), (data), (len)); \
2832 grn_bulk_write_from((ctx), \
2834 (const char *)(data), \
2836 (unsigned int)(len)); \
2839#define GRN_JSON_VALUE(obj) ((const uint8_t *)GRN_BULK_HEAD(obj))
2840#define GRN_JSON_LEN(obj) GRN_BULK_VSIZE(obj)
2842#define GRN_BOOL_INIT(obj, flags) \
2843 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_BOOL)
2844#define GRN_INT8_INIT(obj, flags) \
2845 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_INT8)
2846#define GRN_UINT8_INIT(obj, flags) \
2847 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_UINT8)
2848#define GRN_INT16_INIT(obj, flags) \
2849 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_INT16)
2850#define GRN_UINT16_INIT(obj, flags) \
2851 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_UINT16)
2852#define GRN_INT32_INIT(obj, flags) \
2853 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_INT32)
2854#define GRN_UINT32_INIT(obj, flags) \
2855 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_UINT32)
2856#define GRN_INT64_INIT(obj, flags) \
2857 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_INT64)
2858#define GRN_UINT64_INIT(obj, flags) \
2859 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_UINT64)
2860#define GRN_BFLOAT16_INIT(obj, flags) \
2861 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_BFLOAT16)
2862#define GRN_FLOAT32_INIT(obj, flags) \
2863 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_FLOAT32)
2864#define GRN_FLOAT_INIT(obj, flags) \
2865 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_FLOAT)
2866#define GRN_TIME_INIT(obj, flags) \
2867 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_TIME)
2868#define GRN_RECORD_INIT GRN_VALUE_FIX_SIZE_INIT
2869#define GRN_PTR_INIT(obj, flags, domain) \
2870 GRN_OBJ_INIT((obj), \
2871 ((flags) & GRN_OBJ_VECTOR) ? GRN_PVECTOR : GRN_PTR, \
2872 ((flags) & (GRN_OBJ_DO_SHALLOW_COPY | GRN_OBJ_OWN)), \
2874#define GRN_TOKYO_GEO_POINT_INIT(obj, flags) \
2875 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_TOKYO_GEO_POINT)
2876#define GRN_WGS84_GEO_POINT_INIT(obj, flags) \
2877 GRN_VALUE_FIX_SIZE_INIT(obj, flags, GRN_DB_WGS84_GEO_POINT)
2879#define GRN_BOOL_SET(ctx, obj, val) \
2881 bool _val = (bool)(val); \
2882 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(bool)); \
2884#define GRN_INT8_SET(ctx, obj, val) \
2886 int8_t _val = (int8_t)(val); \
2887 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(int8_t)); \
2889#define GRN_UINT8_SET(ctx, obj, val) \
2891 uint8_t _val = (uint8_t)(val); \
2892 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(uint8_t)); \
2894#define GRN_INT16_SET(ctx, obj, val) \
2896 int16_t _val = (int16_t)(val); \
2897 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(int16_t)); \
2899#define GRN_UINT16_SET(ctx, obj, val) \
2901 uint16_t _val = (uint16_t)(val); \
2902 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(uint16_t)); \
2904#define GRN_INT32_SET(ctx, obj, val) \
2906 int32_t _val = (int32_t)(val); \
2907 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(int32_t)); \
2909#define GRN_UINT32_SET(ctx, obj, val) \
2911 uint32_t _val = (uint32_t)(val); \
2912 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(uint32_t)); \
2914#define GRN_INT64_SET(ctx, obj, val) \
2916 int64_t _val = (int64_t)(val); \
2917 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(int64_t)); \
2919#define GRN_UINT64_SET(ctx, obj, val) \
2921 uint64_t _val = (uint64_t)(val); \
2922 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(uint64_t)); \
2924#define GRN_BFLOAT16_SET(ctx, obj, val) \
2926 grn_bfloat16 _val = (grn_bfloat16)(val); \
2927 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(grn_bfloat16)); \
2929#define GRN_FLOAT32_SET(ctx, obj, val) \
2931 float _val = (float)(val); \
2932 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(float)); \
2934#define GRN_FLOAT_SET(ctx, obj, val) \
2936 double _val = (double)(val); \
2937 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(double)); \
2939#define GRN_TIME_SET GRN_INT64_SET
2940#define GRN_RECORD_SET(ctx, obj, val) \
2942 grn_id _val = (grn_id)(val); \
2943 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(grn_id)); \
2945#define GRN_PTR_SET(ctx, obj, val) \
2947 grn_obj *_val = (grn_obj *)(val); \
2948 grn_bulk_write_from((ctx), (obj), (char *)&_val, 0, sizeof(grn_obj *)); \
2951#define GRN_GEO_DEGREE2MSEC(degree) \
2952 ((int32_t)((degree) * 3600 * 1000 + ((degree) > 0 ? 0.5 : -0.5)))
2953#define GRN_GEO_MSEC2DEGREE(msec) ((((int32_t)(msec)) / 3600.0) * 0.001)
2954#define GRN_GEO_RESOLUTION 3600000
2955#define GRN_GEO_M_PI 3.14159265358979323846
2956#define GRN_GEO_RADIAN2MSEC(radian) \
2957 ((int32_t)(((GRN_GEO_RESOLUTION * 180) / GRN_GEO_M_PI) * (radian)))
2958#define GRN_GEO_MSEC2RADIAN(msec) \
2959 ((GRN_GEO_M_PI / (GRN_GEO_RESOLUTION * 180)) * (msec))
2961#define GRN_GEO_POINT_SET(ctx, obj, _latitude, _longitude) \
2963 grn_geo_point _val; \
2964 _val.latitude = (int)(_latitude); \
2965 _val.longitude = (int)(_longitude); \
2966 grn_bulk_write_from((ctx), \
2970 sizeof(grn_geo_point)); \
2973#define GRN_BOOL_SET_AT(ctx, obj, offset, val) \
2975 bool _val = (bool)(val); \
2976 grn_bulk_write_from((ctx), (obj), (char *)&_val, (offset), sizeof(bool)); \
2978#define GRN_INT8_SET_AT(ctx, obj, offset, val) \
2980 int8_t _val = (int8_t)(val); \
2981 grn_bulk_write_from((ctx), \
2984 (offset) * sizeof(int8_t), \
2987#define GRN_UINT8_SET_AT(ctx, obj, offset, val) \
2989 uint8_t _val = (uint8_t)(val); \
2990 grn_bulk_write_from((ctx), \
2993 (offset) * sizeof(uint8_t), \
2996#define GRN_INT16_SET_AT(ctx, obj, offset, val) \
2998 int16_t _val = (int16_t)(val); \
2999 grn_bulk_write_from((ctx), \
3002 (offset) * sizeof(int16_t), \
3005#define GRN_UINT16_SET_AT(ctx, obj, offset, val) \
3007 uint16_t _val = (uint16_t)(val); \
3008 grn_bulk_write_from((ctx), \
3011 (offset) * sizeof(uint16_t), \
3012 sizeof(uint16_t)); \
3014#define GRN_INT32_SET_AT(ctx, obj, offset, val) \
3016 int32_t _val = (int32_t)(val); \
3017 grn_bulk_write_from((ctx), \
3020 (offset) * sizeof(int32_t), \
3023#define GRN_UINT32_SET_AT(ctx, obj, offset, val) \
3025 uint32_t _val = (uint32_t)(val); \
3026 grn_bulk_write_from((ctx), \
3029 (offset) * sizeof(uint32_t), \
3030 sizeof(uint32_t)); \
3032#define GRN_INT64_SET_AT(ctx, obj, offset, val) \
3034 int64_t _val = (int64_t)(val); \
3035 grn_bulk_write_from((ctx), \
3038 (offset) * sizeof(int64_t), \
3041#define GRN_UINT64_SET_AT(ctx, obj, offset, val) \
3043 uint64_t _val = (uint64_t)(val); \
3044 grn_bulk_write_from((ctx), \
3047 (offset) * sizeof(uint64_t), \
3048 sizeof(uint64_t)); \
3050#define GRN_BFLOAT16_SET_AT(ctx, obj, offset, val) \
3052 grn_bfloat16 _val = (grn_bfloat16)(val); \
3053 grn_bulk_write_from((ctx), \
3056 (offset) * sizeof(grn_bfloat16), \
3057 sizeof(grn_bfloat16)); \
3059#define GRN_FLOAT32_SET_AT(ctx, obj, offset, val) \
3061 float _val = (float)(val); \
3062 grn_bulk_write_from((ctx), \
3065 (offset) * sizeof(float), \
3068#define GRN_FLOAT_SET_AT(ctx, obj, offset, val) \
3070 double _val = (double)(val); \
3071 grn_bulk_write_from((ctx), \
3074 (offset) * sizeof(double), \
3077#define GRN_TIME_SET_AT GRN_INT64_SET_AT
3078#define GRN_RECORD_SET_AT(ctx, obj, offset, val) \
3080 grn_id _val = (grn_id)(val); \
3081 grn_bulk_write_from((ctx), \
3084 (offset) * sizeof(grn_id), \
3087#define GRN_PTR_SET_AT(ctx, obj, offset, val) \
3089 grn_obj *_val = (grn_obj *)(val); \
3090 grn_bulk_write_from((ctx), \
3093 (offset) * sizeof(grn_obj *), \
3094 sizeof(grn_obj *)); \
3097#define GRN_BOOL_VALUE(obj) (*((bool *)GRN_BULK_HEAD(obj)))
3098#define GRN_INT8_VALUE(obj) (*((int8_t *)GRN_BULK_HEAD(obj)))
3099#define GRN_UINT8_VALUE(obj) (*((uint8_t *)GRN_BULK_HEAD(obj)))
3100#define GRN_INT16_VALUE(obj) (*((int16_t *)GRN_BULK_HEAD(obj)))
3101#define GRN_UINT16_VALUE(obj) (*((uint16_t *)GRN_BULK_HEAD(obj)))
3102#define GRN_INT32_VALUE(obj) (*((int32_t *)GRN_BULK_HEAD(obj)))
3103#define GRN_UINT32_VALUE(obj) (*((uint32_t *)GRN_BULK_HEAD(obj)))
3104#define GRN_INT64_VALUE(obj) (*((int64_t *)GRN_BULK_HEAD(obj)))
3105#define GRN_UINT64_VALUE(obj) (*((uint64_t *)GRN_BULK_HEAD(obj)))
3106#define GRN_BFLOAT16_VALUE(obj) (*((grn_bfloat16 *)GRN_BULK_HEAD(obj)))
3107#define GRN_FLOAT32_VALUE(obj) (*((float *)GRN_BULK_HEAD(obj)))
3108#define GRN_FLOAT_VALUE(obj) (*((double *)GRN_BULK_HEAD(obj)))
3109#define GRN_TIME_VALUE GRN_INT64_VALUE
3110#define GRN_RECORD_VALUE(obj) (*((grn_id *)GRN_BULK_HEAD(obj)))
3111#define GRN_PTR_VALUE(obj) (*((grn_obj **)GRN_BULK_HEAD(obj)))
3112#define GRN_GEO_POINT_VALUE_RAW(obj) (grn_geo_point *)GRN_BULK_HEAD(obj)
3113#define GRN_GEO_POINT_VALUE(obj, _latitude, _longitude) \
3115 grn_geo_point *_val = GRN_GEO_POINT_VALUE_RAW(obj); \
3116 _latitude = _val->latitude; \
3117 _longitude = _val->longitude; \
3119#define GRN_GEO_POINT_VALUE_RADIAN(obj, _latitude, _longitude) \
3121 grn_geo_point *_val = GRN_GEO_POINT_VALUE_RAW(obj); \
3122 _latitude = GRN_GEO_MSEC2RADIAN(_val->latitude); \
3123 _longitude = GRN_GEO_MSEC2RADIAN(_val->longitude); \
3126#define GRN_BOOL_VALUE_AT(obj, offset) (((bool *)GRN_BULK_HEAD(obj))[offset])
3127#define GRN_INT8_VALUE_AT(obj, offset) (((int8_t *)GRN_BULK_HEAD(obj))[offset])
3128#define GRN_UINT8_VALUE_AT(obj, offset) \
3129 (((uint8_t *)GRN_BULK_HEAD(obj))[offset])
3130#define GRN_INT16_VALUE_AT(obj, offset) \
3131 (((int16_t *)GRN_BULK_HEAD(obj))[offset])
3132#define GRN_UINT16_VALUE_AT(obj, offset) \
3133 (((uint16_t *)GRN_BULK_HEAD(obj))[offset])
3134#define GRN_INT32_VALUE_AT(obj, offset) \
3135 (((int32_t *)GRN_BULK_HEAD(obj))[offset])
3136#define GRN_UINT32_VALUE_AT(obj, offset) \
3137 (((uint32_t *)GRN_BULK_HEAD(obj))[offset])
3138#define GRN_INT64_VALUE_AT(obj, offset) \
3139 (((int64_t *)GRN_BULK_HEAD(obj))[offset])
3140#define GRN_UINT64_VALUE_AT(obj, offset) \
3141 (((uint64_t *)GRN_BULK_HEAD(obj))[offset])
3142#define GRN_BFLOAT16_VALUE_AT(obj, offset) \
3143 (((grn_bfloat16 *)GRN_BULK_HEAD(obj))[offset])
3144#define GRN_FLOAT32_VALUE_AT(obj, offset) \
3145 (((float *)GRN_BULK_HEAD(obj))[offset])
3146#define GRN_FLOAT_VALUE_AT(obj, offset) (((double *)GRN_BULK_HEAD(obj))[offset])
3147#define GRN_TIME_VALUE_AT GRN_INT64_VALUE_AT
3148#define GRN_RECORD_VALUE_AT(obj, offset) \
3149 (((grn_id *)GRN_BULK_HEAD(obj))[offset])
3150#define GRN_PTR_VALUE_AT(obj, offset) (((grn_obj **)GRN_BULK_HEAD(obj))[offset])
3152#define GRN_BOOL_PUT(ctx, obj, val) \
3154 bool _val = (bool)(val); \
3155 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(bool)); \
3157#define GRN_INT8_PUT(ctx, obj, val) \
3159 int8_t _val = (int8_t)(val); \
3160 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(int8_t)); \
3162#define GRN_UINT8_PUT(ctx, obj, val) \
3164 uint8_t _val = (uint8_t)(val); \
3165 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(uint8_t)); \
3167#define GRN_INT16_PUT(ctx, obj, val) \
3169 int16_t _val = (int16_t)(val); \
3170 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(int16_t)); \
3172#define GRN_UINT16_PUT(ctx, obj, val) \
3174 uint16_t _val = (uint16_t)(val); \
3175 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(uint16_t)); \
3177#define GRN_INT32_PUT(ctx, obj, val) \
3179 int32_t _val = (int32_t)(val); \
3180 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(int32_t)); \
3182#define GRN_UINT32_PUT(ctx, obj, val) \
3184 uint32_t _val = (uint32_t)(val); \
3185 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(unsigned int)); \
3187#define GRN_INT64_PUT(ctx, obj, val) \
3189 int64_t _val = (int64_t)(val); \
3190 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(int64_t)); \
3192#define GRN_UINT64_PUT(ctx, obj, val) \
3194 uint64_t _val = (uint64_t)(val); \
3195 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(uint64_t)); \
3197#define GRN_BFLOAT16_PUT(ctx, obj, val) \
3199 grn_bfloat16 _val = (grn_bfloat16)(val); \
3200 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(grn_bfloat16)); \
3202#define GRN_FLOAT32_PUT(ctx, obj, val) \
3204 float _val = (float)(val); \
3205 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(float)); \
3207#define GRN_FLOAT_PUT(ctx, obj, val) \
3209 double _val = (double)(val); \
3210 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(double)); \
3212#define GRN_TIME_PUT GRN_INT64_PUT
3213#define GRN_RECORD_PUT(ctx, obj, val) \
3215 grn_id _val = (grn_id)(val); \
3216 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(grn_id)); \
3218#define GRN_PTR_PUT(ctx, obj, val) \
3220 grn_obj *_val = (grn_obj *)(val); \
3221 grn_bulk_write((ctx), (obj), (char *)&_val, sizeof(grn_obj *)); \
3224#define GRN_BULK_POP(obj, value, type, default) \
3226 if (GRN_BULK_VSIZE(obj) >= sizeof(type)) { \
3227 ssize_t value_size = (ssize_t)(sizeof(type)); \
3228 GRN_BULK_INCR_LEN((obj), -value_size); \
3229 value = *(type *)(GRN_BULK_CURR(obj)); \
3234#define GRN_BOOL_POP(obj, value) GRN_BULK_POP(obj, value, bool, 0)
3235#define GRN_INT8_POP(obj, value) GRN_BULK_POP(obj, value, int8_t, 0)
3236#define GRN_UINT8_POP(obj, value) GRN_BULK_POP(obj, value, uint8_t, 0)
3237#define GRN_INT16_POP(obj, value) GRN_BULK_POP(obj, value, int16_t, 0)
3238#define GRN_UINT16_POP(obj, value) GRN_BULK_POP(obj, value, uint16_t, 0)
3239#define GRN_INT32_POP(obj, value) GRN_BULK_POP(obj, value, int32_t, 0)
3240#define GRN_UINT32_POP(obj, value) GRN_BULK_POP(obj, value, uint32_t, 0)
3241#define GRN_INT64_POP(obj, value) GRN_BULK_POP(obj, value, int64_t, 0)
3242#define GRN_UINT64_POP(obj, value) GRN_BULK_POP(obj, value, uint64_t, 0)
3243#define GRN_BFLOAT16_POP(obj, value) GRN_BULK_POP(obj, value, grn_bfloat16, 0.0)
3244#define GRN_FLOAT32_POP(obj, value) GRN_BULK_POP(obj, value, float, 0.0)
3245#define GRN_FLOAT_POP(obj, value) GRN_BULK_POP(obj, value, double, 0.0)
3246#define GRN_TIME_POP GRN_INT64_POP
3247#define GRN_RECORD_POP(obj, value) GRN_BULK_POP(obj, value, grn_id, GRN_ID_NIL)
3248#define GRN_PTR_POP(obj, value) GRN_BULK_POP(obj, value, grn_obj *, NULL)
3250#define GRN_BULK_VECTOR_SIZE(obj, type) (GRN_BULK_VSIZE(obj) / sizeof(type))
3251#define GRN_BOOL_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, bool)
3252#define GRN_INT8_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, int8_t)
3253#define GRN_UINT8_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, uint8_t)
3254#define GRN_INT16_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, int16_t)
3255#define GRN_UINT16_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, uint16_t)
3256#define GRN_INT32_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, int32_t)
3257#define GRN_UINT32_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, uint32_t)
3258#define GRN_INT64_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, int64_t)
3259#define GRN_UINT64_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, uint64_t)
3260#define GRN_BFLOAT16_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, grn_bfloat16)
3261#define GRN_FLOAT32_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, float)
3262#define GRN_FLOAT_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, double)
3263#define GRN_TIME_VECTOR_SIZE GRN_INT64_VECTOR_SIZE
3264#define GRN_RECORD_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, grn_id)
3265#define GRN_PTR_VECTOR_SIZE(obj) GRN_BULK_VECTOR_SIZE(obj, grn_obj *)
3276 unsigned int str_size,
3283 unsigned int table_len,
3284 const char *columns,
3285 unsigned int columns_len,
3287 unsigned int values_len,
3288 const char *ifexists,
3289 unsigned int ifexists_len,
3291 unsigned int each_len);
3293#define GRN_CTX_MORE (0x01 << 0)
3294#define GRN_CTX_TAIL (0x01 << 1)
3295#define GRN_CTX_HEAD (0x01 << 2)
3296#define GRN_CTX_QUIET (0x01 << 3)
3297#define GRN_CTX_QUIT (0x01 << 4)
GRN_API void grn_default_logger_set_max_level(grn_log_level level)
grn_command_version
Definition groonga.h:181
@ GRN_COMMAND_VERSION_3
Definition groonga.h:185
@ GRN_COMMAND_VERSION_1
Definition groonga.h:183
@ GRN_COMMAND_VERSION_2
Definition groonga.h:184
@ GRN_COMMAND_VERSION_DEFAULT
Definition groonga.h:182
GRN_API bool grn_log_flags_parse(const char *string, int string_size, int *flags)
GRN_API bool grn_logger_is_default_logger(grn_ctx *ctx)
GRN_API grn_rc grn_ctx_connect(grn_ctx *ctx, const char *host, int port, int flags)
uint16_t grn_obj_flags
Definition groonga.h:679
GRN_API grn_rc grn_ctx_set_force_match_escalation(grn_ctx *ctx, bool force)
GRN_API void grn_obj_unref_recursive(grn_ctx *ctx, grn_obj *obj)
GRN_API const char * grn_get_global_error_message(void)
GRN_API grn_rc grn_bulk_fin(grn_ctx *ctx, grn_obj *bulk)
GRN_API grn_obj * grn_obj_db(grn_ctx *ctx, grn_obj *obj)
Return the database to which obj belongs.
GRN_API void grn_logger_set_max_level(grn_ctx *ctx, grn_log_level max_level)
GRN_API grn_rc grn_set_term_handler(void)
GRN_API void grn_ctx_recv_handler_set(grn_ctx *, grn_recv_handler_func func, void *user_data)
GRN_API int grn_column_name(grn_ctx *ctx, grn_obj *obj, char *namebuf, int buf_size)
Return a column's name by storing it in namebuf.
GRN_API grn_rc grn_column_rename(grn_ctx *ctx, grn_obj *column, const char *name, unsigned int name_size)
Rename a column in the database used by the context.
grn_info_type
Definition groonga.h:1294
@ GRN_INFO_PARTIAL_MATCH_THRESHOLD
Definition groonga.h:1322
@ GRN_INFO_ENCODING
Definition groonga.h:1295
@ GRN_INFO_NORMALIZER
Definition groonga.h:1328
@ GRN_INFO_ELEMENT_SIZE_IN_BUFFER
Definition groonga.h:1313
@ GRN_INFO_ELEMENT_SIZE
Definition groonga.h:1298
@ GRN_INFO_HOOK_LOCAL_DATA
Definition groonga.h:1304
@ GRN_INFO_II_SPLIT_THRESHOLD
Definition groonga.h:1323
@ GRN_INFO_ELEMENT_POS_IN_CHUNK
Definition groonga.h:1312
@ GRN_INFO_GENERATOR
Definition groonga.h:1335
@ GRN_INFO_TOKEN_FILTERS
Definition groonga.h:1329
@ GRN_INFO_SUPPORT_ZSTD
Definition groonga.h:1330
@ GRN_INFO_SUPPORT_FAISS
Definition groonga.h:1337
@ GRN_INFO_CHUNK_SIZE
Definition groonga.h:1302
@ GRN_INFO_SUPPORT_APACHE_ARROW
Definition groonga.h:1333
@ GRN_INFO_ELEMENT_A
Definition groonga.h:1305
@ GRN_INFO_ELEMENT_SIZE_IN_CHUNK
Definition groonga.h:1311
@ GRN_INFO_DEFAULT_TOKENIZER
Definition groonga.h:1297
@ GRN_INFO_ELEMENT_POS_IN_BUFFER
Definition groonga.h:1314
@ GRN_INFO_NGRAM_UNIT_SIZE
Definition groonga.h:1316
@ GRN_INFO_SUPPORT_LLAMA_CPP
Definition groonga.h:1336
@ GRN_INFO_NORMALIZERS
Definition groonga.h:1334
@ GRN_INFO_ELEMENT_CHUNK_SIZE
Definition groonga.h:1307
@ GRN_INFO_ELEMENT_BUFFER_FREE
Definition groonga.h:1308
@ GRN_INFO_ELEMENT_NTERMS_VOID
Definition groonga.h:1310
@ GRN_INFO_CURR_MAX
Definition groonga.h:1299
@ GRN_INFO_SEG_SIZE
Definition groonga.h:1301
@ GRN_INFO_MAX_ELEMENT_SIZE
Definition groonga.h:1300
@ GRN_INFO_SOURCE
Definition groonga.h:1296
@ GRN_INFO_ELEMENT_CHUNK
Definition groonga.h:1306
@ GRN_INFO_EXTRACTORS
Definition groonga.h:1338
@ GRN_INFO_ELEMENT_ESTIMATE_SIZE
Definition groonga.h:1315
@ GRN_INFO_SUPPORT_LZ4
Definition groonga.h:1325
@ GRN_INFO_MAX_SECTION
Definition groonga.h:1303
@ GRN_INFO_SUPPORT_ZLIB
Definition groonga.h:1324
@ GRN_INFO_ELEMENT_NTERMS
Definition groonga.h:1309
GRN_API grn_rc grn_obj_unlock(grn_ctx *ctx, grn_obj *obj, grn_id id)
Unlock an object.
GRN_API grn_rc grn_bulk_resize(grn_ctx *ctx, grn_obj *bulk, size_t new_size)
GRN_API grn_rc grn_ctx_merge_temporary_open_space(grn_ctx *ctx)
GRN_API const char * grn_default_query_logger_get_path(void)
GRN_API grn_rc grn_text_itoh(grn_ctx *ctx, grn_obj *bulk, unsigned int i, size_t len)
GRN_API grn_rc grn_plugin_register_by_path(grn_ctx *ctx, const char *path)
GRN_API off_t grn_default_query_logger_get_rotate_threshold_size(void)
GRN_API int grn_obj_expire(grn_ctx *ctx, grn_obj *obj, int threshold)
Free allocatable memory occupied by an object based on a threshold.
GRN_API grn_rc grn_set_default_match_escalation_threshold(int64_t threshold)
Set the default threshold to determine whether search strategy escalation is used or not.
GRN_API grn_rc grn_text_itob(grn_ctx *ctx, grn_obj *bulk, grn_id id)
GRN_API const char * grn_encoding_to_string(grn_encoding encoding)
Return string representation for the encoding. For example, grn_encoding_to_string(GRN_ENC_UTF8) retu...
GRN_API grn_log_level grn_logger_get_max_level(grn_ctx *ctx)
GRN_API int64_t grn_ctx_get_match_escalation_threshold(grn_ctx *ctx)
GRN_API void grn_obj_unref_recursive_dependent(grn_ctx *ctx, grn_obj *obj)
GRN_API grn_log_level grn_default_logger_get_max_level(void)
GRN_API grn_encoding grn_encoding_parse(const char *name)
Parse encoding name and return grn_encoding. For example, grn_encoding_parse("UTF8") returns GRN_ENC_...
GRN_API grn_rc grn_snip_exec(grn_ctx *ctx, grn_obj *snip, const char *string, unsigned int string_len, unsigned int *nresults, unsigned int *max_tagged_len)
GRN_API grn_rc grn_set_segv_handler(void)
struct _grn_index_datum grn_index_datum
GRN_API const char * grn_get_package(void)
GRN_API void grn_logger_putv(grn_ctx *ctx, grn_log_level level, const char *file, int line, const char *func, const char *fmt, va_list ap)
GRN_API grn_rc grn_load(grn_ctx *ctx, grn_content_type input_type, const char *table, unsigned int table_len, const char *columns, unsigned int columns_len, const char *values, unsigned int values_len, const char *ifexists, unsigned int ifexists_len, const char *each, unsigned int each_len)
GRN_API grn_rc grn_set_back_trace_enable(bool enable)
GRN_API void grn_default_query_logger_set_flags(unsigned int flags)
GRN_API grn_obj * grn_obj_get_value(grn_ctx *ctx, grn_obj *obj, grn_id id, grn_obj *value)
Retrieve the value of the record corresponding to the given ID in the specified object.
GRN_API int grn_default_logger_get_flags(void)
GRN_API grn_rc grn_obj_flush_only_opened(grn_ctx *ctx, grn_obj *obj)
GRN_API unsigned int grn_default_query_logger_get_flags(void)
grn_rc
Definition groonga.h:61
@ GRN_OPERATION_WOULD_BLOCK
Definition groonga.h:108
@ GRN_SCORER_ERROR
Definition groonga.h:145
@ GRN_EXEC_FORMAT_ERROR
Definition groonga.h:73
@ GRN_INTERRUPTED_FUNCTION_CALL
Definition groonga.h:69
@ GRN_INVALID_FORMAT
Definition groonga.h:120
@ GRN_FILE_CORRUPT
Definition groonga.h:119
@ GRN_UPDATE_NOT_ALLOWED
Definition groonga.h:134
@ GRN_INPUT_OUTPUT_ERROR
Definition groonga.h:70
@ GRN_NORMALIZER_ERROR
Definition groonga.h:141
@ GRN_RANGE_ERROR
Definition groonga.h:117
@ GRN_PERMISSION_DENIED
Definition groonga.h:78
@ GRN_CONNECTION_REFUSED
Definition groonga.h:116
@ GRN_OPENZL_ERROR
Definition groonga.h:151
@ GRN_IMPROPER_LINK
Definition groonga.h:82
@ GRN_LZ4_ERROR
Definition groonga.h:127
@ GRN_FUNCTION_NOT_IMPLEMENTED
Definition groonga.h:104
@ GRN_FILENAME_TOO_LONG
Definition groonga.h:102
@ GRN_TOKENIZER_ERROR
Definition groonga.h:118
@ GRN_FILE_TOO_LARGE
Definition groonga.h:91
@ GRN_RESOURCE_TEMPORARILY_UNAVAILABLE
Definition groonga.h:76
@ GRN_SUCCESS
Success (0)
Definition groonga.h:63
@ GRN_TOO_MANY_LINKS
Definition groonga.h:95
@ GRN_CONNECTION_RESET
Definition groonga.h:149
@ GRN_OPERATION_NOT_PERMITTED
Definition groonga.h:66
@ GRN_EXTRACTOR_ERROR
Definition groonga.h:152
@ GRN_NOT_A_DIRECTORY
Definition groonga.h:84
@ GRN_STACK_OVER_FLOW
Definition groonga.h:130
@ GRN_END_OF_DATA
Definition groonga.h:64
@ GRN_OPERATION_NOT_SUPPORTED
Definition groonga.h:124
@ GRN_DIRECTORY_NOT_EMPTY
Definition groonga.h:105
@ GRN_SOCKET_IS_NOT_CONNECTED
Definition groonga.h:113
@ GRN_IS_A_DIRECTORY
Definition groonga.h:85
@ GRN_ADDRESS_IS_IN_USE
Definition groonga.h:125
@ GRN_TOO_MANY_SYMBOLIC_LINKS
Definition groonga.h:122
@ GRN_ADDRESS_IS_NOT_AVAILABLE
Definition groonga.h:109
@ GRN_NETWORK_IS_DOWN
Definition groonga.h:110
@ GRN_SOCKET_IS_ALREADY_SHUTDOWNED
Definition groonga.h:114
@ GRN_RESULT_TOO_LARGE
Definition groonga.h:98
@ GRN_UNKNOWN_ERROR
Definition groonga.h:65
@ GRN_NO_LOCKS_AVAILABLE
Definition groonga.h:103
@ GRN_COMMAND_ERROR
Definition groonga.h:143
@ GRN_TOO_SMALL_OFFSET
Definition groonga.h:135
@ GRN_NOT_ENOUGH_SPACE
Definition groonga.h:77
@ GRN_NO_MEMORY_AVAILABLE
Not enough memory available (-35)
Definition groonga.h:101
@ GRN_UNSUPPORTED_COMMAND_VERSION
When a version not supported by the default version set is specified (-71)
Definition groonga.h:140
@ GRN_ILLEGAL_BYTE_SEQUENCE
Definition groonga.h:106
@ GRN_TOO_MANY_OPEN_FILES_IN_SYSTEM
Definition groonga.h:88
@ GRN_BROKEN_PIPE
Definition groonga.h:96
@ GRN_NO_SUCH_DEVICE
Definition groonga.h:83
@ GRN_BLOSC_ERROR
Definition groonga.h:150
@ GRN_DOMAIN_ERROR
Definition groonga.h:97
@ GRN_SYNTAX_ERROR
Definition groonga.h:131
@ GRN_TOKEN_FILTER_ERROR
Definition groonga.h:142
@ GRN_SOCKET_NOT_INITIALIZED
Definition groonga.h:107
@ GRN_TOO_LARGE_OFFSET
Definition groonga.h:136
@ GRN_CANCEL
Definition groonga.h:146
@ GRN_OBJECT_CORRUPT
Definition groonga.h:121
@ GRN_RETRY_MAX
Definition groonga.h:132
@ GRN_ARG_LIST_TOO_LONG
Definition groonga.h:72
@ GRN_INCOMPATIBLE_FILE_FORMAT
Definition groonga.h:133
@ GRN_NO_SUCH_FILE_OR_DIRECTORY
Definition groonga.h:67
@ GRN_ZSTD_ERROR
Definition groonga.h:148
@ GRN_INAPPROPRIATE_I_O_CONTROL_OPERATION
Definition groonga.h:90
@ GRN_PLUGIN_ERROR
Definition groonga.h:144
@ GRN_BAD_ADDRESS
Definition groonga.h:79
@ GRN_SOCKET_IS_ALREADY_CONNECTED
Definition groonga.h:112
@ GRN_NO_SPACE_LEFT_ON_DEVICE
Definition groonga.h:92
@ GRN_NO_CHILD_PROCESSES
Definition groonga.h:75
@ GRN_NO_SUCH_DEVICE_OR_ADDRESS
Definition groonga.h:71
@ GRN_READ_ONLY_FILE_SYSTEM
Definition groonga.h:94
@ GRN_OPERATION_TIMEOUT
Definition groonga.h:115
@ GRN_WINDOW_FUNCTION_ERROR
Definition groonga.h:147
@ GRN_RESOURCE_BUSY
Definition groonga.h:80
@ GRN_NOT_SOCKET
Definition groonga.h:123
@ GRN_INVALID_SEEK
Definition groonga.h:93
@ GRN_INVALID_ARGUMENT
Invalid function argument (-22)
Definition groonga.h:87
@ GRN_NO_SUCH_PROCESS
Definition groonga.h:68
@ GRN_NO_BUFFER
Definition groonga.h:111
@ GRN_TOO_MANY_OPEN_FILES
Definition groonga.h:89
@ GRN_TOO_SMALL_LIMIT
Definition groonga.h:137
@ GRN_RESOURCE_DEADLOCK_AVOIDED
Definition groonga.h:99
@ GRN_FILE_EXISTS
Definition groonga.h:81
@ GRN_CAS_ERROR
Definition groonga.h:138
@ GRN_BAD_FILE_DESCRIPTOR
Definition groonga.h:74
@ GRN_ZLIB_ERROR
Definition groonga.h:126
GRN_API grn_rc grn_obj_add_hook(grn_ctx *ctx, grn_obj *obj, grn_hook_entry entry, int offset, grn_obj *proc, grn_obj *data)
Add a hook to the object. If multiple hooks are set for the object, they are called in the order they...
GRN_API grn_rc grn_bulk_reserve(grn_ctx *ctx, grn_obj *bulk, size_t len)
GRN_API grn_rc grn_ctx_set_command_version(grn_ctx *ctx, grn_command_version version)
Set command version for this context.
GRN_API grn_rc grn_ctx_close(grn_ctx *ctx)
Close the context.
GRN_API grn_rc grn_ctx_fin(grn_ctx *ctx)
Finish the context.
GRN_API grn_rc grn_plugin_register(grn_ctx *ctx, const char *name)
GRN_API grn_rc grn_snip_add_cond(grn_ctx *ctx, grn_obj *snip, const char *keyword, unsigned int keyword_len, const char *opentag, unsigned int opentag_len, const char *closetag, unsigned int closetag_len)
GRN_API grn_rc grn_snip_set_normalizers(grn_ctx *ctx, grn_obj *snip, grn_obj *normalizers)
GRN_API grn_rc grn_ctx_set_match_escalation_threshold(grn_ctx *ctx, int64_t threshold)
Set the threshold to determine whether search strategy escalation is used or not.
GRN_API void grn_default_logger_set_flags(int flags)
GRN_API grn_rc grn_ctx_info_get(grn_ctx *ctx, grn_ctx_info *info)
GRN_API grn_rc grn_obj_close(grn_ctx *ctx, grn_obj *obj)
Close an object.
GRN_API void grn_logger_reopen(grn_ctx *ctx)
GRN_API const char * grn_obj_path(grn_ctx *ctx, grn_obj *obj)
Return the file path associated with an object.
GRN_API grn_rc grn_obj_columns(grn_ctx *ctx, grn_obj *table, const char *str, unsigned int str_size, grn_obj *res)
GRN_API grn_rc grn_obj_set_finalizer(grn_ctx *ctx, grn_obj *obj, grn_proc_func *func)
Set the callback function when finalizing the object.
GRN_API const char * grn_get_version(void)
GRN_API grn_rc grn_obj_refer_recursive(grn_ctx *ctx, grn_obj *obj)
GRN_API unsigned int grn_ctx_send(grn_ctx *ctx, const char *str, unsigned int str_len, int flags)
GRN_API unsigned int grn_obj_is_locked(grn_ctx *ctx, grn_obj *obj)
Check if an object is currently locked.
GRN_API off_t grn_default_logger_get_rotate_threshold_size(void)
grn_obj * grn_proc_func(grn_ctx *ctx, int nargs, grn_obj **args, grn_user_data *user_data)
Definition groonga.h:346
grn_rc(* grn_plugin_func)(grn_ctx *ctx)
Definition groonga.h:1145
GRN_API grn_rc grn_set_lock_timeout(int timeout)
Set the lock timeout used during write operations.
uint32_t grn_id
Definition groonga.h:44
GRN_API const char * grn_default_logger_get_path(void)
GRN_API unsigned int grn_query_logger_get_flags(grn_ctx *ctx)
GRN_API grn_rc grn_ctx_pop_temporary_open_space(grn_ctx *ctx)
GRN_API grn_obj * grn_obj_open(grn_ctx *ctx, unsigned char type, grn_obj_flags flags, grn_id domain)
GRN_API grn_rc grn_ctx_push_temporary_open_space(grn_ctx *ctx)
GRN_API void grn_default_query_logger_set_rotate_threshold_size(off_t threshold)
GRN_API grn_rc grn_ctx_set_variable(grn_ctx *ctx, const char *name, int name_size, void *data, grn_close_func close_func)
GRN_API uint32_t grn_column_get_all_index_data(grn_ctx *ctx, grn_obj *column, grn_index_datum *index_data, uint32_t n_index_data)
GRN_API bool grn_log_level_parse(const char *string, grn_log_level *level)
GRN_API grn_id grn_obj_id(grn_ctx *ctx, grn_obj *obj)
Return the ID of an object.
#define GRN_API
Definition groonga.h:39
GRN_API grn_rc grn_text_f32toa(grn_ctx *ctx, grn_obj *bulk, float f)
GRN_API grn_rc grn_ctx_get_all_tokenizers(grn_ctx *ctx, grn_obj *tokenizers_buffer)
GRN_API void grn_query_logger_remove_flags(grn_ctx *ctx, unsigned int flags)
GRN_API bool grn_query_log_flags_parse(const char *string, int string_size, unsigned int *flags)
GRN_API int grn_obj_check(grn_ctx *ctx, grn_obj *obj)
Check the integrity of the file corresponding to an object.
GRN_API bool grn_is_reference_count_enable(void)
GRN_API grn_obj * grn_obj_get_hook(grn_ctx *ctx, grn_obj *obj, grn_hook_entry entry, int offset, grn_obj *data)
Get the hook set on the object. If hook data is set, it is stored in data.
GRN_API grn_rc grn_text_time2rfc1123(grn_ctx *ctx, grn_obj *bulk, int sec)
GRN_API grn_rc grn_obj_flush_recursive(grn_ctx *ctx, grn_obj *obj)
grn_operator
Definition groonga.h:1149
@ GRN_OP_OBJ_SEARCH
Definition groonga.h:1223
@ GRN_OP_PREFIX
Definition groonga.h:1214
@ GRN_OP_DELETE
Definition groonga.h:1203
@ GRN_OP_SUFFIX
Definition groonga.h:1215
@ GRN_OP_ADJUST
Definition groonga.h:1209
@ GRN_OP_NOP
Definition groonga.h:1152
@ GRN_OP_LCP
Definition groonga.h:1211
@ GRN_OP_JUMP
Definition groonga.h:1174
@ GRN_OP_NOT
Definition groonga.h:1208
@ GRN_OP_NEAR
Definition groonga.h:1189
@ GRN_OP_REGEXP
Definition groonga.h:1231
@ GRN_OP_SLASH
Definition groonga.h:1201
@ GRN_OP_POP
Definition groonga.h:1151
@ GRN_OP_BITWISE_NOT
Definition groonga.h:1180
@ GRN_OP_MATCH
Definition groonga.h:1188
@ GRN_OP_GEO_WITHINP8
Definition groonga.h:1222
@ GRN_OP_AND_NOT
Definition groonga.h:1158
@ GRN_OP_MINUS
Definition groonga.h:1199
@ GRN_OP_GREATER_EQUAL
Definition groonga.h:1186
@ GRN_OP_EQUAL
Definition groonga.h:1181
@ GRN_OP_GREATER
Definition groonga.h:1184
@ GRN_OP_GET_REF
Definition groonga.h:1155
@ GRN_OP_EXPR_GET_VAR
Definition groonga.h:1224
@ GRN_OP_SHIFTRR_ASSIGN
Definition groonga.h:1170
@ GRN_OP_GEO_DISTANCE1
Definition groonga.h:1216
@ GRN_OP_OR_ASSIGN
Definition groonga.h:1173
@ GRN_OP_TABLE_GROUP
Definition groonga.h:1228
@ GRN_OP_MOD
Definition groonga.h:1202
@ GRN_OP_GET_MEMBER
Definition groonga.h:1230
@ GRN_OP_OR
Definition groonga.h:1161
@ GRN_OP_LESS_EQUAL
Definition groonga.h:1185
@ GRN_OP_TERM_EXTRACT
Definition groonga.h:1194
@ GRN_OP_NEAR_NO_OFFSET
Definition groonga.h:1190
@ GRN_OP_SLASH_ASSIGN
Definition groonga.h:1164
@ GRN_OP_IN
Definition groonga.h:1187
@ GRN_OP_BITWISE_XOR
Definition groonga.h:1178
@ GRN_OP_AND_ASSIGN
Definition groonga.h:1171
@ GRN_OP_CJUMP
Definition groonga.h:1175
@ GRN_OP_CALL
Definition groonga.h:1153
@ GRN_OP_SHIFTR_ASSIGN
Definition groonga.h:1169
@ GRN_OP_JSON_PUT
Definition groonga.h:1229
@ GRN_OP_GEO_WITHINP5
Definition groonga.h:1220
@ GRN_OP_SHIFTL_ASSIGN
Definition groonga.h:1168
@ GRN_OP_PLUS
Definition groonga.h:1198
@ GRN_OP_SHIFTRR
Definition groonga.h:1197
@ GRN_OP_XOR_ASSIGN
Definition groonga.h:1172
@ GRN_OP_TABLE_SELECT
Definition groonga.h:1226
@ GRN_OP_ORDERED_NEAR_PHRASE
Definition groonga.h:1235
@ GRN_OP_LESS
Definition groonga.h:1183
@ GRN_OP_DECR
Definition groonga.h:1205
@ GRN_OP_TABLE_CREATE
Definition groonga.h:1225
@ GRN_OP_GET_VALUE
Definition groonga.h:1156
@ GRN_OP_NEAR_PHRASE
Definition groonga.h:1234
@ GRN_OP_TABLE_SORT
Definition groonga.h:1227
@ GRN_OP_GEO_DISTANCE3
Definition groonga.h:1218
@ GRN_OP_FUZZY
Definition groonga.h:1232
@ GRN_OP_GEO_DISTANCE2
Definition groonga.h:1217
@ GRN_OP_STAR_ASSIGN
Definition groonga.h:1163
@ GRN_OP_BITWISE_OR
Definition groonga.h:1177
@ GRN_OP_UNSPLIT
Definition groonga.h:1213
@ GRN_OP_ASSIGN
Definition groonga.h:1162
@ GRN_OP_NOT_EQUAL
Definition groonga.h:1182
@ GRN_OP_MOD_ASSIGN
Definition groonga.h:1165
@ GRN_OP_BITWISE_AND
Definition groonga.h:1179
@ GRN_OP_SIMILAR
Definition groonga.h:1193
@ GRN_OP_GEO_WITHINP6
Definition groonga.h:1221
@ GRN_OP_SHIFTR
Definition groonga.h:1196
@ GRN_OP_PUSH
Definition groonga.h:1150
@ GRN_OP_NEAR_PHRASE_PRODUCT
Definition groonga.h:1236
@ GRN_OP_INCR_POST
Definition groonga.h:1206
@ GRN_OP_SHIFTL
Definition groonga.h:1195
@ GRN_OP_EXACT
Definition groonga.h:1210
@ GRN_OP_PARTIAL
Definition groonga.h:1212
@ GRN_OP_INCR
Definition groonga.h:1204
@ GRN_OP_COMMA
Definition groonga.h:1176
@ GRN_OP_MINUS_ASSIGN
Definition groonga.h:1167
@ GRN_OP_STAR
Definition groonga.h:1200
@ GRN_OP_ORDERED_NEAR_PHRASE_PRODUCT
Definition groonga.h:1237
@ GRN_OP_AND
Definition groonga.h:1157
@ GRN_OP_INTERN
Definition groonga.h:1154
@ GRN_OP_QUORUM
Definition groonga.h:1233
@ GRN_OP_DECR_POST
Definition groonga.h:1207
@ GRN_OP_PLUS_ASSIGN
Definition groonga.h:1166
@ GRN_OP_GEO_DISTANCE4
Definition groonga.h:1219
GRN_API grn_rc grn_obj_refer_recursive_dependent(grn_ctx *ctx, grn_obj *obj)
GRN_API const char * grn_plugin_get_system_plugins_dir(void)
GRN_API void grn_logger_put(grn_ctx *ctx, grn_log_level level, const char *file, int line, const char *func, const char *fmt,...) GRN_ATTRIBUTE_PRINTF(6)
GRN_API grn_rc grn_plugin_get_names(grn_ctx *ctx, grn_obj *names)
GRN_API grn_rc grn_text_urlenc(grn_ctx *ctx, grn_obj *buf, const char *str, size_t len)
GRN_API grn_rc grn_bulk_reinit(grn_ctx *ctx, grn_obj *bulk, size_t size)
GRN_API grn_rc grn_obj_remove_flags(grn_ctx *ctx, grn_obj *obj, uint32_t flags)
struct _grn_section grn_section
GRN_API grn_rc grn_text_benc(grn_ctx *ctx, grn_obj *bulk, unsigned int v)
GRN_API grn_rc grn_snip_get_result(grn_ctx *ctx, grn_obj *snip, const unsigned int index, char *result, unsigned int *result_len)
GRN_API int32_t grn_ctx_get_n_workers(grn_ctx *ctx)
GRN_API void * grn_proc_get_hook_local_data(grn_ctx *ctx, grn_obj *exec_info)
GRN_API const char * grn_snip_get_delimiter_regexp(grn_ctx *ctx, grn_obj *snip, size_t *pattern_length)
GRN_API void grn_query_logger_put(grn_ctx *ctx, unsigned int flag, const char *mark, const char *format,...) GRN_ATTRIBUTE_PRINTF(4)
bool grn_bool
Definition groonga.h:46
GRN_API grn_obj * grn_snip_get_normalizer(grn_ctx *ctx, grn_obj *snip)
GRN_API grn_rc grn_logger_info_set(grn_ctx *ctx, const grn_logger_info *info)
GRN_API void grn_default_logger_set_rotate_threshold_size(off_t threshold)
GRN_API grn_obj * grn_snip_open(grn_ctx *ctx, int flags, unsigned int width, unsigned int max_results, const char *defaultopentag, unsigned int defaultopentag_len, const char *defaultclosetag, unsigned int defaultclosetag_len, grn_snip_mapping *mapping)
GRN_API void grn_default_logger_set_path(const char *path)
GRN_API grn_rc grn_ctx_remove_by_id(grn_ctx *ctx, grn_id id, uint32_t flags)
GRN_API grn_rc grn_text_code_point(grn_ctx *ctx, grn_obj *buffer, uint32_t code_point)
GRN_API bool grn_query_logger_pass(grn_ctx *ctx, unsigned int flag)
GRN_API int grn_column_index(grn_ctx *ctx, grn_obj *column, grn_operator op, grn_obj **indexbuf, int buf_size, int *section)
GRN_API grn_rc grn_unset_variable(const char *name, int name_size)
GRN_API grn_obj * grn_ctx_pop(grn_ctx *ctx)
GRN_API uint32_t grn_get_version_major(void)
GRN_API grn_obj * grn_ctx_at(grn_ctx *ctx, grn_id id)
Retrieve the object corresponding to the specified ID from the context or the database that the conte...
GRN_API bool grn_ctx_get_force_match_escalation(grn_ctx *ctx)
GRN_API grn_rc grn_proc_set_is_stable(grn_ctx *ctx, grn_obj *proc, bool is_stable)
GRN_API grn_rc grn_obj_delete_by_id(grn_ctx *ctx, grn_obj *db, grn_id id, bool remove_p)
Delete an object (such as a table or column) identified by the ID from the database.
grn_log_level
Definition groonga.h:192
@ GRN_LOG_WARNING
Definition groonga.h:198
@ GRN_LOG_CRIT
Definition groonga.h:196
@ GRN_LOG_NOTICE
Definition groonga.h:199
@ GRN_LOG_ALERT
Definition groonga.h:195
@ GRN_LOG_DEBUG
Definition groonga.h:201
@ GRN_LOG_DUMP
Definition groonga.h:202
@ GRN_LOG_ERROR
Definition groonga.h:197
@ GRN_LOG_INFO
Definition groonga.h:200
@ GRN_LOG_EMERG
Definition groonga.h:194
GRN_API grn_rc grn_snip_set_normalizer(grn_ctx *ctx, grn_obj *snip, grn_obj *normalizer)
GRN_API char * grn_bulk_detach(grn_ctx *ctx, grn_obj *bulk)
#define GRN_ATTRIBUTE_PRINTF(fmt_pos)
Definition groonga.h:2426
GRN_API grn_obj * grn_obj_column(grn_ctx *ctx, grn_obj *table, const char *name, uint32_t name_size)
Retrieve a column or an accessor from a specified table or accessor.
GRN_API grn_rc grn_obj_lock(grn_ctx *ctx, grn_obj *obj, grn_id id, int timeout)
Lock an object with a specified timeout.
void(* grn_recv_handler_func)(grn_ctx *ctx, int flags, void *user_data)
Definition groonga.h:2723
GRN_API const char * grn_log_level_to_string(grn_log_level level)
GRN_API grn_rc grn_bulk_write(grn_ctx *ctx, grn_obj *bulk, const char *str, size_t len)
GRN_API grn_rc grn_text_escape_xml(grn_ctx *ctx, grn_obj *buf, const char *s, size_t len)
GRN_API grn_rc grn_set_int_handler(void)
GRN_API uint32_t grn_get_version_micro(void)
GRN_API grn_rc grn_set_default_encoding(grn_encoding encoding)
Set the default encoding.
GRN_API int32_t grn_get_default_n_workers(void)
GRN_API grn_rc grn_obj_rename(grn_ctx *ctx, grn_obj *obj, const char *name, unsigned int name_size)
Rename a persistent object in the database used by the context.
GRN_API grn_rc grn_text_printfv(grn_ctx *ctx, grn_obj *bulk, const char *format, va_list args)
GRN_API grn_rc grn_obj_set_value(grn_ctx *ctx, grn_obj *obj, grn_id id, grn_obj *value, int flags)
Update the value of a record identified by the given ID in the specified object.
GRN_API grn_rc grn_text_printf(grn_ctx *ctx, grn_obj *bulk, const char *format,...) GRN_ATTRIBUTE_PRINTF(3)
GRN_API int grn_obj_get_values(grn_ctx *ctx, grn_obj *obj, grn_id offset, void **values)
Retrieve an array of fixed-size column values starting from a specified record ID.
void(* grn_close_func)(grn_ctx *ctx, void *data)
Definition groonga.h:337
GRN_API grn_rc grn_set_default_command_version(grn_command_version version)
Set default command version.
GRN_API grn_obj * grn_snip_get_normalizers(grn_ctx *ctx, grn_obj *snip)
GRN_API uint32_t grn_get_version_minor(void)
GRN_API const char * grn_get_package_label(void)
GRN_API grn_rc grn_ctx_set_finalizer(grn_ctx *ctx, grn_proc_func *func)
Set the callback function to be called when the context is finished.
GRN_API int grn_get_lock_timeout(void)
Retrieve the current lock timeout.
GRN_API const char * grn_plugin_get_ruby_suffix(void)
grn_builtin_type
Definition groonga.h:1063
@ GRN_DB_SHORT_BINARY
Definition groonga.h:1085
@ GRN_DB_BINARY
Definition groonga.h:1086
@ GRN_DB_UINT8
Definition groonga.h:1069
@ GRN_DB_OBJECT
Definition groonga.h:1066
@ GRN_DB_INT8
Definition groonga.h:1068
@ GRN_DB_TEXT
Definition groonga.h:1079
@ GRN_DB_LONG_BINARY
Definition groonga.h:1087
@ GRN_DB_TIME
Definition groonga.h:1077
@ GRN_DB_JSON
Definition groonga.h:1088
@ GRN_DB_VOID
Definition groonga.h:1064
@ GRN_DB_LONG_TEXT
Definition groonga.h:1080
@ GRN_DB_DB
Definition groonga.h:1065
@ GRN_DB_SHORT_TEXT
Definition groonga.h:1078
@ GRN_DB_BFLOAT16
Definition groonga.h:1084
@ GRN_DB_UINT16
Definition groonga.h:1071
@ GRN_DB_INT32
Definition groonga.h:1072
@ GRN_DB_BOOL
Definition groonga.h:1067
@ GRN_DB_INT16
Definition groonga.h:1070
@ GRN_DB_FLOAT32
Definition groonga.h:1083
@ GRN_DB_TOKYO_GEO_POINT
Definition groonga.h:1081
@ GRN_DB_UINT32
Definition groonga.h:1073
@ GRN_DB_UINT64
Definition groonga.h:1075
@ GRN_DB_INT64
Definition groonga.h:1074
@ GRN_DB_FLOAT
Definition groonga.h:1076
@ GRN_DB_WGS84_GEO_POINT
Definition groonga.h:1082
GRN_API grn_rc grn_text_itoa_padded(grn_ctx *ctx, grn_obj *bulk, int i, char ch, size_t len)
GRN_API uint64_t grn_obj_defrag(grn_ctx *ctx, grn_obj *obj, int threshold)
Defragment an object to reduce fragmentation in the database file.
GRN_API size_t grn_get_memory_map_size(void)
GRN_API grn_obj * grn_ctx_get(grn_ctx *ctx, const char *name, int name_size)
Retrieve the object corresponding to the specified name from the database that the context is using.
GRN_API grn_rc grn_set_abrt_handler(void)
GRN_API grn_rc grn_set_reference_count_enable(bool enable)
GRN_API grn_rc grn_obj_flush(grn_ctx *ctx, grn_obj *obj)
GRN_API void * grn_proc_get_ctx_local_data(grn_ctx *ctx, grn_obj *exec_info)
grn_builtin_tokenizer
Definition groonga.h:1091
@ GRN_DB_TRIGRAM
Definition groonga.h:1096
@ GRN_DB_UNIGRAM
Definition groonga.h:1094
@ GRN_DB_BIGRAM
Definition groonga.h:1095
@ GRN_DB_MECAB
Definition groonga.h:1092
@ GRN_DB_DELIMIT
Definition groonga.h:1093
GRN_API grn_rc grn_ctx_recv(grn_ctx *ctx, char **str, unsigned int *str_len, int *flags)
GRN_API grn_rc grn_obj_remove_force(grn_ctx *ctx, const char *name, int name_size)
GRN_API grn_obj * grn_obj_get_info(grn_ctx *ctx, grn_obj *obj, grn_info_type type, grn_obj *valuebuf)
Get information on the object.
GRN_API grn_obj * grn_ctx_db(grn_ctx *ctx)
Retrieve the database that the context is using.
GRN_API unsigned int grn_column_find_index_data(grn_ctx *ctx, grn_obj *column, grn_operator op, grn_index_datum *index_data, unsigned int n_index_data)
Return indexes that can perform a specified operation by storing it in index_data.
grn_hook_entry
Definition groonga.h:2065
@ GRN_HOOK_INSERT
Hooked on insertion.
Definition groonga.h:2071
@ GRN_HOOK_SELECT
Definition groonga.h:2076
@ GRN_HOOK_DELETE
Hooked on deletion.
Definition groonga.h:2073
@ GRN_HOOK_SET
Hooked on update.
Definition groonga.h:2067
@ GRN_HOOK_GET
Hooked on getting.
Definition groonga.h:2069
GRN_API grn_rc grn_obj_flush_recursive_dependent(grn_ctx *ctx, grn_obj *obj)
GRN_API grn_rc grn_obj_unlink(grn_ctx *ctx, grn_obj *obj)
Unlink an object.
GRN_API grn_ctx * grn_ctx_open(int flags)
Open the context.
GRN_API grn_rc grn_ctx_set_n_workers(grn_ctx *ctx, int32_t n_workers)
grn_content_type
The input/output content format.
Definition groonga.h:225
@ GRN_CONTENT_APACHE_ARROW
Definition groonga.h:252
@ GRN_CONTENT_TSV
Definition groonga.h:232
@ GRN_CONTENT_GROONGA_COMMAND_LIST
Definition groonga.h:244
@ GRN_CONTENT_XML
Definition groonga.h:236
@ GRN_CONTENT_MSGPACK
Definition groonga.h:242
@ GRN_CONTENT_NONE
Definition groonga.h:230
@ GRN_CONTENT_JSON
Definition groonga.h:234
GRN_API grn_rc grn_text_lltoa(grn_ctx *ctx, grn_obj *bulk, long long int i)
GRN_API grn_rc grn_set_default_n_workers(int32_t n_workers)
GRN_API bool grn_logger_pass(grn_ctx *ctx, grn_log_level level)
uint32_t grn_table_flags
Definition groonga.h:680
GRN_API grn_rc grn_obj_set_element_info(grn_ctx *ctx, grn_obj *obj, grn_id id, grn_info_type type, grn_obj *value)
Set information on the record with the ID in the object.
GRN_API grn_obj * grn_obj_get_element_info(grn_ctx *ctx, grn_obj *obj, grn_id id, grn_info_type type, grn_obj *valuebuf)
Get information on the record with the ID in the object.
GRN_API grn_rc grn_text_itoa(grn_ctx *ctx, grn_obj *bulk, int i)
GRN_API void grn_obj_unref(grn_ctx *ctx, grn_obj *obj)
GRN_API void grn_default_query_logger_set_path(const char *path)
GRN_API grn_encoding grn_get_default_encoding(void)
uint32_t grn_column_flags
Definition groonga.h:681
#define GRN_CTX_MSGSIZE
Definition groonga.h:334
GRN_API grn_rc grn_snip_set_delimiter_regexp(grn_ctx *ctx, grn_obj *snip, const char *pattern, int pattern_length)
GRN_API grn_rc grn_obj_reinit(grn_ctx *ctx, grn_obj *obj, grn_id domain, uint8_t flags)
Reinitialize an object.
GRN_API grn_rc grn_bulk_truncate(grn_ctx *ctx, grn_obj *bulk, size_t len)
GRN_API grn_rc grn_plugin_unregister_by_path(grn_ctx *ctx, const char *path)
GRN_API grn_rc grn_text_vprintf(grn_ctx *ctx, grn_obj *bulk, const char *format, va_list args)
GRN_API grn_rc grn_text_esc(grn_ctx *ctx, grn_obj *bulk, const char *s, size_t len)
GRN_API grn_rc grn_ctx_get_all_tables(grn_ctx *ctx, grn_obj *tables_buffer)
Retrieve all tables from the database that the context is using.
GRN_API bool grn_ctx_is_opened(grn_ctx *ctx, grn_id id)
GRN_API bool grn_is_back_trace_enable(void)
GRN_API double grn_slow_log_pop(grn_ctx *ctx)
GRN_API void grn_query_logger_reopen(grn_ctx *ctx)
GRN_API grn_rc grn_ctx_use(grn_ctx *ctx, grn_obj *db)
Set the database that the context is using.
GRN_API grn_rc grn_ctx_push(grn_ctx *ctx, grn_obj *obj)
GRN_API const char * grn_plugin_get_suffix(void)
GRN_API grn_rc grn_ctx_init(grn_ctx *ctx, int flags)
Initialize the context.
GRN_API int64_t grn_get_default_match_escalation_threshold(void)
GRN_API grn_id grn_obj_get_range(grn_ctx *ctx, grn_obj *obj)
Retrieve the value range based on the ID associated with an object.
GRN_API grn_rc grn_obj_path_by_id(grn_ctx *ctx, grn_obj *db, grn_id id, char *buffer)
Return the pathname of an object ID.
GRN_API grn_rc grn_obj_remove(grn_ctx *ctx, grn_obj *obj)
Remove the specified object.
GRN_API grn_rc grn_column_get_all_index_columns(grn_ctx *ctx, grn_obj *column, grn_obj *index_columns)
GRN_API grn_rc grn_bulk_write_from(grn_ctx *ctx, grn_obj *bulk, const char *str, size_t from, size_t len)
GRN_API bool grn_proc_is_stable(grn_ctx *ctx, grn_obj *proc)
GRN_API int grn_proc_call_next(grn_ctx *ctx, grn_obj *exec_info, grn_obj *in, grn_obj *out)
GRN_API grn_rc grn_obj_clear_lock(grn_ctx *ctx, grn_obj *obj)
Forcefully clear locks on an object.
GRN_API int grn_obj_name(grn_ctx *ctx, grn_obj *obj, char *namebuf, int buf_size)
Return an object's name by storing it in namebuf.
GRN_API grn_user_data * grn_obj_user_data(grn_ctx *ctx, grn_obj *obj)
Returns a pointer to user data that can be registered in the object.
GRN_API grn_rc grn_slow_log_push(grn_ctx *ctx)
GRN_API int grn_obj_get_nhooks(grn_ctx *ctx, grn_obj *obj, grn_hook_entry entry)
Get the number of hooks set on the object.
GRN_API grn_rc grn_obj_set_info(grn_ctx *ctx, grn_obj *obj, grn_info_type type, grn_obj *value)
Set information on the object.
GRN_API grn_rc grn_bulk_space(grn_ctx *ctx, grn_obj *bulk, size_t len)
GRN_API void * grn_ctx_get_variable(grn_ctx *ctx, const char *name, int name_size)
GRN_API grn_rc grn_ctx_get_all_token_filters(grn_ctx *ctx, grn_obj *token_filters_buffer)
GRN_API grn_rc grn_fin(void)
GRN_API grn_rc grn_ctx_remove(grn_ctx *ctx, const char *name, int name_size, uint32_t flags)
GRN_API void grn_query_logger_set_flags(grn_ctx *ctx, unsigned int flags)
GRN_API grn_rc grn_ctx_get_all_types(grn_ctx *ctx, grn_obj *types_buffer)
GRN_API grn_command_version grn_get_default_command_version(void)
GRN_API grn_rc grn_init(void)
GRN_API grn_rc grn_text_lltob32h(grn_ctx *ctx, grn_obj *bulk, long long int i)
GRN_API bool grn_slow_log_is_slow(grn_ctx *ctx, double elapsed_time)
GRN_API grn_rc grn_query_logger_set(grn_ctx *ctx, const grn_query_logger *logger)
GRN_API grn_rc grn_ctx_get_all_normalizers(grn_ctx *ctx, grn_obj *normalizers_buffer)
GRN_API const char * grn_hook_entry_to_string(grn_hook_entry entry)
struct _grn_obj_header grn_obj_header
GRN_API grn_rc grn_obj_refer(grn_ctx *ctx, grn_obj *obj)
GRN_API grn_command_version grn_ctx_get_command_version(grn_ctx *ctx)
GRN_API grn_rc grn_obj_search(grn_ctx *ctx, grn_obj *obj, grn_obj *query, grn_obj *res, grn_operator op, grn_search_optarg *optarg)
Search for obj in query.
GRN_API grn_rc grn_logger_set(grn_ctx *ctx, const grn_logger *logger)
GRN_API void grn_query_logger_add_flags(grn_ctx *ctx, unsigned int flags)
GRN_API grn_rc grn_obj_delete_hook(grn_ctx *ctx, grn_obj *obj, grn_hook_entry entry, int offset)
Delete the hook set on the object.
grn_encoding
Definition groonga.h:163
@ GRN_ENC_EUC_JP
EUC-JP (2)
Definition groonga.h:170
@ GRN_ENC_UTF8
UTF-8 (3)
Definition groonga.h:172
@ GRN_ENC_LATIN1
Latin-1 (5)
Definition groonga.h:176
@ GRN_ENC_DEFAULT
Definition groonga.h:166
@ GRN_ENC_KOI8R
KOI8-R (6)
Definition groonga.h:178
@ GRN_ENC_SJIS
Shift_JIS (4)
Definition groonga.h:174
@ GRN_ENC_NONE
Process strings as binary data (1)
Definition groonga.h:168
#define GRN_LOG_NONE
Definition groonga.h:2362
GRN_API const char * grn_text_urldec(grn_ctx *ctx, grn_obj *buf, const char *s, const char *e, char d)
GRN_API grn_rc grn_obj_remove_dependent(grn_ctx *ctx, grn_obj *obj)
GRN_API grn_rc grn_text_ftoa(grn_ctx *ctx, grn_obj *bulk, double d)
GRN_API grn_rc grn_plugin_unregister(grn_ctx *ctx, const char *name)
grn_obj grn_table_cursor
Definition groonga.h:1147
Definition groonga.h:3308
unsigned int com_status
Definition groonga.h:3310
int fd
Definition groonga.h:3309
grn_obj * outbuf
Definition groonga.h:3311
unsigned char stat
Definition groonga.h:3312
unsigned char ntrace
Definition groonga.h:355
struct _grn_ctx_impl * impl
Definition groonga.h:367
void * trace[16]
Definition groonga.h:368
const char * errfile
Definition groonga.h:365
unsigned char errlvl
Definition groonga.h:356
unsigned int seqno2
Definition groonga.h:360
unsigned int errline
Definition groonga.h:361
unsigned int subno
Definition groonga.h:359
unsigned int seqno
Definition groonga.h:358
char errbuf[GRN_CTX_MSGSIZE]
Definition groonga.h:369
grn_encoding encoding
Definition groonga.h:354
int flags
Definition groonga.h:353
unsigned char stat
Definition groonga.h:357
const char * errfunc
Definition groonga.h:366
grn_rc rc
Definition groonga.h:352
grn_ctx * next
Definition groonga.h:364
grn_user_data user_data
Definition groonga.h:362
grn_ctx * prev
Definition groonga.h:363
Definition groonga.h:1967
float max_distance_ratio
Definition groonga.h:1980
uint32_t flags
Definition groonga.h:1974
uint32_t max_expansion
Definition groonga.h:1971
uint32_t prefix_match_size
Definition groonga.h:1973
uint32_t prefix_length
Definition groonga.h:1977
uint32_t max_distance
Definition groonga.h:1968
Definition groonga.h:2167
grn_obj * index
Definition groonga.h:2168
unsigned int section
Definition groonga.h:2169
Definition groonga.h:2382
void * func_arg
Definition groonga.h:2387
void(* func)(int, const char *, const char *, const char *, const char *, void *)
Definition groonga.h:2385
grn_log_level max_level
Definition groonga.h:2383
int flags
Definition groonga.h:2384
Definition groonga.h:2396
void * user_data
Definition groonga.h:2399
grn_log_level max_level
Definition groonga.h:2397
void(* fin)(grn_ctx *ctx, void *user_data)
Definition groonga.h:2408
int flags
Definition groonga.h:2398
void(* log)(grn_ctx *ctx, grn_log_level level, const char *timestamp, const char *title, const char *message, const char *location, void *user_data)
Definition groonga.h:2400
void(* reopen)(grn_ctx *ctx, void *user_data)
Definition groonga.h:2407
Definition groonga.h:1988
grn_id min
Definition groonga.h:1990
int flags
Definition groonga.h:1989
char * tail
Definition groonga.h:925
grn_section * sections
Definition groonga.h:929
char * curr
Definition groonga.h:924
grn_obj * body
Definition groonga.h:928
uint32_t n_sections
Definition groonga.h:930
grn_obj_header header
Definition groonga.h:920
struct _grn_obj::@0::@2 v
char * head
Definition groonga.h:923
struct _grn_obj::@0::@1 b
Definition groonga.h:2533
void(* reopen)(grn_ctx *ctx, void *user_data)
Definition groonga.h:2542
void(* log)(grn_ctx *ctx, unsigned int flag, const char *timestamp, const char *info, const char *message, void *user_data)
Definition groonga.h:2536
void(* fin)(grn_ctx *ctx, void *user_data)
Definition groonga.h:2543
unsigned int flags
Definition groonga.h:2534
void * user_data
Definition groonga.h:2535
Definition groonga.h:1995
int vector_size
Definition groonga.h:2000
int additional_last_interval
Definition groonga.h:2009
grn_obj * scorer
Definition groonga.h:2003
int32_t * start_position
Definition groonga.h:2015
int max_size
Definition groonga.h:2002
float weight_float
Definition groonga.h:2011
unsigned int scorer_args_expr_offset
Definition groonga.h:2005
int max_interval
Definition groonga.h:1998
int quorum_threshold
Definition groonga.h:2008
grn_obj * query_options
Definition groonga.h:2012
grn_operator mode
Definition groonga.h:1996
int * weight_vector
Definition groonga.h:1999
grn_obj * scorer_args_expr
Definition groonga.h:2004
grn_match_info match_info
Definition groonga.h:2007
float * weight_vector_float
Definition groonga.h:2010
grn_obj * proc
Definition groonga.h:2001
grn_fuzzy_search_optarg fuzzy
Definition groonga.h:2006
grn_obj * max_element_intervals
Definition groonga.h:2013
int similarity_threshold
Definition groonga.h:1997
grn_id * query_domain
Definition groonga.h:2016
int * min_interval
Definition groonga.h:2014
float weight
Definition groonga.h:908
grn_id domain
Definition groonga.h:909
uint32_t offset
Definition groonga.h:906
uint32_t length
Definition groonga.h:907
Definition groonga.h:2300
void * dummy
Definition groonga.h:2301
Definition groonga.h:3329
void * func_arg
Definition groonga.h:3332
int flags
Definition groonga.h:3330
int(* func)(grn_ctx *ctx, grn_obj *, grn_id, void *)
Definition groonga.h:3331
Definition groonga.h:3335
grn_id id
Definition groonga.h:3336
unsigned int length
Definition groonga.h:3338
unsigned int offset
Definition groonga.h:3337
Definition groonga.h:1139
const char * name
Definition groonga.h:1140
grn_obj value
Definition groonga.h:1142
unsigned int name_size
Definition groonga.h:1141
Definition groonga.h:3341
int32_t tv_nsec
Definition groonga.h:3343
int64_t tv_sec
Definition groonga.h:3342
int int_value
Definition groonga.h:340
grn_id id
Definition groonga.h:341
void * ptr
Definition groonga.h:342