1 /* -*- c-basic-offset: 2 -*- */
2 /*
3   Copyright(C) 2015-2018 Brazil
4   Copyright(C) 2018-2019 Kouhei Sutou <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 
25 extern(C):
26 nothrow @nogc:
27 
28 /+
29 #include <groonga/option.h>
30 
31 /* Just for backward compatibility. Use grn_obj_is_true() instead. */
32 #define GRN_OBJ_IS_TRUE(ctx, obj, result) result = grn_obj_is_true(ctx, obj);
33 +/
34 
35 //GRN_API
36 ubyte grn_obj_is_true(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
37 
38 //GRN_API
39 ubyte grn_obj_is_builtin(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
40 
41 //GRN_API
42 ubyte grn_obj_is_bulk(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
43 
44 //GRN_API
45 ubyte grn_obj_is_text_family_bulk(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
46 
47 //GRN_API
48 ubyte grn_obj_is_number_family_bulk(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
49 
50 //GRN_API
51 ubyte grn_obj_is_vector(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
52 
53 //GRN_API
54 ubyte grn_obj_is_table(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
55 
56 //GRN_API
57 ubyte grn_obj_is_lexicon(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
58 
59 //GRN_API
60 ubyte grn_obj_is_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
61 
62 //GRN_API
63 ubyte grn_obj_is_scalar_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
64 
65 //GRN_API
66 ubyte grn_obj_is_vector_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
67 
68 //GRN_API
69 ubyte grn_obj_is_weight_vector_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
70 
71 //GRN_API
72 ubyte grn_obj_is_reference_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
73 
74 //GRN_API
75 ubyte grn_obj_is_data_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
76 
77 //GRN_API
78 ubyte grn_obj_is_index_column(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
79 
80 //GRN_API
81 ubyte grn_obj_is_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
82 
83 //GRN_API
84 groonga_d.groonga.grn_bool grn_obj_is_id_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_ctx* obj);
85 
86 //GRN_API
87 ubyte grn_obj_is_key_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
88 
89 //GRN_API
90 bool grn_obj_is_value_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_ctx* obj);
91 
92 //GRN_API
93 bool grn_obj_is_score_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_ctx* obj);
94 
95 //GRN_API
96 bool grn_obj_is_nsubrecs_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_ctx* obj);
97 
98 //GRN_API
99 bool grn_obj_is_max_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_ctx* obj);
100 
101 //GRN_API
102 bool grn_obj_is_min_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_ctx* obj);
103 
104 //GRN_API
105 bool grn_obj_is_sum_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_ctx* obj);
106 
107 //GRN_API
108 bool grn_obj_is_avg_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_ctx* obj);
109 
110 //GRN_API
111 bool grn_obj_is_column_value_accessor(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_ctx* obj);
112 
113 //GRN_API
114 ubyte grn_obj_is_type(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
115 
116 //GRN_API
117 ubyte grn_obj_is_text_family_type(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
118 
119 //GRN_API
120 ubyte grn_obj_is_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
121 
122 //GRN_API
123 ubyte grn_obj_is_tokenizer_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
124 
125 //GRN_API
126 ubyte grn_obj_is_function_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
127 
128 //GRN_API
129 ubyte grn_obj_is_selector_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
130 
131 //GRN_API
132 ubyte grn_obj_is_selector_only_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
133 
134 //GRN_API
135 ubyte grn_obj_is_normalizer_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
136 
137 //GRN_API
138 ubyte grn_obj_is_token_filter_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
139 
140 //GRN_API
141 ubyte grn_obj_is_scorer_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
142 
143 //GRN_API
144 ubyte grn_obj_is_window_function_proc(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
145 
146 //GRN_API
147 ubyte grn_obj_is_expr(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
148 
149 //GRN_API
150 bool grn_obj_is_visible(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
151 
152 //GRN_API
153 groonga_d.groonga.grn_rc grn_obj_set_visibility(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj, bool is_visible);
154 
155 //GRN_API
156 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, ubyte add_record_if_not_exist);
157 
158 //GRN_API
159 groonga_d.groonga.grn_rc grn_obj_reindex(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
160 
161 //GRN_API
162 void grn_obj_touch(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj, groonga_d.groonga.grn_timeval* tv);
163 
164 //GRN_API
165 uint grn_obj_get_last_modified(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
166 
167 //GRN_API
168 ubyte grn_obj_is_dirty(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
169 
170 //GRN_API
171 const (char)* grn_obj_type_to_string(ubyte type);
172 
173 //GRN_API
174 ubyte grn_obj_name_is_column(groonga_d.groonga.grn_ctx* ctx, const (char)* name, int name_len);
175 
176 //GRN_API
177 ubyte grn_obj_is_corrupt(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
178 
179 //GRN_API
180 size_t grn_obj_get_disk_usage(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);
181 
182 //GRN_API
183 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);
184 
185 //GRN_API
186 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);
187 
188 //GRN_API
189 groonga_d.groonga.grn_rc grn_obj_clear_option_values(groonga_d.groonga.grn_ctx* ctx, groonga_d.groonga.grn_obj* obj);