1 /* -*- c-basic-offset: 2 -*- */ 2 /* 3 Copyright(C) 2015-2018 Brazil 4 Copyright(C) 2018-2022 Sutou Kouhei <kou@clear-code.com> 5 6 This library is free software; you can redistribute it and/or 7 modify it under the terms of the GNU Lesser General Public 8 License as published by the Free Software Foundation; either 9 version 2.1 of the License, or (at your option) any later version. 10 11 This library is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 Lesser General Public License for more details. 15 16 You should have received a copy of the GNU Lesser General Public 17 License along with this library; if not, write to the Free Software 18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 */ 20 module groonga_d.obj; 21 22 23 private static import groonga_d.groonga; 24 private static import groonga_d.option; 25 26 extern(C): 27 nothrow @nogc: 28 29 /+ 30 #include <groonga/option.h> 31 32 /* Just for backward compatibility. Use grn_obj_is_true() instead. */ 33 #define GRN_OBJ_IS_TRUE(ctx, obj, result) result = grn_obj_is_true(ctx, obj); 34 +/ 35 36 //GRN_API 37 bool grn_obj_is_true(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 38 39 //GRN_API 40 bool grn_obj_is_temporary(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 41 42 //GRN_API 43 groonga_d.groonga.grn_bool grn_obj_is_builtin(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 44 45 //GRN_API 46 groonga_d.groonga.grn_bool grn_obj_is_bulk(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 47 48 //GRN_API 49 groonga_d.groonga.grn_bool grn_obj_is_text_family_bulk(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 50 51 //GRN_API 52 groonga_d.groonga.grn_bool grn_obj_is_number_family_bulk(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 53 54 //GRN_API 55 bool grn_obj_is_vector(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 56 57 //GRN_API 58 bool grn_obj_is_text_family_vector(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 59 60 //GRN_API 61 bool grn_obj_is_weight_vector(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 62 63 //GRN_API 64 bool grn_obj_is_uvector(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 65 66 //GRN_API 67 bool grn_obj_is_weight_uvector(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 68 69 //GRN_API 70 bool grn_obj_is_db(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 71 72 //GRN_API 73 groonga_d.groonga.grn_bool grn_obj_is_table(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 74 75 //GRN_API 76 bool grn_obj_is_table_with_key(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 77 78 //GRN_API 79 bool grn_obj_is_table_with_value(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 80 81 //GRN_API 82 bool grn_obj_is_lexicon(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 83 84 //GRN_API 85 bool grn_obj_is_lexicon_without_data_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 86 87 //GRN_API 88 bool grn_obj_is_tiny_hash_table(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 89 90 //GRN_API 91 bool grn_obj_is_result_set(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 92 93 //GRN_API 94 groonga_d.groonga.grn_bool grn_obj_is_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 95 96 //GRN_API 97 groonga_d.groonga.grn_bool grn_obj_is_scalar_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 98 99 //GRN_API 100 bool grn_obj_is_text_family_scalar_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 101 102 //GRN_API 103 bool grn_obj_is_number_family_scalar_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 104 105 //GRN_API 106 groonga_d.groonga.grn_bool grn_obj_is_vector_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 107 108 //GRN_API 109 bool grn_obj_is_text_family_vector_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 110 111 //GRN_API 112 groonga_d.groonga.grn_bool grn_obj_is_weight_vector_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 113 114 //GRN_API 115 bool grn_obj_is_reference_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 116 117 //GRN_API 118 groonga_d.groonga.grn_bool grn_obj_is_data_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 119 120 //GRN_API 121 groonga_d.groonga.grn_bool grn_obj_is_index_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 122 123 //GRN_API 124 groonga_d.groonga.grn_bool grn_obj_is_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 125 126 //GRN_API 127 groonga_d.groonga.grn_bool grn_obj_is_id_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 128 129 //GRN_API 130 groonga_d.groonga.grn_bool grn_obj_is_key_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 131 132 //GRN_API 133 bool grn_obj_is_value_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 134 135 //GRN_API 136 bool grn_obj_is_score_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 137 138 //GRN_API 139 bool grn_obj_is_referable_score_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 140 141 //GRN_API 142 bool grn_obj_is_nsubrecs_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 143 144 //GRN_API 145 bool grn_obj_is_max_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 146 147 //GRN_API 148 bool grn_obj_is_min_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 149 150 //GRN_API 151 bool grn_obj_is_sum_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 152 153 //GRN_API 154 bool grn_obj_is_avg_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 155 156 //GRN_API 157 bool grn_obj_is_mean_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 158 159 //GRN_API 160 bool grn_obj_is_column_value_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 161 162 //GRN_API 163 groonga_d.groonga.grn_bool grn_obj_is_type(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 164 165 //GRN_API 166 groonga_d.groonga.grn_bool grn_obj_is_text_family_type(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 167 168 //GRN_API 169 groonga_d.groonga.grn_bool grn_obj_is_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 170 171 //GRN_API 172 groonga_d.groonga.grn_bool grn_obj_is_tokenizer_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 173 174 //GRN_API 175 groonga_d.groonga.grn_bool grn_obj_is_function_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 176 177 //GRN_API 178 groonga_d.groonga.grn_bool grn_obj_is_selector_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 179 180 //GRN_API 181 groonga_d.groonga.grn_bool grn_obj_is_selector_only_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 182 183 //GRN_API 184 groonga_d.groonga.grn_bool grn_obj_is_normalizer_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 185 186 //GRN_API 187 groonga_d.groonga.grn_bool grn_obj_is_token_filter_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 188 189 //GRN_API 190 groonga_d.groonga.grn_bool grn_obj_is_scorer_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 191 192 //GRN_API 193 groonga_d.groonga.grn_bool grn_obj_is_window_function_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 194 195 //GRN_API 196 bool grn_obj_is_aggregator_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 197 198 //GRN_API 199 groonga_d.groonga.grn_bool grn_obj_is_expr(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 200 201 //GRN_API 202 bool grn_obj_is_visible(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 203 204 //GRN_API 205 groonga_d.groonga.grn_rc grn_obj_set_visibility(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj, bool is_visible); 206 207 //GRN_API 208 bool grn_obj_have_source(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 209 210 //GRN_API 211 bool grn_obj_is_token_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 212 213 //GRN_API 214 groonga_d.groonga.grn_rc grn_obj_cast(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* src, groonga_d.groonga.grn_obj* dest, groonga_d.groonga.grn_bool add_record_if_not_exist); 215 216 //GRN_API 217 groonga_d.groonga.grn_rc grn_obj_reindex(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 218 219 //GRN_API 220 void grn_obj_touch(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj, groonga_d.groonga.grn_timeval* tv); 221 222 //GRN_API 223 uint grn_obj_get_last_modified(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 224 225 //GRN_API 226 groonga_d.groonga.grn_bool grn_obj_is_dirty(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 227 228 //GRN_API 229 const (char)* grn_obj_set_flag_to_string(int flags); 230 231 //GRN_API 232 const (char)* grn_obj_type_to_string(ubyte type); 233 234 //GRN_API 235 groonga_d.groonga.grn_bool grn_obj_name_is_column(groonga_d.groonga.grn_ctx* ctx, const (char)* name, int name_len); 236 237 //GRN_API 238 groonga_d.groonga.grn_bool grn_obj_is_corrupt(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 239 240 //GRN_API 241 size_t grn_obj_get_disk_usage(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 242 243 //GRN_API 244 groonga_d.groonga.grn_rc grn_obj_set_option_values(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj, const (char)* name, int name_length, groonga_d.groonga.grn_obj* values); 245 246 //GRN_API 247 groonga_d.option.grn_option_revision grn_obj_get_option_values(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj, const (char)* name, int name_length, groonga_d.option.grn_option_revision revision, groonga_d.groonga.grn_obj* values); 248 249 //GRN_API 250 groonga_d.groonga.grn_rc grn_obj_clear_option_values(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 251 252 //GRN_API 253 groonga_d.groonga.grn_rc grn_obj_to_script_syntax(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj, groonga_d.groonga.grn_obj* buffer); 254 255 //GRN_API 256 groonga_d.groonga.grn_rc grn_obj_warm(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);