1 /* -*- c-basic-offset: 2 -*- */ 2 /* 3 Copyright(C) 2015-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 as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA 18 */ 19 20 #pragma once 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif 25 26 /* Just for backward compatibility. Use grn_obj_is_true() instead. */ 27 #define GRN_OBJ_IS_TRUE(ctx, obj, result) do { \ 28 result = grn_obj_is_true(ctx, obj); \ 29 } while (0) 30 31 GRN_API grn_bool grn_obj_is_true(grn_ctx *ctx, grn_obj *obj); 32 33 GRN_API grn_bool grn_obj_is_builtin(grn_ctx *ctx, grn_obj *obj); 34 GRN_API grn_bool grn_obj_is_bulk(grn_ctx *ctx, grn_obj *obj); 35 GRN_API grn_bool grn_obj_is_text_family_bulk(grn_ctx *ctx, grn_obj *obj); 36 GRN_API grn_bool grn_obj_is_table(grn_ctx *ctx, grn_obj *obj); 37 GRN_API grn_bool grn_obj_is_column(grn_ctx *ctx, grn_obj *obj); 38 GRN_API grn_bool grn_obj_is_scalar_column(grn_ctx *ctx, grn_obj *obj); 39 GRN_API grn_bool grn_obj_is_vector_column(grn_ctx *ctx, grn_obj *obj); 40 GRN_API grn_bool grn_obj_is_weight_vector_column(grn_ctx *ctx, grn_obj *obj); 41 GRN_API grn_bool grn_obj_is_reference_column(grn_ctx *ctx, grn_obj *obj); 42 GRN_API grn_bool grn_obj_is_data_column(grn_ctx *ctx, grn_obj *obj); 43 GRN_API grn_bool grn_obj_is_index_column(grn_ctx *ctx, grn_obj *obj); 44 GRN_API grn_bool grn_obj_is_accessor(grn_ctx *ctx, grn_obj *obj); 45 GRN_API grn_bool grn_obj_is_key_accessor(grn_ctx *ctx, grn_obj *obj); 46 GRN_API grn_bool grn_obj_is_type(grn_ctx *ctx, grn_obj *obj); 47 GRN_API grn_bool grn_obj_is_text_family_type(grn_ctx *ctx, grn_obj *obj); 48 GRN_API grn_bool grn_obj_is_proc(grn_ctx *ctx, grn_obj *obj); 49 GRN_API grn_bool grn_obj_is_tokenizer_proc(grn_ctx *ctx, grn_obj *obj); 50 GRN_API grn_bool grn_obj_is_function_proc(grn_ctx *ctx, grn_obj *obj); 51 GRN_API grn_bool grn_obj_is_selector_proc(grn_ctx *ctx, grn_obj *obj); 52 GRN_API grn_bool grn_obj_is_selector_only_proc(grn_ctx *ctx, grn_obj *obj); 53 GRN_API grn_bool grn_obj_is_normalizer_proc(grn_ctx *ctx, grn_obj *obj); 54 GRN_API grn_bool grn_obj_is_token_filter_proc(grn_ctx *ctx, grn_obj *obj); 55 GRN_API grn_bool grn_obj_is_scorer_proc(grn_ctx *ctx, grn_obj *obj); 56 GRN_API grn_bool grn_obj_is_window_function_proc(grn_ctx *ctx, grn_obj *obj); 57 GRN_API grn_bool grn_obj_is_expr(grn_ctx *ctx, grn_obj *obj); 58 59 GRN_API grn_rc grn_obj_cast(grn_ctx *ctx, 60 grn_obj *src, 61 grn_obj *dest, 62 grn_bool add_record_if_not_exist); 63 64 GRN_API grn_rc grn_obj_reindex(grn_ctx *ctx, grn_obj *obj); 65 66 GRN_API void grn_obj_touch(grn_ctx *ctx, grn_obj *obj, grn_timeval *tv); 67 GRN_API uint32_t grn_obj_get_last_modified(grn_ctx *ctx, grn_obj *obj); 68 GRN_API grn_bool grn_obj_is_dirty(grn_ctx *ctx, grn_obj *obj); 69 70 GRN_API const char *grn_obj_type_to_string(uint8_t type); 71 72 GRN_API grn_bool grn_obj_name_is_column(grn_ctx *ctx, 73 const char *name, 74 int name_len); 75 76 GRN_API grn_bool grn_obj_is_corrupt(grn_ctx *ctx, grn_obj *obj); 77 GRN_API size_t grn_obj_get_disk_usage(grn_ctx *ctx, grn_obj *obj); 78 79 #ifdef __cplusplus 80 } 81 #endif 82