@@ -106,7 +106,8 @@ arrow::Result<std::shared_ptr<arrow::Buffer>> WebDB::Connection::MaterializeQuer
106
106
107
107
// Configure the output writer
108
108
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 );
110
111
unordered_map<idx_t , const shared_ptr<ArrowTypeExtensionData>> extension_type_cast;
111
112
options.arrow_offset_size = ArrowOffsetSize::REGULAR;
112
113
ArrowConverter::ToArrowSchema (&raw_schema, result->types , result->names , options);
@@ -142,7 +143,8 @@ arrow::Result<std::shared_ptr<arrow::Buffer>> WebDB::Connection::StreamQueryResu
142
143
143
144
// Import the schema
144
145
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 );
146
148
options.arrow_offset_size = ArrowOffsetSize::REGULAR;
147
149
ArrowConverter::ToArrowSchema (&raw_schema, current_query_result_->types , current_query_result_->names , options);
148
150
ARROW_ASSIGN_OR_RAISE (current_schema_, arrow::ImportSchema (&raw_schema));
@@ -294,7 +296,9 @@ DuckDBWasmResultsWrapper WebDB::Connection::FetchQueryResults() {
294
296
295
297
// Serialize the record batch
296
298
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 );
298
302
unordered_map<idx_t , const shared_ptr<ArrowTypeExtensionData>> extension_type_cast;
299
303
arrow_options.arrow_offset_size = ArrowOffsetSize::REGULAR;
300
304
ArrowConverter::ToArrowArray (*chunk, &array, arrow_options, extension_type_cast);
0 commit comments