Skip to content

Commit 30d95c2

Browse files
jraymakerscarlopi
authored andcommitted
pass arrow_lossless_conversion config when generating arrow
1 parent 1f681ae commit 30d95c2

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

lib/src/webdb.cc

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ arrow::Result<std::shared_ptr<arrow::Buffer>> WebDB::Connection::MaterializeQuer
106106

107107
// Configure the output writer
108108
ArrowSchema raw_schema;
109-
ClientProperties options("UTC", ArrowOffsetSize::REGULAR, false, false, false, connection_.context);
109+
bool lossless_conversion = webdb_.config_->arrow_lossless_conversion;
110+
ClientProperties options("UTC", ArrowOffsetSize::REGULAR, false, false, lossless_conversion, connection_.context);
110111
unordered_map<idx_t, const shared_ptr<ArrowTypeExtensionData>> extension_type_cast;
111112
options.arrow_offset_size = ArrowOffsetSize::REGULAR;
112113
ArrowConverter::ToArrowSchema(&raw_schema, result->types, result->names, options);
@@ -142,7 +143,8 @@ arrow::Result<std::shared_ptr<arrow::Buffer>> WebDB::Connection::StreamQueryResu
142143

143144
// Import the schema
144145
ArrowSchema raw_schema;
145-
ClientProperties options("UTC", ArrowOffsetSize::REGULAR, false, false, false, connection_.context);
146+
bool lossless_conversion = webdb_.config_->arrow_lossless_conversion;
147+
ClientProperties options("UTC", ArrowOffsetSize::REGULAR, false, false, lossless_conversion, connection_.context);
146148
options.arrow_offset_size = ArrowOffsetSize::REGULAR;
147149
ArrowConverter::ToArrowSchema(&raw_schema, current_query_result_->types, current_query_result_->names, options);
148150
ARROW_ASSIGN_OR_RAISE(current_schema_, arrow::ImportSchema(&raw_schema));
@@ -294,7 +296,9 @@ DuckDBWasmResultsWrapper WebDB::Connection::FetchQueryResults() {
294296

295297
// Serialize the record batch
296298
ArrowArray array;
297-
ClientProperties arrow_options("UTC", ArrowOffsetSize::REGULAR, false, false, false, connection_.context);
299+
bool lossless_conversion = webdb_.config_->arrow_lossless_conversion;
300+
ClientProperties arrow_options("UTC", ArrowOffsetSize::REGULAR, false, false, lossless_conversion,
301+
connection_.context);
298302
unordered_map<idx_t, const shared_ptr<ArrowTypeExtensionData>> extension_type_cast;
299303
arrow_options.arrow_offset_size = ArrowOffsetSize::REGULAR;
300304
ArrowConverter::ToArrowArray(*chunk, &array, arrow_options, extension_type_cast);

0 commit comments

Comments
 (0)