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);