1 /*
2   Copyright(C) 2020  Sutou Kouhei <kou@clear-code.com>
3 
4   This library is free software; you can redistribute it and/or
5   modify it under the terms of the GNU Lesser General Public
6   License version 2.1 as published by the Free Software Foundation.
7 
8   This library is distributed in the hope that it will be useful,
9   but WITHOUT ANY WARRANTY; without even the implied warranty of
10   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11   Lesser General Public License for more details.
12 
13   You should have received a copy of the GNU Lesser General Public
14   License along with this library; if not, write to the Free Software
15   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
16 */
17 module groonga_d.aggregator;
18 
19 
20 private static import groonga_d.groonga;
21 
22 extern(C):
23 nothrow @nogc:
24 
25 struct _grn_aggregator_data;
26 alias grn_aggregator_data = _grn_aggregator_data;
27 alias grn_aggregator_init_func = void* function(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
28 alias grn_aggregator_update_func = groonga_d.groonga.grn_rc function(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
29 alias grn_aggregator_fin_func = groonga_d.groonga.grn_rc function(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
30 
31 //GRN_API
32 groonga_d.groonga.grn_id grn_aggregator_data_get_group_id(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
33 
34 //GRN_API
35 groonga_d.groonga.grn_id grn_aggregator_data_get_source_id(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
36 
37 //GRN_API
38 groonga_d.groonga.grn_obj* grn_aggregator_data_get_group_table(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
39 
40 //GRN_API
41 groonga_d.groonga.grn_obj* grn_aggregator_data_get_source_table(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
42 
43 //GRN_API
44 groonga_d.groonga.grn_obj* grn_aggregator_data_get_output_column(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
45 
46 //GRN_API
47 groonga_d.groonga.grn_obj* grn_aggregator_data_get_aggregator(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
48 
49 //GRN_API
50 groonga_d.groonga.grn_obj* grn_aggregator_data_get_args(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
51 
52 //GRN_API
53 void* grn_aggregator_data_get_user_data(groonga_d.groonga.grn_ctx* ctx, grn_aggregator_data* data);
54 
55 //GRN_API
56 groonga_d.groonga.grn_obj* grn_aggregator_create(groonga_d.groonga.grn_ctx* ctx, const (char)* name, int name_size, grn_aggregator_init_func* init, grn_aggregator_update_func* update, grn_aggregator_fin_func* fin);