]> git.proxmox.com Git - ceph.git/blame - ceph/src/arrow/c_glib/arrow-glib/array-builder.h
import quincy 17.2.0
[ceph.git] / ceph / src / arrow / c_glib / arrow-glib / array-builder.h
CommitLineData
1d09f67e
TL
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 * KIND, either express or implied. See the License for the
16 * specific language governing permissions and limitations
17 * under the License.
18 */
19
20#pragma once
21
22#include <arrow-glib/array.h>
23#include <arrow-glib/decimal.h>
24
25G_BEGIN_DECLS
26
27#define GARROW_TYPE_ARRAY_BUILDER (garrow_array_builder_get_type())
28G_DECLARE_DERIVABLE_TYPE(GArrowArrayBuilder,
29 garrow_array_builder,
30 GARROW,
31 ARRAY_BUILDER,
32 GObject)
33struct _GArrowArrayBuilderClass
34{
35 GObjectClass parent_class;
36};
37
38void garrow_array_builder_release_ownership(GArrowArrayBuilder *builder);
39
40GArrowDataType *
41garrow_array_builder_get_value_data_type(GArrowArrayBuilder *builder);
42GArrowType garrow_array_builder_get_value_type(GArrowArrayBuilder *builder);
43
44GArrowArray *garrow_array_builder_finish(GArrowArrayBuilder *builder,
45 GError **error);
46
47GARROW_AVAILABLE_IN_2_0
48void garrow_array_builder_reset(GArrowArrayBuilder *builder);
49
50GARROW_AVAILABLE_IN_2_0
51gint64 garrow_array_builder_get_capacity(GArrowArrayBuilder *builder);
52GARROW_AVAILABLE_IN_2_0
53gint64 garrow_array_builder_get_length(GArrowArrayBuilder *builder);
54GARROW_AVAILABLE_IN_2_0
55gint64 garrow_array_builder_get_n_nulls(GArrowArrayBuilder *builder);
56
57GARROW_AVAILABLE_IN_2_0
58gboolean garrow_array_builder_resize(GArrowArrayBuilder *builder,
59 gint64 capacity,
60 GError **error);
61GARROW_AVAILABLE_IN_2_0
62gboolean garrow_array_builder_reserve(GArrowArrayBuilder *builder,
63 gint64 additional_capacity,
64 GError **error);
65
66GARROW_AVAILABLE_IN_3_0
67gboolean garrow_array_builder_append_null(GArrowArrayBuilder *builder,
68 GError **error);
69GARROW_AVAILABLE_IN_3_0
70gboolean garrow_array_builder_append_nulls(GArrowArrayBuilder *builder,
71 gint64 n,
72 GError **error);
73GARROW_AVAILABLE_IN_3_0
74gboolean garrow_array_builder_append_empty_value(GArrowArrayBuilder *builder,
75 GError **error);
76GARROW_AVAILABLE_IN_3_0
77gboolean garrow_array_builder_append_empty_values(GArrowArrayBuilder *builder,
78 gint64 n,
79 GError **error);
80
81#define GARROW_TYPE_NULL_ARRAY_BUILDER (garrow_null_array_builder_get_type())
82G_DECLARE_DERIVABLE_TYPE(GArrowNullArrayBuilder,
83 garrow_null_array_builder,
84 GARROW,
85 NULL_ARRAY_BUILDER,
86 GArrowArrayBuilder)
87struct _GArrowNullArrayBuilderClass
88{
89 GArrowArrayBuilderClass parent_class;
90};
91
92GARROW_AVAILABLE_IN_0_13
93GArrowNullArrayBuilder *garrow_null_array_builder_new(void);
94
95#ifndef GARROW_DISABLE_DEPRECATED
96GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
97GARROW_AVAILABLE_IN_0_13
98gboolean garrow_null_array_builder_append_null(GArrowNullArrayBuilder *builder,
99 GError **error);
100GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
101GARROW_AVAILABLE_IN_0_13
102gboolean garrow_null_array_builder_append_nulls(GArrowNullArrayBuilder *builder,
103 gint64 n,
104 GError **error);
105#endif
106
107
108#define GARROW_TYPE_BOOLEAN_ARRAY_BUILDER \
109 (garrow_boolean_array_builder_get_type())
110G_DECLARE_DERIVABLE_TYPE(GArrowBooleanArrayBuilder,
111 garrow_boolean_array_builder,
112 GARROW,
113 BOOLEAN_ARRAY_BUILDER,
114 GArrowArrayBuilder)
115struct _GArrowBooleanArrayBuilderClass
116{
117 GArrowArrayBuilderClass parent_class;
118};
119
120GArrowBooleanArrayBuilder *garrow_boolean_array_builder_new(void);
121
122#ifndef GARROW_DISABLE_DEPRECATED
123GARROW_DEPRECATED_IN_0_12_FOR(garrow_boolean_array_builder_append_value)
124gboolean garrow_boolean_array_builder_append(GArrowBooleanArrayBuilder *builder,
125 gboolean value,
126 GError **error);
127#endif
128GARROW_AVAILABLE_IN_0_12
129gboolean garrow_boolean_array_builder_append_value(GArrowBooleanArrayBuilder *builder,
130 gboolean value,
131 GError **error);
132gboolean garrow_boolean_array_builder_append_values(GArrowBooleanArrayBuilder *builder,
133 const gboolean *values,
134 gint64 values_length,
135 const gboolean *is_valids,
136 gint64 is_valids_length,
137 GError **error);
138#ifndef GARROW_DISABLE_DEPRECATED
139GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
140gboolean garrow_boolean_array_builder_append_null(GArrowBooleanArrayBuilder *builder,
141 GError **error);
142GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
143gboolean garrow_boolean_array_builder_append_nulls(GArrowBooleanArrayBuilder *builder,
144 gint64 n,
145 GError **error);
146#endif
147
148
149#define GARROW_TYPE_INT_ARRAY_BUILDER (garrow_int_array_builder_get_type())
150G_DECLARE_DERIVABLE_TYPE(GArrowIntArrayBuilder,
151 garrow_int_array_builder,
152 GARROW,
153 INT_ARRAY_BUILDER,
154 GArrowArrayBuilder)
155struct _GArrowIntArrayBuilderClass
156{
157 GArrowArrayBuilderClass parent_class;
158};
159
160GArrowIntArrayBuilder *garrow_int_array_builder_new(void);
161
162#ifndef GARROW_DISABLE_DEPRECATED
163GARROW_DEPRECATED_IN_0_12_FOR(garrow_int_array_builder_append_value)
164gboolean garrow_int_array_builder_append(GArrowIntArrayBuilder *builder,
165 gint64 value,
166 GError **error);
167#endif
168GARROW_AVAILABLE_IN_0_12
169gboolean garrow_int_array_builder_append_value(GArrowIntArrayBuilder *builder,
170 gint64 value,
171 GError **error);
172gboolean garrow_int_array_builder_append_values(GArrowIntArrayBuilder *builder,
173 const gint64 *values,
174 gint64 values_length,
175 const gboolean *is_valids,
176 gint64 is_valids_length,
177 GError **error);
178#ifndef GARROW_DISABLE_DEPRECATED
179GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
180gboolean garrow_int_array_builder_append_null(GArrowIntArrayBuilder *builder,
181 GError **error);
182GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
183gboolean garrow_int_array_builder_append_nulls(GArrowIntArrayBuilder *builder,
184 gint64 n,
185 GError **error);
186#endif
187
188
189#define GARROW_TYPE_UINT_ARRAY_BUILDER (garrow_uint_array_builder_get_type())
190G_DECLARE_DERIVABLE_TYPE(GArrowUIntArrayBuilder,
191 garrow_uint_array_builder,
192 GARROW,
193 UINT_ARRAY_BUILDER,
194 GArrowArrayBuilder)
195struct _GArrowUIntArrayBuilderClass
196{
197 GArrowArrayBuilderClass parent_class;
198};
199
200GArrowUIntArrayBuilder *garrow_uint_array_builder_new(void);
201
202#ifndef GARROW_DISABLE_DEPRECATED
203GARROW_DEPRECATED_IN_0_12_FOR(garrow_uint_array_builder_append_value)
204gboolean garrow_uint_array_builder_append(GArrowUIntArrayBuilder *builder,
205 guint64 value,
206 GError **error);
207#endif
208GARROW_AVAILABLE_IN_0_12
209gboolean garrow_uint_array_builder_append_value(GArrowUIntArrayBuilder *builder,
210 guint64 value,
211 GError **error);
212gboolean garrow_uint_array_builder_append_values(GArrowUIntArrayBuilder *builder,
213 const guint64 *values,
214 gint64 values_length,
215 const gboolean *is_valids,
216 gint64 is_valids_length,
217 GError **error);
218#ifndef GARROW_DISABLE_DEPRECATED
219GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
220gboolean garrow_uint_array_builder_append_null(GArrowUIntArrayBuilder *builder,
221 GError **error);
222GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
223gboolean garrow_uint_array_builder_append_nulls(GArrowUIntArrayBuilder *builder,
224 gint64 n,
225 GError **error);
226#endif
227
228
229#define GARROW_TYPE_INT8_ARRAY_BUILDER (garrow_int8_array_builder_get_type())
230G_DECLARE_DERIVABLE_TYPE(GArrowInt8ArrayBuilder,
231 garrow_int8_array_builder,
232 GARROW,
233 INT8_ARRAY_BUILDER,
234 GArrowArrayBuilder)
235struct _GArrowInt8ArrayBuilderClass
236{
237 GArrowArrayBuilderClass parent_class;
238};
239
240GArrowInt8ArrayBuilder *garrow_int8_array_builder_new(void);
241
242#ifndef GARROW_DISABLE_DEPRECATED
243GARROW_DEPRECATED_IN_0_12_FOR(garrow_int8_array_builder_append_value)
244gboolean garrow_int8_array_builder_append(GArrowInt8ArrayBuilder *builder,
245 gint8 value,
246 GError **error);
247#endif
248GARROW_AVAILABLE_IN_0_12
249gboolean garrow_int8_array_builder_append_value(GArrowInt8ArrayBuilder *builder,
250 gint8 value,
251 GError **error);
252gboolean garrow_int8_array_builder_append_values(GArrowInt8ArrayBuilder *builder,
253 const gint8 *values,
254 gint64 values_length,
255 const gboolean *is_valids,
256 gint64 is_valids_length,
257 GError **error);
258#ifndef GARROW_DISABLE_DEPRECATED
259GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
260gboolean garrow_int8_array_builder_append_null(GArrowInt8ArrayBuilder *builder,
261 GError **error);
262GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
263gboolean garrow_int8_array_builder_append_nulls(GArrowInt8ArrayBuilder *builder,
264 gint64 n,
265 GError **error);
266#endif
267
268
269#define GARROW_TYPE_UINT8_ARRAY_BUILDER (garrow_uint8_array_builder_get_type())
270G_DECLARE_DERIVABLE_TYPE(GArrowUInt8ArrayBuilder,
271 garrow_uint8_array_builder,
272 GARROW,
273 UINT8_ARRAY_BUILDER,
274 GArrowArrayBuilder)
275struct _GArrowUInt8ArrayBuilderClass
276{
277 GArrowArrayBuilderClass parent_class;
278};
279
280GArrowUInt8ArrayBuilder *garrow_uint8_array_builder_new(void);
281
282#ifndef GARROW_DISABLE_DEPRECATED
283GARROW_DEPRECATED_IN_0_12_FOR(garrow_uint8_array_builder_append_value)
284gboolean garrow_uint8_array_builder_append(GArrowUInt8ArrayBuilder *builder,
285 guint8 value,
286 GError **error);
287#endif
288GARROW_AVAILABLE_IN_0_12
289gboolean garrow_uint8_array_builder_append_value(GArrowUInt8ArrayBuilder *builder,
290 guint8 value,
291 GError **error);
292gboolean garrow_uint8_array_builder_append_values(GArrowUInt8ArrayBuilder *builder,
293 const guint8 *values,
294 gint64 values_length,
295 const gboolean *is_valids,
296 gint64 is_valids_length,
297 GError **error);
298#ifndef GARROW_DISABLE_DEPRECATED
299GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
300gboolean garrow_uint8_array_builder_append_null(GArrowUInt8ArrayBuilder *builder,
301 GError **error);
302GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
303gboolean garrow_uint8_array_builder_append_nulls(GArrowUInt8ArrayBuilder *builder,
304 gint64 n,
305 GError **error);
306#endif
307
308
309#define GARROW_TYPE_INT16_ARRAY_BUILDER (garrow_int16_array_builder_get_type())
310G_DECLARE_DERIVABLE_TYPE(GArrowInt16ArrayBuilder,
311 garrow_int16_array_builder,
312 GARROW,
313 INT16_ARRAY_BUILDER,
314 GArrowArrayBuilder)
315struct _GArrowInt16ArrayBuilderClass
316{
317 GArrowArrayBuilderClass parent_class;
318};
319
320GArrowInt16ArrayBuilder *garrow_int16_array_builder_new(void);
321
322#ifndef GARROW_DISABLE_DEPRECATED
323GARROW_DEPRECATED_IN_0_12_FOR(garrow_int16_array_builder_append_value)
324gboolean garrow_int16_array_builder_append(GArrowInt16ArrayBuilder *builder,
325 gint16 value,
326 GError **error);
327#endif
328GARROW_AVAILABLE_IN_0_12
329gboolean garrow_int16_array_builder_append_value(GArrowInt16ArrayBuilder *builder,
330 gint16 value,
331 GError **error);
332gboolean garrow_int16_array_builder_append_values(GArrowInt16ArrayBuilder *builder,
333 const gint16 *values,
334 gint64 values_length,
335 const gboolean *is_valids,
336 gint64 is_valids_length,
337 GError **error);
338#ifndef GARROW_DISABLE_DEPRECATED
339GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
340gboolean garrow_int16_array_builder_append_null(GArrowInt16ArrayBuilder *builder,
341 GError **error);
342GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
343gboolean garrow_int16_array_builder_append_nulls(GArrowInt16ArrayBuilder *builder,
344 gint64 n,
345 GError **error);
346#endif
347
348
349#define GARROW_TYPE_UINT16_ARRAY_BUILDER \
350 (garrow_uint16_array_builder_get_type())
351G_DECLARE_DERIVABLE_TYPE(GArrowUInt16ArrayBuilder,
352 garrow_uint16_array_builder,
353 GARROW,
354 UINT16_ARRAY_BUILDER,
355 GArrowArrayBuilder)
356struct _GArrowUInt16ArrayBuilderClass
357{
358 GArrowArrayBuilderClass parent_class;
359};
360
361GArrowUInt16ArrayBuilder *garrow_uint16_array_builder_new(void);
362
363#ifndef GARROW_DISABLE_DEPRECATED
364GARROW_DEPRECATED_IN_0_12_FOR(garrow_uint16_array_builder_append_value)
365gboolean garrow_uint16_array_builder_append(GArrowUInt16ArrayBuilder *builder,
366 guint16 value,
367 GError **error);
368#endif
369GARROW_AVAILABLE_IN_0_12
370gboolean garrow_uint16_array_builder_append_value(GArrowUInt16ArrayBuilder *builder,
371 guint16 value,
372 GError **error);
373gboolean garrow_uint16_array_builder_append_values(GArrowUInt16ArrayBuilder *builder,
374 const guint16 *values,
375 gint64 values_length,
376 const gboolean *is_valids,
377 gint64 is_valids_length,
378 GError **error);
379#ifndef GARROW_DISABLE_DEPRECATED
380GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
381gboolean garrow_uint16_array_builder_append_null(GArrowUInt16ArrayBuilder *builder,
382 GError **error);
383GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
384gboolean garrow_uint16_array_builder_append_nulls(GArrowUInt16ArrayBuilder *builder,
385 gint64 n,
386 GError **error);
387#endif
388
389
390#define GARROW_TYPE_INT32_ARRAY_BUILDER (garrow_int32_array_builder_get_type())
391G_DECLARE_DERIVABLE_TYPE(GArrowInt32ArrayBuilder,
392 garrow_int32_array_builder,
393 GARROW,
394 INT32_ARRAY_BUILDER,
395 GArrowArrayBuilder)
396struct _GArrowInt32ArrayBuilderClass
397{
398 GArrowArrayBuilderClass parent_class;
399};
400
401GArrowInt32ArrayBuilder *garrow_int32_array_builder_new(void);
402
403#ifndef GARROW_DISABLE_DEPRECATED
404GARROW_DEPRECATED_IN_0_12_FOR(garrow_int32_array_builder_append_value)
405gboolean garrow_int32_array_builder_append(GArrowInt32ArrayBuilder *builder,
406 gint32 value,
407 GError **error);
408#endif
409GARROW_AVAILABLE_IN_0_12
410gboolean garrow_int32_array_builder_append_value(GArrowInt32ArrayBuilder *builder,
411 gint32 value,
412 GError **error);
413gboolean garrow_int32_array_builder_append_values(GArrowInt32ArrayBuilder *builder,
414 const gint32 *values,
415 gint64 values_length,
416 const gboolean *is_valids,
417 gint64 is_valids_length,
418 GError **error);
419#ifndef GARROW_DISABLE_DEPRECATED
420GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
421gboolean garrow_int32_array_builder_append_null(GArrowInt32ArrayBuilder *builder,
422 GError **error);
423GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
424gboolean garrow_int32_array_builder_append_nulls(GArrowInt32ArrayBuilder *builder,
425 gint64 n,
426 GError **error);
427#endif
428
429
430#define GARROW_TYPE_UINT32_ARRAY_BUILDER \
431 (garrow_uint32_array_builder_get_type())
432G_DECLARE_DERIVABLE_TYPE(GArrowUInt32ArrayBuilder,
433 garrow_uint32_array_builder,
434 GARROW,
435 UINT32_ARRAY_BUILDER,
436 GArrowArrayBuilder)
437struct _GArrowUInt32ArrayBuilderClass
438{
439 GArrowArrayBuilderClass parent_class;
440};
441
442GArrowUInt32ArrayBuilder *garrow_uint32_array_builder_new(void);
443
444#ifndef GARROW_DISABLE_DEPRECATED
445GARROW_DEPRECATED_IN_0_12_FOR(garrow_uint32_array_builder_append_value)
446gboolean garrow_uint32_array_builder_append(GArrowUInt32ArrayBuilder *builder,
447 guint32 value,
448 GError **error);
449#endif
450GARROW_AVAILABLE_IN_0_12
451gboolean garrow_uint32_array_builder_append_value(GArrowUInt32ArrayBuilder *builder,
452 guint32 value,
453 GError **error);
454gboolean garrow_uint32_array_builder_append_values(GArrowUInt32ArrayBuilder *builder,
455 const guint32 *values,
456 gint64 values_length,
457 const gboolean *is_valids,
458 gint64 is_valids_length,
459 GError **error);
460#ifndef GARROW_DISABLE_DEPRECATED
461GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
462gboolean garrow_uint32_array_builder_append_null(GArrowUInt32ArrayBuilder *builder,
463 GError **error);
464GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
465gboolean garrow_uint32_array_builder_append_nulls(GArrowUInt32ArrayBuilder *builder,
466 gint64 n,
467 GError **error);
468#endif
469
470
471#define GARROW_TYPE_INT64_ARRAY_BUILDER (garrow_int64_array_builder_get_type())
472G_DECLARE_DERIVABLE_TYPE(GArrowInt64ArrayBuilder,
473 garrow_int64_array_builder,
474 GARROW,
475 INT64_ARRAY_BUILDER,
476 GArrowArrayBuilder)
477struct _GArrowInt64ArrayBuilderClass
478{
479 GArrowArrayBuilderClass parent_class;
480};
481
482GArrowInt64ArrayBuilder *garrow_int64_array_builder_new(void);
483
484#ifndef GARROW_DISABLE_DEPRECATED
485GARROW_DEPRECATED_IN_0_12_FOR(garrow_int64_array_builder_append_value)
486gboolean garrow_int64_array_builder_append(GArrowInt64ArrayBuilder *builder,
487 gint64 value,
488 GError **error);
489#endif
490GARROW_AVAILABLE_IN_0_12
491gboolean garrow_int64_array_builder_append_value(GArrowInt64ArrayBuilder *builder,
492 gint64 value,
493 GError **error);
494gboolean garrow_int64_array_builder_append_values(GArrowInt64ArrayBuilder *builder,
495 const gint64 *values,
496 gint64 values_length,
497 const gboolean *is_valids,
498 gint64 is_valids_length,
499 GError **error);
500#ifndef GARROW_DISABLE_DEPRECATED
501GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
502gboolean garrow_int64_array_builder_append_null(GArrowInt64ArrayBuilder *builder,
503 GError **error);
504GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
505gboolean garrow_int64_array_builder_append_nulls(GArrowInt64ArrayBuilder *builder,
506 gint64 n,
507 GError **error);
508#endif
509
510
511#define GARROW_TYPE_UINT64_ARRAY_BUILDER \
512 (garrow_uint64_array_builder_get_type())
513G_DECLARE_DERIVABLE_TYPE(GArrowUInt64ArrayBuilder,
514 garrow_uint64_array_builder,
515 GARROW,
516 UINT64_ARRAY_BUILDER,
517 GArrowArrayBuilder)
518struct _GArrowUInt64ArrayBuilderClass
519{
520 GArrowArrayBuilderClass parent_class;
521};
522
523GArrowUInt64ArrayBuilder *garrow_uint64_array_builder_new(void);
524
525#ifndef GARROW_DISABLE_DEPRECATED
526GARROW_DEPRECATED_IN_0_12_FOR(garrow_uint64_array_builder_append_value)
527gboolean garrow_uint64_array_builder_append(GArrowUInt64ArrayBuilder *builder,
528 guint64 value,
529 GError **error);
530#endif
531GARROW_AVAILABLE_IN_0_12
532gboolean garrow_uint64_array_builder_append_value(GArrowUInt64ArrayBuilder *builder,
533 guint64 value,
534 GError **error);
535gboolean garrow_uint64_array_builder_append_values(GArrowUInt64ArrayBuilder *builder,
536 const guint64 *values,
537 gint64 values_length,
538 const gboolean *is_valids,
539 gint64 is_valids_length,
540 GError **error);
541#ifndef GARROW_DISABLE_DEPRECATED
542GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
543gboolean garrow_uint64_array_builder_append_null(GArrowUInt64ArrayBuilder *builder,
544 GError **error);
545GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
546gboolean garrow_uint64_array_builder_append_nulls(GArrowUInt64ArrayBuilder *builder,
547 gint64 n,
548 GError **error);
549#endif
550
551
552#define GARROW_TYPE_FLOAT_ARRAY_BUILDER (garrow_float_array_builder_get_type())
553G_DECLARE_DERIVABLE_TYPE(GArrowFloatArrayBuilder,
554 garrow_float_array_builder,
555 GARROW,
556 FLOAT_ARRAY_BUILDER,
557 GArrowArrayBuilder)
558struct _GArrowFloatArrayBuilderClass
559{
560 GArrowArrayBuilderClass parent_class;
561};
562
563GArrowFloatArrayBuilder *garrow_float_array_builder_new(void);
564
565#ifndef GARROW_DISABLE_DEPRECATED
566GARROW_DEPRECATED_IN_0_12_FOR(garrow_float_array_builder_append_value)
567gboolean garrow_float_array_builder_append(GArrowFloatArrayBuilder *builder,
568 gfloat value,
569 GError **error);
570#endif
571GARROW_AVAILABLE_IN_0_12
572gboolean garrow_float_array_builder_append_value(GArrowFloatArrayBuilder *builder,
573 gfloat value,
574 GError **error);
575gboolean garrow_float_array_builder_append_values(GArrowFloatArrayBuilder *builder,
576 const gfloat *values,
577 gint64 values_length,
578 const gboolean *is_valids,
579 gint64 is_valids_length,
580 GError **error);
581#ifndef GARROW_DISABLE_DEPRECATED
582GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
583gboolean garrow_float_array_builder_append_null(GArrowFloatArrayBuilder *builder,
584 GError **error);
585GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
586gboolean garrow_float_array_builder_append_nulls(GArrowFloatArrayBuilder *builder,
587 gint64 n,
588 GError **error);
589#endif
590
591
592#define GARROW_TYPE_DOUBLE_ARRAY_BUILDER \
593 (garrow_double_array_builder_get_type())
594G_DECLARE_DERIVABLE_TYPE(GArrowDoubleArrayBuilder,
595 garrow_double_array_builder,
596 GARROW,
597 DOUBLE_ARRAY_BUILDER,
598 GArrowArrayBuilder)
599struct _GArrowDoubleArrayBuilderClass
600{
601 GArrowArrayBuilderClass parent_class;
602};
603
604GArrowDoubleArrayBuilder *garrow_double_array_builder_new(void);
605
606#ifndef GARROW_DISABLE_DEPRECATED
607GARROW_DEPRECATED_IN_0_12_FOR(garrow_double_array_builder_append_value)
608gboolean garrow_double_array_builder_append(GArrowDoubleArrayBuilder *builder,
609 gdouble value,
610 GError **error);
611#endif
612GARROW_AVAILABLE_IN_0_12
613gboolean garrow_double_array_builder_append_value(GArrowDoubleArrayBuilder *builder,
614 gdouble value,
615 GError **error);
616gboolean garrow_double_array_builder_append_values(GArrowDoubleArrayBuilder *builder,
617 const gdouble *values,
618 gint64 values_length,
619 const gboolean *is_valids,
620 gint64 is_valids_length,
621 GError **error);
622#ifndef GARROW_DISABLE_DEPRECATED
623GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
624gboolean garrow_double_array_builder_append_null(GArrowDoubleArrayBuilder *builder,
625 GError **error);
626GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
627gboolean garrow_double_array_builder_append_nulls(GArrowDoubleArrayBuilder *builder,
628 gint64 n,
629 GError **error);
630#endif
631
632
633#define GARROW_TYPE_BINARY_ARRAY_BUILDER \
634 (garrow_binary_array_builder_get_type())
635G_DECLARE_DERIVABLE_TYPE(GArrowBinaryArrayBuilder,
636 garrow_binary_array_builder,
637 GARROW,
638 BINARY_ARRAY_BUILDER,
639 GArrowArrayBuilder)
640struct _GArrowBinaryArrayBuilderClass
641{
642 GArrowArrayBuilderClass parent_class;
643};
644
645GArrowBinaryArrayBuilder *garrow_binary_array_builder_new(void);
646
647#ifndef GARROW_DISABLE_DEPRECATED
648GARROW_DEPRECATED_IN_0_12_FOR(garrow_binary_array_builder_append_value)
649gboolean garrow_binary_array_builder_append(GArrowBinaryArrayBuilder *builder,
650 const guint8 *value,
651 gint32 length,
652 GError **error);
653#endif
654GARROW_AVAILABLE_IN_0_12
655gboolean garrow_binary_array_builder_append_value(GArrowBinaryArrayBuilder *builder,
656 const guint8 *value,
657 gint32 length,
658 GError **error);
659GARROW_AVAILABLE_IN_0_16
660gboolean garrow_binary_array_builder_append_value_bytes(GArrowBinaryArrayBuilder *builder,
661 GBytes *value,
662 GError **error);
663GARROW_AVAILABLE_IN_0_16
664gboolean garrow_binary_array_builder_append_values(GArrowBinaryArrayBuilder *builder,
665 GBytes **values,
666 gint64 values_length,
667 const gboolean *is_valids,
668 gint64 is_valids_length,
669 GError **error);
670#ifndef GARROW_DISABLE_DEPRECATED
671GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
672gboolean garrow_binary_array_builder_append_null(GArrowBinaryArrayBuilder *builder,
673 GError **error);
674GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
675GARROW_AVAILABLE_IN_0_16
676gboolean garrow_binary_array_builder_append_nulls(GArrowBinaryArrayBuilder *builder,
677 gint64 n,
678 GError **error);
679#endif
680
681
682#define GARROW_TYPE_LARGE_BINARY_ARRAY_BUILDER \
683 (garrow_large_binary_array_builder_get_type())
684G_DECLARE_DERIVABLE_TYPE(GArrowLargeBinaryArrayBuilder,
685 garrow_large_binary_array_builder,
686 GARROW,
687 LARGE_BINARY_ARRAY_BUILDER,
688 GArrowArrayBuilder)
689struct _GArrowLargeBinaryArrayBuilderClass
690{
691 GArrowArrayBuilderClass parent_class;
692};
693
694GARROW_AVAILABLE_IN_0_16
695GArrowLargeBinaryArrayBuilder *garrow_large_binary_array_builder_new(void);
696GARROW_AVAILABLE_IN_0_16
697gboolean garrow_large_binary_array_builder_append_value(GArrowLargeBinaryArrayBuilder *builder,
698 const guint8 *value,
699 gint64 length,
700 GError **error);
701GARROW_AVAILABLE_IN_0_16
702gboolean garrow_large_binary_array_builder_append_value_bytes(GArrowLargeBinaryArrayBuilder *builder,
703 GBytes *value,
704 GError **error);
705GARROW_AVAILABLE_IN_0_16
706gboolean garrow_large_binary_array_builder_append_values(GArrowLargeBinaryArrayBuilder *builder,
707 GBytes **values,
708 gint64 values_length,
709 const gboolean *is_valids,
710 gint64 is_valids_length,
711 GError **error);
712#ifndef GARROW_DISABLE_DEPRECATED
713GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
714GARROW_AVAILABLE_IN_0_16
715gboolean garrow_large_binary_array_builder_append_null(GArrowLargeBinaryArrayBuilder *builder,
716 GError **error);
717GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
718GARROW_AVAILABLE_IN_0_16
719gboolean garrow_large_binary_array_builder_append_nulls(GArrowLargeBinaryArrayBuilder *builder,
720 gint64 n,
721 GError **error);
722#endif
723
724
725#define GARROW_TYPE_STRING_ARRAY_BUILDER \
726 (garrow_string_array_builder_get_type())
727G_DECLARE_DERIVABLE_TYPE(GArrowStringArrayBuilder,
728 garrow_string_array_builder,
729 GARROW,
730 STRING_ARRAY_BUILDER,
731 GArrowBinaryArrayBuilder)
732struct _GArrowStringArrayBuilderClass
733{
734 GArrowBinaryArrayBuilderClass parent_class;
735};
736
737GArrowStringArrayBuilder *garrow_string_array_builder_new(void);
738
739#ifndef GARROW_DISABLE_DEPRECATED
740GARROW_DEPRECATED_IN_0_12_FOR(garrow_string_array_builder_append_value)
741gboolean garrow_string_array_builder_append(GArrowStringArrayBuilder *builder,
742 const gchar *value,
743 GError **error);
744#endif
745#ifndef GARROW_DISABLE_DEPRECATED
746GARROW_DEPRECATED_IN_0_16_FOR(garrow_string_array_builder_append_string)
747GARROW_AVAILABLE_IN_0_12
748gboolean garrow_string_array_builder_append_value(GArrowStringArrayBuilder *builder,
749 const gchar *value,
750 GError **error);
751#endif
752GARROW_AVAILABLE_IN_0_16
753gboolean garrow_string_array_builder_append_string(GArrowStringArrayBuilder *builder,
754 const gchar *value,
755 GError **error);
756#ifndef GARROW_DISABLE_DEPRECATED
757GARROW_DEPRECATED_IN_0_16_FOR(garrow_string_array_builder_append_strings)
758gboolean garrow_string_array_builder_append_values(GArrowStringArrayBuilder *builder,
759 const gchar **values,
760 gint64 values_length,
761 const gboolean *is_valids,
762 gint64 is_valids_length,
763 GError **error);
764#endif
765GARROW_AVAILABLE_IN_0_16
766gboolean garrow_string_array_builder_append_strings(GArrowStringArrayBuilder *builder,
767 const gchar **values,
768 gint64 values_length,
769 const gboolean *is_valids,
770 gint64 is_valids_length,
771 GError **error);
772
773
774#define GARROW_TYPE_LARGE_STRING_ARRAY_BUILDER \
775 (garrow_large_string_array_builder_get_type())
776G_DECLARE_DERIVABLE_TYPE(GArrowLargeStringArrayBuilder,
777 garrow_large_string_array_builder,
778 GARROW,
779 LARGE_STRING_ARRAY_BUILDER,
780 GArrowLargeBinaryArrayBuilder)
781struct _GArrowLargeStringArrayBuilderClass
782{
783 GArrowLargeBinaryArrayBuilderClass parent_class;
784};
785
786GARROW_AVAILABLE_IN_0_16
787GArrowLargeStringArrayBuilder *garrow_large_string_array_builder_new(void);
788GARROW_AVAILABLE_IN_0_16
789gboolean garrow_large_string_array_builder_append_string(GArrowLargeStringArrayBuilder *builder,
790 const gchar *value,
791 GError **error);
792GARROW_AVAILABLE_IN_0_16
793gboolean garrow_large_string_array_builder_append_strings(GArrowLargeStringArrayBuilder *builder,
794 const gchar **values,
795 gint64 values_length,
796 const gboolean *is_valids,
797 gint64 is_valids_length,
798 GError **error);
799
800
801#define GARROW_TYPE_FIXED_SIZE_BINARY_ARRAY_BUILDER \
802 (garrow_fixed_size_binary_array_builder_get_type())
803G_DECLARE_DERIVABLE_TYPE(GArrowFixedSizeBinaryArrayBuilder,
804 garrow_fixed_size_binary_array_builder,
805 GARROW,
806 FIXED_SIZE_BINARY_ARRAY_BUILDER,
807 GArrowArrayBuilder)
808struct _GArrowFixedSizeBinaryArrayBuilderClass
809{
810 GArrowArrayBuilderClass parent_class;
811};
812
813GARROW_AVAILABLE_IN_3_0
814GArrowFixedSizeBinaryArrayBuilder *
815garrow_fixed_size_binary_array_builder_new(
816 GArrowFixedSizeBinaryDataType *data_type);
817
818GARROW_AVAILABLE_IN_3_0
819gboolean
820garrow_fixed_size_binary_array_builder_append_value(
821 GArrowFixedSizeBinaryArrayBuilder *builder,
822 const guint8 *value,
823 gint32 length,
824 GError **error);
825GARROW_AVAILABLE_IN_3_0
826gboolean
827garrow_fixed_size_binary_array_builder_append_value_bytes(
828 GArrowFixedSizeBinaryArrayBuilder *builder,
829 GBytes *value,
830 GError **error);
831GARROW_AVAILABLE_IN_3_0
832gboolean
833garrow_fixed_size_binary_array_builder_append_values(
834 GArrowFixedSizeBinaryArrayBuilder *builder,
835 GBytes **values,
836 gint64 values_length,
837 const gboolean *is_valids,
838 gint64 is_valids_length,
839 GError **error);
840GARROW_AVAILABLE_IN_3_0
841gboolean
842garrow_fixed_size_binary_array_builder_append_values_packed(
843 GArrowFixedSizeBinaryArrayBuilder *builder,
844 GBytes *values,
845 const gboolean *is_valids,
846 gint64 is_valids_length,
847 GError **error);
848
849#define GARROW_TYPE_DATE32_ARRAY_BUILDER \
850 (garrow_date32_array_builder_get_type())
851G_DECLARE_DERIVABLE_TYPE(GArrowDate32ArrayBuilder,
852 garrow_date32_array_builder,
853 GARROW,
854 DATE32_ARRAY_BUILDER,
855 GArrowArrayBuilder)
856struct _GArrowDate32ArrayBuilderClass
857{
858 GArrowArrayBuilderClass parent_class;
859};
860
861GArrowDate32ArrayBuilder *garrow_date32_array_builder_new(void);
862
863#ifndef GARROW_DISABLE_DEPRECATED
864GARROW_DEPRECATED_IN_0_12_FOR(garrow_date32_array_builder_append_value)
865gboolean garrow_date32_array_builder_append(GArrowDate32ArrayBuilder *builder,
866 gint32 value,
867 GError **error);
868#endif
869GARROW_AVAILABLE_IN_0_12
870gboolean garrow_date32_array_builder_append_value(GArrowDate32ArrayBuilder *builder,
871 gint32 value,
872 GError **error);
873gboolean garrow_date32_array_builder_append_values(GArrowDate32ArrayBuilder *builder,
874 const gint32 *values,
875 gint64 values_length,
876 const gboolean *is_valids,
877 gint64 is_valids_length,
878 GError **error);
879#ifndef GARROW_DISABLE_DEPRECATED
880GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
881gboolean garrow_date32_array_builder_append_null(GArrowDate32ArrayBuilder *builder,
882 GError **error);
883GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
884gboolean garrow_date32_array_builder_append_nulls(GArrowDate32ArrayBuilder *builder,
885 gint64 n,
886 GError **error);
887#endif
888
889
890#define GARROW_TYPE_DATE64_ARRAY_BUILDER \
891 (garrow_date64_array_builder_get_type())
892G_DECLARE_DERIVABLE_TYPE(GArrowDate64ArrayBuilder,
893 garrow_date64_array_builder,
894 GARROW,
895 DATE64_ARRAY_BUILDER,
896 GArrowArrayBuilder)
897struct _GArrowDate64ArrayBuilderClass
898{
899 GArrowArrayBuilderClass parent_class;
900};
901
902GArrowDate64ArrayBuilder *garrow_date64_array_builder_new(void);
903
904#ifndef GARROW_DISABLE_DEPRECATED
905GARROW_DEPRECATED_IN_0_12_FOR(garrow_date64_array_builder_append_value)
906gboolean garrow_date64_array_builder_append(GArrowDate64ArrayBuilder *builder,
907 gint64 value,
908 GError **error);
909#endif
910GARROW_AVAILABLE_IN_0_12
911gboolean garrow_date64_array_builder_append_value(GArrowDate64ArrayBuilder *builder,
912 gint64 value,
913 GError **error);
914gboolean garrow_date64_array_builder_append_values(GArrowDate64ArrayBuilder *builder,
915 const gint64 *values,
916 gint64 values_length,
917 const gboolean *is_valids,
918 gint64 is_valids_length,
919 GError **error);
920#ifndef GARROW_DISABLE_DEPRECATED
921GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
922gboolean garrow_date64_array_builder_append_null(GArrowDate64ArrayBuilder *builder,
923 GError **error);
924GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
925gboolean garrow_date64_array_builder_append_nulls(GArrowDate64ArrayBuilder *builder,
926 gint64 n,
927 GError **error);
928#endif
929
930
931#define GARROW_TYPE_TIMESTAMP_ARRAY_BUILDER \
932 (garrow_timestamp_array_builder_get_type())
933G_DECLARE_DERIVABLE_TYPE(GArrowTimestampArrayBuilder,
934 garrow_timestamp_array_builder,
935 GARROW,
936 TIMESTAMP_ARRAY_BUILDER,
937 GArrowArrayBuilder)
938struct _GArrowTimestampArrayBuilderClass
939{
940 GArrowArrayBuilderClass parent_class;
941};
942
943GArrowTimestampArrayBuilder *
944garrow_timestamp_array_builder_new(GArrowTimestampDataType *data_type);
945
946#ifndef GARROW_DISABLE_DEPRECATED
947GARROW_DEPRECATED_IN_0_12_FOR(garrow_timestamp_array_builder_append_value)
948gboolean garrow_timestamp_array_builder_append(GArrowTimestampArrayBuilder *builder,
949 gint64 value,
950 GError **error);
951#endif
952GARROW_AVAILABLE_IN_0_12
953gboolean garrow_timestamp_array_builder_append_value(GArrowTimestampArrayBuilder *builder,
954 gint64 value,
955 GError **error);
956gboolean garrow_timestamp_array_builder_append_values(GArrowTimestampArrayBuilder *builder,
957 const gint64 *values,
958 gint64 values_length,
959 const gboolean *is_valids,
960 gint64 is_valids_length,
961 GError **error);
962#ifndef GARROW_DISABLE_DEPRECATED
963GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
964gboolean garrow_timestamp_array_builder_append_null(GArrowTimestampArrayBuilder *builder,
965 GError **error);
966GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
967gboolean garrow_timestamp_array_builder_append_nulls(GArrowTimestampArrayBuilder *builder,
968 gint64 n,
969 GError **error);
970#endif
971
972
973#define GARROW_TYPE_TIME32_ARRAY_BUILDER \
974 (garrow_time32_array_builder_get_type())
975G_DECLARE_DERIVABLE_TYPE(GArrowTime32ArrayBuilder,
976 garrow_time32_array_builder,
977 GARROW,
978 TIME32_ARRAY_BUILDER,
979 GArrowArrayBuilder)
980struct _GArrowTime32ArrayBuilderClass
981{
982 GArrowArrayBuilderClass parent_class;
983};
984
985GArrowTime32ArrayBuilder *garrow_time32_array_builder_new(GArrowTime32DataType *data_type);
986
987#ifndef GARROW_DISABLE_DEPRECATED
988GARROW_DEPRECATED_IN_0_12_FOR(garrow_time32_array_builder_append_value)
989gboolean garrow_time32_array_builder_append(GArrowTime32ArrayBuilder *builder,
990 gint32 value,
991 GError **error);
992#endif
993GARROW_AVAILABLE_IN_0_12
994gboolean garrow_time32_array_builder_append_value(GArrowTime32ArrayBuilder *builder,
995 gint32 value,
996 GError **error);
997gboolean garrow_time32_array_builder_append_values(GArrowTime32ArrayBuilder *builder,
998 const gint32 *values,
999 gint64 values_length,
1000 const gboolean *is_valids,
1001 gint64 is_valids_length,
1002 GError **error);
1003#ifndef GARROW_DISABLE_DEPRECATED
1004GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
1005gboolean garrow_time32_array_builder_append_null(GArrowTime32ArrayBuilder *builder,
1006 GError **error);
1007GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
1008gboolean garrow_time32_array_builder_append_nulls(GArrowTime32ArrayBuilder *builder,
1009 gint64 n,
1010 GError **error);
1011#endif
1012
1013
1014#define GARROW_TYPE_TIME64_ARRAY_BUILDER \
1015 (garrow_time64_array_builder_get_type())
1016G_DECLARE_DERIVABLE_TYPE(GArrowTime64ArrayBuilder,
1017 garrow_time64_array_builder,
1018 GARROW,
1019 TIME64_ARRAY_BUILDER,
1020 GArrowArrayBuilder)
1021struct _GArrowTime64ArrayBuilderClass
1022{
1023 GArrowArrayBuilderClass parent_class;
1024};
1025
1026GArrowTime64ArrayBuilder *garrow_time64_array_builder_new(GArrowTime64DataType *data_type);
1027
1028#ifndef GARROW_DISABLE_DEPRECATED
1029GARROW_DEPRECATED_IN_0_12_FOR(garrow_time64_array_builder_append_value)
1030gboolean garrow_time64_array_builder_append(GArrowTime64ArrayBuilder *builder,
1031 gint64 value,
1032 GError **error);
1033#endif
1034GARROW_AVAILABLE_IN_0_12
1035gboolean garrow_time64_array_builder_append_value(GArrowTime64ArrayBuilder *builder,
1036 gint64 value,
1037 GError **error);
1038gboolean garrow_time64_array_builder_append_values(GArrowTime64ArrayBuilder *builder,
1039 const gint64 *values,
1040 gint64 values_length,
1041 const gboolean *is_valids,
1042 gint64 is_valids_length,
1043 GError **error);
1044#ifndef GARROW_DISABLE_DEPRECATED
1045GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
1046gboolean garrow_time64_array_builder_append_null(GArrowTime64ArrayBuilder *builder,
1047 GError **error);
1048GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
1049gboolean garrow_time64_array_builder_append_nulls(GArrowTime64ArrayBuilder *builder,
1050 gint64 n,
1051 GError **error);
1052#endif
1053
1054
1055#define GARROW_TYPE_BINARY_DICTIONARY_ARRAY_BUILDER (garrow_binary_dictionary_array_builder_get_type())
1056G_DECLARE_DERIVABLE_TYPE(GArrowBinaryDictionaryArrayBuilder,
1057 garrow_binary_dictionary_array_builder,
1058 GARROW,
1059 BINARY_DICTIONARY_ARRAY_BUILDER,
1060 GArrowArrayBuilder)
1061struct _GArrowBinaryDictionaryArrayBuilderClass
1062{
1063 GArrowArrayBuilderClass parent_class;
1064};
1065
1066GARROW_AVAILABLE_IN_2_0
1067GArrowBinaryDictionaryArrayBuilder *
1068garrow_binary_dictionary_array_builder_new(void);
1069#ifndef GARROW_DISABLE_DEPRECATED
1070GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
1071GARROW_AVAILABLE_IN_2_0
1072gboolean
1073garrow_binary_dictionary_array_builder_append_null(GArrowBinaryDictionaryArrayBuilder *builder,
1074 GError **error);
1075#endif
1076GARROW_AVAILABLE_IN_2_0
1077gboolean
1078garrow_binary_dictionary_array_builder_append_value(GArrowBinaryDictionaryArrayBuilder *builder,
1079 const guint8 *value,
1080 gint32 length,
1081 GError **error);
1082GARROW_AVAILABLE_IN_2_0
1083gboolean
1084garrow_binary_dictionary_array_builder_append_value_bytes(GArrowBinaryDictionaryArrayBuilder *builder,
1085 GBytes *value,
1086 GError **error);
1087GARROW_AVAILABLE_IN_2_0
1088gboolean
1089garrow_binary_dictionary_array_builder_append_array(GArrowBinaryDictionaryArrayBuilder *builder,
1090 GArrowBinaryArray *array,
1091 GError **error);
1092GARROW_AVAILABLE_IN_2_0
1093gboolean
1094garrow_binary_dictionary_array_builder_append_indices(GArrowBinaryDictionaryArrayBuilder *builder,
1095 const gint64 *values,
1096 gint64 values_length,
1097 const gboolean *is_valids,
1098 gint64 is_valids_length,
1099 GError **error);
1100GARROW_AVAILABLE_IN_2_0
1101gint64
1102garrow_binary_dictionary_array_builder_get_dictionary_length(GArrowBinaryDictionaryArrayBuilder *builder);
1103GARROW_AVAILABLE_IN_2_0
1104gboolean
1105garrow_binary_dictionary_array_builder_finish_delta(GArrowBinaryDictionaryArrayBuilder* builder,
1106 GArrowArray **out_indices,
1107 GArrowArray **out_delta,
1108 GError **error);
1109GARROW_AVAILABLE_IN_2_0
1110gboolean
1111garrow_binary_dictionary_array_builder_insert_memo_values(GArrowBinaryDictionaryArrayBuilder *builder,
1112 GArrowBinaryArray *values,
1113 GError **error);
1114GARROW_AVAILABLE_IN_2_0
1115void
1116garrow_binary_dictionary_array_builder_reset_full(GArrowBinaryDictionaryArrayBuilder *builder);
1117
1118
1119#define GARROW_TYPE_STRING_DICTIONARY_ARRAY_BUILDER (garrow_string_dictionary_array_builder_get_type())
1120G_DECLARE_DERIVABLE_TYPE(GArrowStringDictionaryArrayBuilder,
1121 garrow_string_dictionary_array_builder,
1122 GARROW,
1123 STRING_DICTIONARY_ARRAY_BUILDER,
1124 GArrowArrayBuilder)
1125struct _GArrowStringDictionaryArrayBuilderClass
1126{
1127 GArrowArrayBuilderClass parent_class;
1128};
1129
1130GARROW_AVAILABLE_IN_2_0
1131GArrowStringDictionaryArrayBuilder *
1132garrow_string_dictionary_array_builder_new(void);
1133#ifndef GARROW_DISABLE_DEPRECATED
1134GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
1135GARROW_AVAILABLE_IN_2_0
1136gboolean
1137garrow_string_dictionary_array_builder_append_null(GArrowStringDictionaryArrayBuilder *builder,
1138 GError **error);
1139#endif
1140GARROW_AVAILABLE_IN_2_0
1141gboolean
1142garrow_string_dictionary_array_builder_append_string(GArrowStringDictionaryArrayBuilder *builder,
1143 const gchar *value,
1144 GError **error);
1145GARROW_AVAILABLE_IN_2_0
1146gboolean
1147garrow_string_dictionary_array_builder_append_array(GArrowStringDictionaryArrayBuilder *builder,
1148 GArrowStringArray *array,
1149 GError **error);
1150GARROW_AVAILABLE_IN_2_0
1151gboolean
1152garrow_string_dictionary_array_builder_append_indices(GArrowStringDictionaryArrayBuilder *builder,
1153 const gint64 *values,
1154 gint64 values_length,
1155 const gboolean *is_valids,
1156 gint64 is_valids_length,
1157 GError **error);
1158GARROW_AVAILABLE_IN_2_0
1159gint64
1160garrow_string_dictionary_array_builder_get_dictionary_length(GArrowStringDictionaryArrayBuilder *builder);
1161GARROW_AVAILABLE_IN_2_0
1162gboolean
1163garrow_string_dictionary_array_builder_finish_delta(GArrowStringDictionaryArrayBuilder* builder,
1164 GArrowArray **out_indices,
1165 GArrowArray **out_delta,
1166 GError **error);
1167GARROW_AVAILABLE_IN_2_0
1168gboolean
1169garrow_string_dictionary_array_builder_insert_memo_values(GArrowStringDictionaryArrayBuilder *builder,
1170 GArrowStringArray *values,
1171 GError **error);
1172GARROW_AVAILABLE_IN_2_0
1173void
1174garrow_string_dictionary_array_builder_reset_full(GArrowStringDictionaryArrayBuilder *builder);
1175
1176
1177#define GARROW_TYPE_LIST_ARRAY_BUILDER (garrow_list_array_builder_get_type())
1178G_DECLARE_DERIVABLE_TYPE(GArrowListArrayBuilder,
1179 garrow_list_array_builder,
1180 GARROW,
1181 LIST_ARRAY_BUILDER,
1182 GArrowArrayBuilder)
1183struct _GArrowListArrayBuilderClass
1184{
1185 GArrowArrayBuilderClass parent_class;
1186};
1187
1188GArrowListArrayBuilder *garrow_list_array_builder_new(GArrowListDataType *data_type,
1189 GError **error);
1190
1191#ifndef GARROW_DISABLE_DEPRECATED
1192GARROW_DEPRECATED_IN_0_12_FOR(garrow_list_array_builder_append_value)
1193gboolean garrow_list_array_builder_append(GArrowListArrayBuilder *builder,
1194 GError **error);
1195#endif
1196GARROW_AVAILABLE_IN_0_12
1197gboolean garrow_list_array_builder_append_value(GArrowListArrayBuilder *builder,
1198 GError **error);
1199#ifndef GARROW_DISABLE_DEPRECATED
1200GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
1201gboolean garrow_list_array_builder_append_null(GArrowListArrayBuilder *builder,
1202 GError **error);
1203#endif
1204
1205GArrowArrayBuilder *garrow_list_array_builder_get_value_builder(GArrowListArrayBuilder *builder);
1206
1207
1208#define GARROW_TYPE_LARGE_LIST_ARRAY_BUILDER (garrow_large_list_array_builder_get_type())
1209G_DECLARE_DERIVABLE_TYPE(GArrowLargeListArrayBuilder,
1210 garrow_large_list_array_builder,
1211 GARROW,
1212 LARGE_LIST_ARRAY_BUILDER,
1213 GArrowArrayBuilder)
1214struct _GArrowLargeListArrayBuilderClass
1215{
1216 GArrowArrayBuilderClass parent_class;
1217};
1218
1219GARROW_AVAILABLE_IN_0_16
1220GArrowLargeListArrayBuilder *garrow_large_list_array_builder_new(GArrowLargeListDataType *data_type,
1221 GError **error);
1222GARROW_AVAILABLE_IN_0_16
1223gboolean garrow_large_list_array_builder_append_value(GArrowLargeListArrayBuilder *builder,
1224 GError **error);
1225#ifndef GARROW_DISABLE_DEPRECATED
1226GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
1227GARROW_AVAILABLE_IN_0_16
1228gboolean garrow_large_list_array_builder_append_null(GArrowLargeListArrayBuilder *builder,
1229 GError **error);
1230#endif
1231GARROW_AVAILABLE_IN_0_16
1232GArrowArrayBuilder *garrow_large_list_array_builder_get_value_builder(GArrowLargeListArrayBuilder *builder);
1233
1234
1235#define GARROW_TYPE_STRUCT_ARRAY_BUILDER \
1236 (garrow_struct_array_builder_get_type())
1237G_DECLARE_DERIVABLE_TYPE(GArrowStructArrayBuilder,
1238 garrow_struct_array_builder,
1239 GARROW,
1240 STRUCT_ARRAY_BUILDER,
1241 GArrowArrayBuilder)
1242struct _GArrowStructArrayBuilderClass
1243{
1244 GArrowArrayBuilderClass parent_class;
1245};
1246
1247GArrowStructArrayBuilder *garrow_struct_array_builder_new(GArrowStructDataType *data_type,
1248 GError **error);
1249
1250#ifndef GARROW_DISABLE_DEPRECATED
1251GARROW_DEPRECATED_IN_0_12_FOR(garrow_struct_array_builder_append_value)
1252gboolean garrow_struct_array_builder_append(GArrowStructArrayBuilder *builder,
1253 GError **error);
1254#endif
1255GARROW_AVAILABLE_IN_0_12
1256gboolean garrow_struct_array_builder_append_value(GArrowStructArrayBuilder *builder,
1257 GError **error);
1258#ifndef GARROW_DISABLE_DEPRECATED
1259GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
1260gboolean garrow_struct_array_builder_append_null(GArrowStructArrayBuilder *builder,
1261 GError **error);
1262#endif
1263
1264GArrowArrayBuilder *garrow_struct_array_builder_get_field_builder(GArrowStructArrayBuilder *builder,
1265 gint i);
1266GList *garrow_struct_array_builder_get_field_builders(GArrowStructArrayBuilder *builder);
1267
1268
1269#define GARROW_TYPE_MAP_ARRAY_BUILDER \
1270 (garrow_map_array_builder_get_type())
1271G_DECLARE_DERIVABLE_TYPE(GArrowMapArrayBuilder,
1272 garrow_map_array_builder,
1273 GARROW,
1274 MAP_ARRAY_BUILDER,
1275 GArrowArrayBuilder)
1276struct _GArrowMapArrayBuilderClass
1277{
1278 GArrowArrayBuilderClass parent_class;
1279};
1280
1281GARROW_AVAILABLE_IN_0_17
1282GArrowMapArrayBuilder *garrow_map_array_builder_new(GArrowMapDataType *data_type,
1283 GError **error);
1284GARROW_AVAILABLE_IN_0_17
1285gboolean
1286garrow_map_array_builder_append_value(GArrowMapArrayBuilder *builder,
1287 GError **error);
1288GARROW_AVAILABLE_IN_0_17
1289gboolean
1290garrow_map_array_builder_append_values(GArrowMapArrayBuilder *builder,
1291 const gint32 *offsets,
1292 gint64 offsets_length,
1293 const gboolean *is_valids,
1294 gint64 is_valids_length,
1295 GError **error);
1296#ifndef GARROW_DISABLE_DEPRECATED
1297GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
1298GARROW_AVAILABLE_IN_0_17
1299gboolean
1300garrow_map_array_builder_append_null(GArrowMapArrayBuilder *builder,
1301 GError **error);
1302GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_nulls)
1303GARROW_AVAILABLE_IN_0_17
1304gboolean
1305garrow_map_array_builder_append_nulls(GArrowMapArrayBuilder *builder,
1306 gint64 n,
1307 GError **error);
1308#endif
1309GARROW_AVAILABLE_IN_0_17
1310GArrowArrayBuilder *
1311garrow_map_array_builder_get_key_builder(GArrowMapArrayBuilder *builder);
1312GARROW_AVAILABLE_IN_0_17
1313GArrowArrayBuilder *
1314garrow_map_array_builder_get_item_builder(GArrowMapArrayBuilder *builder);
1315GARROW_AVAILABLE_IN_0_17
1316GArrowArrayBuilder *
1317garrow_map_array_builder_get_value_builder(GArrowMapArrayBuilder *builder);
1318
1319
1320#define GARROW_TYPE_DECIMAL128_ARRAY_BUILDER (garrow_decimal128_array_builder_get_type())
1321G_DECLARE_DERIVABLE_TYPE(GArrowDecimal128ArrayBuilder,
1322 garrow_decimal128_array_builder,
1323 GARROW,
1324 DECIMAL128_ARRAY_BUILDER,
1325 GArrowFixedSizeBinaryArrayBuilder)
1326struct _GArrowDecimal128ArrayBuilderClass
1327{
1328 GArrowFixedSizeBinaryArrayBuilderClass parent_class;
1329};
1330
1331GArrowDecimal128ArrayBuilder *garrow_decimal128_array_builder_new(GArrowDecimal128DataType *data_type);
1332
1333#ifndef GARROW_DISABLE_DEPRECATED
1334GARROW_DEPRECATED_IN_0_12_FOR(garrow_decimal128_array_builder_append_value)
1335gboolean garrow_decimal128_array_builder_append(GArrowDecimal128ArrayBuilder *builder,
1336 GArrowDecimal128 *value,
1337 GError **error);
1338#endif
1339GARROW_AVAILABLE_IN_0_12
1340gboolean garrow_decimal128_array_builder_append_value(GArrowDecimal128ArrayBuilder *builder,
1341 GArrowDecimal128 *value,
1342 GError **error);
1343GARROW_AVAILABLE_IN_3_0
1344gboolean
1345garrow_decimal128_array_builder_append_values(
1346 GArrowDecimal128ArrayBuilder *builder,
1347 GArrowDecimal128 **values,
1348 gint64 values_length,
1349 const gboolean *is_valids,
1350 gint64 is_valids_length,
1351 GError **error);
1352#ifndef GARROW_DISABLE_DEPRECATED
1353GARROW_DEPRECATED_IN_3_0_FOR(garrow_array_builder_append_null)
1354GARROW_AVAILABLE_IN_0_12
1355gboolean garrow_decimal128_array_builder_append_null(GArrowDecimal128ArrayBuilder *builder,
1356 GError **error);
1357#endif
1358
1359
1360#define GARROW_TYPE_DECIMAL256_ARRAY_BUILDER (garrow_decimal256_array_builder_get_type())
1361G_DECLARE_DERIVABLE_TYPE(GArrowDecimal256ArrayBuilder,
1362 garrow_decimal256_array_builder,
1363 GARROW,
1364 DECIMAL256_ARRAY_BUILDER,
1365 GArrowFixedSizeBinaryArrayBuilder)
1366struct _GArrowDecimal256ArrayBuilderClass
1367{
1368 GArrowFixedSizeBinaryArrayBuilderClass parent_class;
1369};
1370
1371GArrowDecimal256ArrayBuilder *garrow_decimal256_array_builder_new(GArrowDecimal256DataType *data_type);
1372
1373GARROW_AVAILABLE_IN_3_0
1374gboolean garrow_decimal256_array_builder_append_value(GArrowDecimal256ArrayBuilder *builder,
1375 GArrowDecimal256 *value,
1376 GError **error);
1377GARROW_AVAILABLE_IN_3_0
1378gboolean
1379garrow_decimal256_array_builder_append_values(
1380 GArrowDecimal256ArrayBuilder *builder,
1381 GArrowDecimal256 **values,
1382 gint64 values_length,
1383 const gboolean *is_valids,
1384 gint64 is_valids_length,
1385 GError **error);
1386
1387G_END_DECLS