summaryrefslogtreecommitdiff
path: root/storage/mroonga/vendor/groonga/lib/output.c
diff options
context:
space:
mode:
Diffstat (limited to 'storage/mroonga/vendor/groonga/lib/output.c')
-rw-r--r--storage/mroonga/vendor/groonga/lib/output.c80
1 files changed, 63 insertions, 17 deletions
diff --git a/storage/mroonga/vendor/groonga/lib/output.c b/storage/mroonga/vendor/groonga/lib/output.c
index 20bd2a8694a..0036e9a8619 100644
--- a/storage/mroonga/vendor/groonga/lib/output.c
+++ b/storage/mroonga/vendor/groonga/lib/output.c
@@ -54,6 +54,8 @@ put_delimiter(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type)
case GRN_CONTENT_MSGPACK :
// do nothing
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -88,6 +90,8 @@ grn_output_array_open(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_typ
msgpack_pack_array(&ctx->impl->msgpacker, nelements);
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -119,6 +123,8 @@ grn_output_array_close(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_ty
case GRN_CONTENT_MSGPACK :
// do nothing
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -155,6 +161,8 @@ grn_output_map_open(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type,
msgpack_pack_map(&ctx->impl->msgpacker, nelements);
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -186,6 +194,8 @@ grn_output_map_close(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type
case GRN_CONTENT_MSGPACK :
// do nothing
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -214,6 +224,9 @@ grn_output_int32(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type, in
msgpack_pack_int32(&ctx->impl->msgpacker, value);
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ grn_text_itoa(ctx, outbuf, value);
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -241,6 +254,9 @@ grn_output_int64(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type, in
msgpack_pack_int64(&ctx->impl->msgpacker, value);
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ grn_text_lltoa(ctx, outbuf, value);
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -268,6 +284,9 @@ grn_output_uint64(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type, i
msgpack_pack_uint64(&ctx->impl->msgpacker, value);
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ grn_text_ulltoa(ctx, outbuf, value);
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -295,6 +314,9 @@ grn_output_float(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type, do
msgpack_pack_double(&ctx->impl->msgpacker, value);
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ grn_text_ftoa(ctx, outbuf, value);
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -320,10 +342,13 @@ grn_output_str(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type,
break;
case GRN_CONTENT_MSGPACK :
#ifdef GRN_WITH_MESSAGE_PACK
- msgpack_pack_raw(&ctx->impl->msgpacker, value_len);
- msgpack_pack_raw_body(&ctx->impl->msgpacker, value, value_len);
+ msgpack_pack_str(&ctx->impl->msgpacker, value_len);
+ msgpack_pack_str_body(&ctx->impl->msgpacker, value, value_len);
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ GRN_TEXT_PUT(ctx, outbuf, value, value_len);
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -362,6 +387,9 @@ grn_output_bool(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type, grn
}
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ GRN_TEXT_PUTS(ctx, outbuf, value ? "true" : "false");
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -386,6 +414,8 @@ grn_output_null(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type)
msgpack_pack_nil(&ctx->impl->msgpacker);
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -426,6 +456,9 @@ grn_output_time(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type, int
msgpack_pack_double(&ctx->impl->msgpacker, dv);
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ grn_text_ftoa(ctx, outbuf, dv);
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -477,8 +510,8 @@ grn_output_geo_point(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type
grn_text_itoa(ctx, &buf, value->latitude);
GRN_TEXT_PUTC(ctx, &buf, 'x');
grn_text_itoa(ctx, &buf, value->longitude);
- msgpack_pack_raw(&ctx->impl->msgpacker, GRN_TEXT_LEN(&buf));
- msgpack_pack_raw_body(&ctx->impl->msgpacker,
+ msgpack_pack_str(&ctx->impl->msgpacker, GRN_TEXT_LEN(&buf));
+ msgpack_pack_str_body(&ctx->impl->msgpacker,
GRN_TEXT_VALUE(&buf),
GRN_TEXT_LEN(&buf));
grn_obj_close(ctx, &buf);
@@ -487,6 +520,17 @@ grn_output_geo_point(grn_ctx *ctx, grn_obj *outbuf, grn_content_type output_type
}
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ if (value) {
+ GRN_TEXT_PUTC(ctx, outbuf, '"');
+ grn_text_itoa(ctx, outbuf, value->latitude);
+ GRN_TEXT_PUTC(ctx, outbuf, 'x');
+ grn_text_itoa(ctx, outbuf, value->longitude);
+ GRN_TEXT_PUTC(ctx, outbuf, '"');
+ } else {
+ GRN_TEXT_PUTS(ctx, outbuf, "\"\"");
+ }
+ break;
case GRN_CONTENT_NONE:
break;
}
@@ -1802,7 +1846,7 @@ typedef struct {
} msgpack_writer_ctx;
static inline int
-msgpack_buffer_writer(void* data, const char* buf, unsigned int len)
+msgpack_buffer_writer(void* data, const char* buf, msgpack_size_t len)
{
msgpack_writer_ctx *writer_ctx = (msgpack_writer_ctx *)data;
return grn_bulk_write(writer_ctx->ctx, writer_ctx->buffer, buf, len);
@@ -1980,8 +2024,8 @@ grn_output_envelope(grn_ctx *ctx,
msgpack_pack_double(&header_packer, elapsed);
if (rc != GRN_SUCCESS) {
- msgpack_pack_raw(&header_packer, strlen(ctx->errbuf));
- msgpack_pack_raw_body(&header_packer, ctx->errbuf, strlen(ctx->errbuf));
+ msgpack_pack_str(&header_packer, strlen(ctx->errbuf));
+ msgpack_pack_str_body(&header_packer, ctx->errbuf, strlen(ctx->errbuf));
if (ctx->errfunc && ctx->errfile) {
grn_obj *command = GRN_CTX_USER_DATA(ctx)->ptr;
int error_detail_size;
@@ -1996,33 +2040,35 @@ grn_output_envelope(grn_ctx *ctx,
}
msgpack_pack_array(&header_packer, error_detail_size);
- msgpack_pack_raw(&header_packer, strlen(ctx->errfunc));
- msgpack_pack_raw_body(&header_packer, ctx->errfunc, strlen(ctx->errfunc));
+ msgpack_pack_str(&header_packer, strlen(ctx->errfunc));
+ msgpack_pack_str_body(&header_packer, ctx->errfunc, strlen(ctx->errfunc));
- msgpack_pack_raw(&header_packer, strlen(ctx->errfile));
- msgpack_pack_raw_body(&header_packer, ctx->errfile, strlen(ctx->errfile));
+ msgpack_pack_str(&header_packer, strlen(ctx->errfile));
+ msgpack_pack_str_body(&header_packer, ctx->errfile, strlen(ctx->errfile));
msgpack_pack_int(&header_packer, ctx->errline);
if (command) {
if (file) {
- msgpack_pack_raw(&header_packer, strlen(file));
- msgpack_pack_raw_body(&header_packer, file, strlen(file));
+ msgpack_pack_str(&header_packer, strlen(file));
+ msgpack_pack_str_body(&header_packer, file, strlen(file));
} else {
- msgpack_pack_raw(&header_packer, 7);
- msgpack_pack_raw_body(&header_packer, "(stdin)", 7);
+ msgpack_pack_str(&header_packer, 7);
+ msgpack_pack_str_body(&header_packer, "(stdin)", 7);
}
msgpack_pack_int(&header_packer, line);
- msgpack_pack_raw(&header_packer, GRN_TEXT_LEN(command));
- msgpack_pack_raw_body(&header_packer, GRN_TEXT_VALUE(command), GRN_TEXT_LEN(command));
+ msgpack_pack_str(&header_packer, GRN_TEXT_LEN(command));
+ msgpack_pack_str_body(&header_packer, GRN_TEXT_VALUE(command), GRN_TEXT_LEN(command));
}
}
}
}
#endif
break;
+ case GRN_CONTENT_GROONGA_COMMAND_LIST :
+ break;
case GRN_CONTENT_NONE:
break;
}