1 /* -*- c-basic-offset: 2 -*- */ 2 /* 3 Copyright(C) 2015-2018 Brazil 4 Copyright(C) 2018-2021 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_weight_vector(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 59 60 //GRN_API 61 bool grn_obj_is_uvector(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 62 63 //GRN_API 64 bool grn_obj_is_weight_uvector(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 65 66 //GRN_API 67 bool grn_obj_is_db(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 68 69 //GRN_API 70 groonga_d.groonga.grn_bool grn_obj_is_table(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 71 72 //GRN_API 73 bool grn_obj_is_table_with_key(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 74 75 //GRN_API 76 bool grn_obj_is_table_with_value(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 77 78 //GRN_API 79 bool grn_obj_is_lexicon(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 80 81 //GRN_API 82 bool grn_obj_is_lexicon_without_data_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 83 84 //GRN_API 85 bool grn_obj_is_tiny_hash_table(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 86 87 //GRN_API 88 groonga_d.groonga.grn_bool grn_obj_is_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 89 90 //GRN_API 91 groonga_d.groonga.grn_bool grn_obj_is_scalar_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 92 93 //GRN_API 94 bool grn_obj_is_text_family_scalar_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 95 96 //GRN_API 97 bool grn_obj_is_number_family_scalar_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 98 99 //GRN_API 100 groonga_d.groonga.grn_bool grn_obj_is_vector_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 101 102 //GRN_API 103 groonga_d.groonga.grn_bool grn_obj_is_weight_vector_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 104 105 //GRN_API 106 bool grn_obj_is_reference_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 107 108 //GRN_API 109 groonga_d.groonga.grn_bool grn_obj_is_data_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_index_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 113 114 //GRN_API 115 groonga_d.groonga.grn_bool grn_obj_is_accessor(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_id_accessor(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_key_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 122 123 //GRN_API 124 bool grn_obj_is_value_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 125 126 //GRN_API 127 bool grn_obj_is_score_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 128 129 //GRN_API 130 bool grn_obj_is_referable_score_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 131 132 //GRN_API 133 bool grn_obj_is_nsubrecs_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 134 135 //GRN_API 136 bool grn_obj_is_max_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 137 138 //GRN_API 139 bool grn_obj_is_min_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 140 141 //GRN_API 142 bool grn_obj_is_sum_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 143 144 //GRN_API 145 bool grn_obj_is_avg_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 146 147 //GRN_API 148 bool grn_obj_is_mean_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 149 150 //GRN_API 151 bool grn_obj_is_column_value_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 152 153 //GRN_API 154 groonga_d.groonga.grn_bool grn_obj_is_type(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 155 156 //GRN_API 157 groonga_d.groonga.grn_bool grn_obj_is_text_family_type(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 158 159 //GRN_API 160 groonga_d.groonga.grn_bool grn_obj_is_proc(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_tokenizer_proc(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_function_proc(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_selector_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_selector_only_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_normalizer_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_token_filter_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_scorer_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_window_function_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 185 186 //GRN_API 187 bool grn_obj_is_aggregator_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_expr(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 191 192 //GRN_API 193 bool grn_obj_is_visible(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 194 195 //GRN_API 196 groonga_d.groonga.grn_rc grn_obj_set_visibility(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj, bool is_visible); 197 198 //GRN_API 199 bool grn_obj_have_source(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 200 201 //GRN_API 202 bool grn_obj_is_token_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 203 204 //GRN_API 205 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); 206 207 //GRN_API 208 groonga_d.groonga.grn_rc grn_obj_reindex(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 209 210 //GRN_API 211 void grn_obj_touch(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj, groonga_d.groonga.grn_timeval* tv); 212 213 //GRN_API 214 uint grn_obj_get_last_modified(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 215 216 //GRN_API 217 groonga_d.groonga.grn_bool grn_obj_is_dirty(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 218 219 //GRN_API 220 const (char)* grn_obj_set_flag_to_string(int flags); 221 222 //GRN_API 223 const (char)* grn_obj_type_to_string(ubyte type); 224 225 //GRN_API 226 groonga_d.groonga.grn_bool grn_obj_name_is_column(groonga_d.groonga.grn_ctx* ctx, const (char)* name, int name_len); 227 228 //GRN_API 229 groonga_d.groonga.grn_bool grn_obj_is_corrupt(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 230 231 //GRN_API 232 size_t grn_obj_get_disk_usage(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 233 234 //GRN_API 235 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); 236 237 //GRN_API 238 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); 239 240 //GRN_API 241 groonga_d.groonga.grn_rc grn_obj_clear_option_values(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj); 242 243 //GRN_API 244 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); 245 246 //GRN_API 247 groonga_d.groonga.grn_rc grn_obj_warm(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);