1 /* -*- c-basic-offset: 2 -*- */ 2 /* 3 Copyright(C) 2009-2017 Brazil 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License version 2.1 as published by the Free Software Foundation. 8 9 This library is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public 15 License along with this library; if not, write to the Free Software 16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA 17 */ 18 19 #pragma once 20 21 #include "grn.h" 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif 26 27 #define GRN_SELECT_DEFAULT_LIMIT 10 28 #define GRN_SELECT_DEFAULT_OUTPUT_COLUMNS "_id, _key, *" 29 30 #define GRN_SELECT_INTERNAL_VAR_CONDITION "$condition" 31 #define GRN_SELECT_INTERNAL_VAR_CONDITION_LEN \ 32 (sizeof(GRN_SELECT_INTERNAL_VAR_CONDITION) - 1) 33 34 void grn_proc_init_from_env(void); 35 36 GRN_VAR const char *grn_document_root; 37 void grn_db_init_builtin_commands(grn_ctx *ctx); 38 39 void grn_proc_init_clearlock(grn_ctx *ctx); 40 void grn_proc_init_column_copy(grn_ctx *ctx); 41 void grn_proc_init_column_create(grn_ctx *ctx); 42 void grn_proc_init_column_list(grn_ctx *ctx); 43 void grn_proc_init_column_remove(grn_ctx *ctx); 44 void grn_proc_init_column_rename(grn_ctx *ctx); 45 void grn_proc_init_config_get(grn_ctx *ctx); 46 void grn_proc_init_config_set(grn_ctx *ctx); 47 void grn_proc_init_config_delete(grn_ctx *ctx); 48 void grn_proc_init_define_selector(grn_ctx *ctx); 49 void grn_proc_init_dump(grn_ctx *ctx); 50 void grn_proc_init_edit_distance(grn_ctx *ctx); 51 void grn_proc_init_fuzzy_search(grn_ctx *ctx); 52 void grn_proc_init_highlight(grn_ctx *ctx); 53 void grn_proc_init_highlight_full(grn_ctx *ctx); 54 void grn_proc_init_highlight_html(grn_ctx *ctx); 55 void grn_proc_init_in_records(grn_ctx *ctx); 56 void grn_proc_init_lock_acquire(grn_ctx *ctx); 57 void grn_proc_init_lock_clear(grn_ctx *ctx); 58 void grn_proc_init_lock_release(grn_ctx *ctx); 59 void grn_proc_init_object_exist(grn_ctx *ctx); 60 void grn_proc_init_object_inspect(grn_ctx *ctx); 61 void grn_proc_init_object_list(grn_ctx *ctx); 62 void grn_proc_init_object_remove(grn_ctx *ctx); 63 void grn_proc_init_query_expand(grn_ctx *ctx); 64 void grn_proc_init_query_log_flags_get(grn_ctx *ctx); 65 void grn_proc_init_query_log_flags_set(grn_ctx *ctx); 66 void grn_proc_init_query_log_flags_add(grn_ctx *ctx); 67 void grn_proc_init_query_log_flags_remove(grn_ctx *ctx); 68 void grn_proc_init_schema(grn_ctx *ctx); 69 void grn_proc_init_select(grn_ctx *ctx); 70 void grn_proc_init_snippet(grn_ctx *ctx); 71 void grn_proc_init_snippet_html(grn_ctx *ctx); 72 void grn_proc_init_table_copy(grn_ctx *ctx); 73 void grn_proc_init_table_create(grn_ctx *ctx); 74 void grn_proc_init_table_list(grn_ctx *ctx); 75 void grn_proc_init_table_remove(grn_ctx *ctx); 76 void grn_proc_init_table_rename(grn_ctx *ctx); 77 void grn_proc_init_table_tokenize(grn_ctx *ctx); 78 void grn_proc_init_tokenize(grn_ctx *ctx); 79 80 grn_bool grn_proc_option_value_bool(grn_ctx *ctx, 81 grn_obj *option, 82 grn_bool default_value); 83 int32_t grn_proc_option_value_int32(grn_ctx *ctx, 84 grn_obj *option, 85 int32_t default_value); 86 const char *grn_proc_option_value_string(grn_ctx *ctx, 87 grn_obj *option, 88 size_t *size); 89 grn_content_type grn_proc_option_value_content_type(grn_ctx *ctx, 90 grn_obj *option, 91 grn_content_type default_value); 92 grn_operator grn_proc_option_value_mode(grn_ctx *ctx, 93 grn_obj *option, 94 grn_operator default_mode, 95 const char *context); 96 97 98 void grn_proc_output_object_name(grn_ctx *ctx, grn_obj *obj); 99 void grn_proc_output_object_id_name(grn_ctx *ctx, grn_id id); 100 101 grn_bool grn_proc_table_set_token_filters(grn_ctx *ctx, 102 grn_obj *table, 103 grn_obj *token_filter_names); 104 105 grn_column_flags grn_proc_column_parse_flags(grn_ctx *ctx, 106 const char *error_message_tag, 107 const char *text, 108 const char *end); 109 110 grn_bool grn_proc_select_output_columns_open(grn_ctx *ctx, 111 grn_obj_format *format, 112 grn_obj *result_set, 113 int n_hits, 114 int offset, 115 int limit, 116 const char *columns, 117 int columns_len, 118 grn_obj *condition, 119 uint32_t n_additional_elements); 120 grn_bool grn_proc_select_output_columns_close(grn_ctx *ctx, 121 grn_obj_format *format, 122 grn_obj *result_set); 123 grn_bool grn_proc_select_output_columns(grn_ctx *ctx, 124 grn_obj *res, 125 int n_hits, 126 int offset, 127 int limit, 128 const char *columns, 129 int columns_len, 130 grn_obj *condition); 131 132 grn_rc grn_proc_syntax_expand_query(grn_ctx *ctx, 133 const char *query, 134 unsigned int query_len, 135 grn_expr_flags flags, 136 const char *query_expander_name, 137 unsigned int query_expander_name_len, 138 const char *term_column_name, 139 unsigned int term_column_name_len, 140 const char *expanded_term_column_name, 141 unsigned int expanded_term_column_name_len, 142 grn_obj *expanded_query, 143 const char *error_message_tag); 144 145 grn_expr_flags grn_proc_expr_query_flags_parse(grn_ctx *ctx, 146 const char *query_flags, 147 size_t query_flags_size, 148 const char *error_message_tag); 149 150 #ifdef __cplusplus 151 } 152 #endif 153