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
10 * http://www.apache.org/licenses/LICENSE-2.0
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
22 #include <arrow-glib/arrow-glib.h>
26 #define GPARQUET_TYPE_WRITER_PROPERTIES \
27 (gparquet_writer_properties_get_type())
28 G_DECLARE_DERIVABLE_TYPE(GParquetWriterProperties
,
29 gparquet_writer_properties
,
33 struct _GParquetWriterPropertiesClass
35 GObjectClass parent_class
;
38 GARROW_AVAILABLE_IN_0_17
39 GParquetWriterProperties
*gparquet_writer_properties_new(void);
40 GARROW_AVAILABLE_IN_0_17
42 gparquet_writer_properties_set_compression(GParquetWriterProperties
*properties
,
43 GArrowCompressionType compression_type
,
45 GARROW_AVAILABLE_IN_0_17
47 gparquet_writer_properties_get_compression_path(GParquetWriterProperties
*properties
,
49 GARROW_AVAILABLE_IN_0_17
51 gparquet_writer_properties_enable_dictionary(GParquetWriterProperties
*properties
,
53 GARROW_AVAILABLE_IN_0_17
55 gparquet_writer_properties_disable_dictionary(GParquetWriterProperties
*properties
,
57 GARROW_AVAILABLE_IN_0_17
59 gparquet_writer_properties_is_dictionary_enabled(GParquetWriterProperties
*properties
,
61 GARROW_AVAILABLE_IN_0_17
63 gparquet_writer_properties_set_dictionary_page_size_limit(GParquetWriterProperties
*properties
,
65 GARROW_AVAILABLE_IN_0_17
67 gparquet_writer_properties_get_dictionary_page_size_limit(GParquetWriterProperties
*properties
);
68 GARROW_AVAILABLE_IN_0_17
70 gparquet_writer_properties_set_batch_size(GParquetWriterProperties
*properties
,
72 GARROW_AVAILABLE_IN_0_17
74 gparquet_writer_properties_get_batch_size(GParquetWriterProperties
*properties
);
75 GARROW_AVAILABLE_IN_0_17
77 gparquet_writer_properties_set_max_row_group_length(GParquetWriterProperties
*properties
,
79 GARROW_AVAILABLE_IN_0_17
81 gparquet_writer_properties_get_max_row_group_length(GParquetWriterProperties
*properties
);
82 GARROW_AVAILABLE_IN_0_17
84 gparquet_writer_properties_set_data_page_size(GParquetWriterProperties
*properties
,
85 gint64 data_page_size
);
86 GARROW_AVAILABLE_IN_0_17
88 gparquet_writer_properties_get_data_page_size(GParquetWriterProperties
*properties
);
91 #define GPARQUET_TYPE_ARROW_FILE_WRITER (gparquet_arrow_file_writer_get_type())
92 G_DECLARE_DERIVABLE_TYPE(GParquetArrowFileWriter
,
93 gparquet_arrow_file_writer
,
97 struct _GParquetArrowFileWriterClass
99 GObjectClass parent_class
;
102 GParquetArrowFileWriter
*
103 gparquet_arrow_file_writer_new_arrow(GArrowSchema
*schema
,
104 GArrowOutputStream
*sink
,
105 GParquetWriterProperties
*writer_properties
,
107 GParquetArrowFileWriter
*
108 gparquet_arrow_file_writer_new_path(GArrowSchema
*schema
,
110 GParquetWriterProperties
*writer_properties
,
114 gparquet_arrow_file_writer_write_table(GParquetArrowFileWriter
*writer
,
120 gparquet_arrow_file_writer_close(GParquetArrowFileWriter
*writer
,