[Groonga-commit] groonga/groonga at d62f46b [master] Remove query log size limitation

Back to archive index

Kouhei Sutou null+****@clear*****
Mon Jun 16 16:55:53 JST 2014


Kouhei Sutou	2014-06-16 16:55:53 +0900 (Mon, 16 Jun 2014)

  New Revision: d62f46bd6d46c2707c6aed5a12b4cec4af30327b
  https://github.com/groonga/groonga/commit/d62f46bd6d46c2707c6aed5a12b4cec4af30327b

  Message:
    Remove query log size limitation

  Modified files:
    lib/ctx.c
    lib/ctx_impl.h

  Modified: lib/ctx.c (+9 -5)
===================================================================
--- lib/ctx.c    2014-06-16 16:54:22 +0900 (0137a68)
+++ lib/ctx.c    2014-06-16 16:55:53 +0900 (a419081)
@@ -503,6 +503,8 @@ grn_ctx_impl_init(grn_ctx *ctx)
   grn_loader_init(&ctx->impl->loader);
   ctx->impl->plugin_path = NULL;
 
+  GRN_TEXT_INIT(&ctx->impl->query_log_buf, 0);
+
   ctx->impl->previous_errbuf[0] = '\0';
   ctx->impl->n_same_error_messages = 0;
 
@@ -651,6 +653,7 @@ grn_ctx_fin(grn_ctx *ctx)
     }
     GRN_OBJ_FIN(ctx, &ctx->impl->names);
     GRN_OBJ_FIN(ctx, &ctx->impl->levels);
+    GRN_OBJ_FIN(ctx, &ctx->impl->query_log_buf);
     rc = grn_obj_close(ctx, ctx->impl->outbuf);
     {
       grn_hash **vp;
@@ -1099,7 +1102,6 @@ grn_query_logger_pass(grn_ctx *ctx, unsigned int flag)
 #define TIMESTAMP_BUFFER_SIZE    TBUFSIZE
 /* 8+a(%p) + 1(|) + 1(mark) + 15(elapsed time) = 25+a */
 #define INFO_BUFFER_SIZE         40
-#define MESSAGE_BUFFER_SIZE      MBUFSIZE
 
 void
 grn_query_logger_put(grn_ctx *ctx, unsigned int flag, const char *mark,
@@ -1107,7 +1109,7 @@ grn_query_logger_put(grn_ctx *ctx, unsigned int flag, const char *mark,
 {
   char timestamp[TIMESTAMP_BUFFER_SIZE];
   char info[INFO_BUFFER_SIZE];
-  char message[MESSAGE_BUFFER_SIZE];
+  grn_obj *message = &ctx->impl->query_log_buf;
 
   if (!current_query_logger.log) {
     return;
@@ -1138,13 +1140,15 @@ grn_query_logger_put(grn_ctx *ctx, unsigned int flag, const char *mark,
 
   {
     va_list args;
+
     va_start(args, format);
-    vsnprintf(message, MESSAGE_BUFFER_SIZE - 1, format, args);
+    GRN_BULK_REWIND(message);
+    grn_text_vprintf(ctx, message, format, args);
     va_end(args);
-    message[MESSAGE_BUFFER_SIZE - 1] = '\0';
+    GRN_TEXT_PUTC(ctx, message, '\0');
   }
 
-  current_query_logger.log(ctx, flag, timestamp, info, message,
+  current_query_logger.log(ctx, flag, timestamp, info, GRN_TEXT_VALUE(message),
                            current_query_logger.user_data);
 }
 

  Modified: lib/ctx_impl.h (+2 -0)
===================================================================
--- lib/ctx_impl.h    2014-06-16 16:54:22 +0900 (5710aa7)
+++ lib/ctx_impl.h    2014-06-16 16:55:53 +0900 (33f1402)
@@ -168,6 +168,8 @@ struct _grn_ctx_impl {
     uint64_t u64;
   } data;
 
+  grn_obj query_log_buf;
+
   char previous_errbuf[GRN_CTX_MSGSIZE];
   unsigned int n_same_error_messages;
 
-------------- next part --------------
HTML����������������������������...
下载 



More information about the Groonga-commit mailing list
Back to archive index