static ngx_int_t ngx_http_groonga_context_check_error(ngx_log_t *log, grn_ctx *context) { if (context->rc == GRN_SUCCESS) { return NGX_OK; } else { ngx_http_groonga_context_log_error(log, context); return NGX_HTTP_BAD_REQUEST; } }
static void ngx_http_groonga_close_database_callback(ngx_http_groonga_loc_conf_t *location_conf, void *user_data) { ngx_http_groonga_database_callback_data_t *data = user_data; grn_ctx *context; context = &(location_conf->context); grn_obj_close(context, grn_ctx_db(context)); ngx_http_groonga_context_log_error(data->log, context); grn_ctx_fin(context); }
static ngx_int_t ngx_http_groonga_handler_process_command_path(ngx_http_request_t *r, ngx_str_t *command_path, ngx_http_groonga_handler_data_t *data) { grn_obj uri; GRN_TEXT_INIT(&uri, 0); GRN_TEXT_PUTS(context, &uri, "/d/"); GRN_TEXT_PUT(context, &uri, command_path->data, command_path->len); grn_ctx_send(context, GRN_TEXT_VALUE(&uri), GRN_TEXT_LEN(&uri), GRN_NO_FLAGS); ngx_http_groonga_context_log_error(r->connection->log); GRN_OBJ_FIN(context, &uri); return NGX_OK; }
static void ngx_http_groonga_close_database_callback(ngx_http_groonga_loc_conf_t *location_conf, void *user_data) { ngx_http_groonga_database_callback_data_t *data = user_data; ngx_http_groonga_context_init_logger(location_conf, data->pool, data->log); ngx_http_groonga_context_init_query_logger(location_conf, data->pool, data->log); grn_cache_current_set(context, location_conf->cache); grn_obj_close(context, location_conf->database); ngx_http_groonga_context_log_error(data->log); grn_cache_current_set(context, NULL); grn_cache_close(context, location_conf->cache); }