Skip to content

Commit 74a3a09

Browse files
Update vendored DuckDB sources to 524b7f9c25
1 parent 8800165 commit 74a3a09

53 files changed

Lines changed: 471 additions & 316 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -343,44 +343,44 @@ set(DUCKDB_SRC_FILES
343343
src/duckdb/extension/core_functions/core_functions_extension.cpp
344344
src/duckdb/extension/core_functions/function_list.cpp
345345
src/duckdb/extension/core_functions/lambda_functions.cpp
346-
src/duckdb/ub_extension_core_functions_scalar_generic.cpp
347-
src/duckdb/ub_extension_core_functions_scalar_union.cpp
348-
src/duckdb/ub_extension_core_functions_scalar_list.cpp
349-
src/duckdb/ub_extension_core_functions_scalar_random.cpp
350-
src/duckdb/ub_extension_core_functions_scalar_operators.cpp
351-
src/duckdb/ub_extension_core_functions_scalar_blob.cpp
352346
src/duckdb/ub_extension_core_functions_scalar_map.cpp
347+
src/duckdb/ub_extension_core_functions_scalar_operators.cpp
348+
src/duckdb/ub_extension_core_functions_scalar_struct.cpp
349+
src/duckdb/ub_extension_core_functions_scalar_random.cpp
353350
src/duckdb/ub_extension_core_functions_scalar_string.cpp
351+
src/duckdb/ub_extension_core_functions_scalar_blob.cpp
352+
src/duckdb/ub_extension_core_functions_scalar_union.cpp
353+
src/duckdb/ub_extension_core_functions_scalar_bit.cpp
354+
src/duckdb/ub_extension_core_functions_scalar_array.cpp
355+
src/duckdb/ub_extension_core_functions_scalar_math.cpp
354356
src/duckdb/ub_extension_core_functions_scalar_debug.cpp
355357
src/duckdb/ub_extension_core_functions_scalar_enum.cpp
356-
src/duckdb/ub_extension_core_functions_scalar_array.cpp
358+
src/duckdb/ub_extension_core_functions_scalar_generic.cpp
357359
src/duckdb/ub_extension_core_functions_scalar_date.cpp
358-
src/duckdb/ub_extension_core_functions_scalar_struct.cpp
359-
src/duckdb/ub_extension_core_functions_scalar_bit.cpp
360-
src/duckdb/ub_extension_core_functions_scalar_math.cpp
360+
src/duckdb/ub_extension_core_functions_scalar_list.cpp
361361
src/duckdb/ub_extension_core_functions_aggregate_nested.cpp
362-
src/duckdb/ub_extension_core_functions_aggregate_holistic.cpp
363362
src/duckdb/ub_extension_core_functions_aggregate_regression.cpp
364-
src/duckdb/ub_extension_core_functions_aggregate_distributive.cpp
365363
src/duckdb/ub_extension_core_functions_aggregate_algebraic.cpp
366-
src/duckdb/extension/parquet/serialize_parquet.cpp
367-
src/duckdb/extension/parquet/parquet_reader.cpp
368-
src/duckdb/extension/parquet/parquet_crypto.cpp
364+
src/duckdb/ub_extension_core_functions_aggregate_distributive.cpp
365+
src/duckdb/ub_extension_core_functions_aggregate_holistic.cpp
369366
src/duckdb/extension/parquet/parquet_writer.cpp
370-
src/duckdb/extension/parquet/zstd_file_system.cpp
371367
src/duckdb/extension/parquet/geo_parquet.cpp
368+
src/duckdb/extension/parquet/column_reader.cpp
372369
src/duckdb/extension/parquet/parquet_float16.cpp
370+
src/duckdb/extension/parquet/parquet_metadata.cpp
371+
src/duckdb/extension/parquet/parquet_reader.cpp
372+
src/duckdb/extension/parquet/zstd_file_system.cpp
373373
src/duckdb/extension/parquet/parquet_timestamp.cpp
374-
src/duckdb/extension/parquet/column_reader.cpp
375374
src/duckdb/extension/parquet/parquet_multi_file_info.cpp
376-
src/duckdb/extension/parquet/parquet_file_metadata_cache.cpp
377-
src/duckdb/extension/parquet/parquet_metadata.cpp
378375
src/duckdb/extension/parquet/column_writer.cpp
379376
src/duckdb/extension/parquet/parquet_extension.cpp
377+
src/duckdb/extension/parquet/parquet_crypto.cpp
378+
src/duckdb/extension/parquet/parquet_file_metadata_cache.cpp
379+
src/duckdb/extension/parquet/serialize_parquet.cpp
380380
src/duckdb/extension/parquet/parquet_statistics.cpp
381381
src/duckdb/ub_extension_parquet_decoder.cpp
382-
src/duckdb/ub_extension_parquet_writer.cpp
383382
src/duckdb/ub_extension_parquet_reader.cpp
383+
src/duckdb/ub_extension_parquet_writer.cpp
384384
src/duckdb/third_party/parquet/parquet_types.cpp
385385
src/duckdb/third_party/thrift/thrift/protocol/TProtocol.cpp
386386
src/duckdb/third_party/thrift/thrift/transport/TTransportException.cpp
@@ -419,32 +419,32 @@ set(DUCKDB_SRC_FILES
419419
src/duckdb/third_party/brotli/enc/metablock.cpp
420420
src/duckdb/third_party/brotli/enc/static_dict.cpp
421421
src/duckdb/third_party/brotli/enc/utf8_util.cpp
422-
src/duckdb/extension/icu/./icu-datetrunc.cpp
423-
src/duckdb/extension/icu/./icu-timezone.cpp
424422
src/duckdb/extension/icu/./icu-list-range.cpp
423+
src/duckdb/extension/icu/./icu_extension.cpp
424+
src/duckdb/extension/icu/./icu-strptime.cpp
425+
src/duckdb/extension/icu/./icu-current.cpp
426+
src/duckdb/extension/icu/./icu-makedate.cpp
425427
src/duckdb/extension/icu/./icu-datesub.cpp
426-
src/duckdb/extension/icu/./icu-datefunc.cpp
428+
src/duckdb/extension/icu/./icu-timezone.cpp
427429
src/duckdb/extension/icu/./icu-timebucket.cpp
428-
src/duckdb/extension/icu/./icu-current.cpp
429-
src/duckdb/extension/icu/./icu-dateadd.cpp
430-
src/duckdb/extension/icu/./icu-datepart.cpp
431430
src/duckdb/extension/icu/./icu-table-range.cpp
432-
src/duckdb/extension/icu/./icu-strptime.cpp
433-
src/duckdb/extension/icu/./icu_extension.cpp
434-
src/duckdb/extension/icu/./icu-makedate.cpp
431+
src/duckdb/extension/icu/./icu-datefunc.cpp
432+
src/duckdb/extension/icu/./icu-datepart.cpp
433+
src/duckdb/extension/icu/./icu-datetrunc.cpp
434+
src/duckdb/extension/icu/./icu-dateadd.cpp
435435
src/duckdb/ub_extension_icu_third_party_icu_common.cpp
436436
src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp
437437
src/duckdb/extension/icu/third_party/icu/stubdata/stubdata.cpp
438-
src/duckdb/extension/json/json_enums.cpp
439-
src/duckdb/extension/json/json_deserializer.cpp
440-
src/duckdb/extension/json/json_reader.cpp
441438
src/duckdb/extension/json/json_common.cpp
442-
src/duckdb/extension/json/json_serializer.cpp
443-
src/duckdb/extension/json/serialize_json.cpp
444439
src/duckdb/extension/json/json_extension.cpp
445-
src/duckdb/extension/json/json_functions.cpp
446-
src/duckdb/extension/json/json_scan.cpp
447440
src/duckdb/extension/json/json_multi_file_info.cpp
441+
src/duckdb/extension/json/json_scan.cpp
442+
src/duckdb/extension/json/json_enums.cpp
443+
src/duckdb/extension/json/json_functions.cpp
444+
src/duckdb/extension/json/json_reader.cpp
445+
src/duckdb/extension/json/json_deserializer.cpp
446+
src/duckdb/extension/json/serialize_json.cpp
447+
src/duckdb/extension/json/json_serializer.cpp
448448
src/duckdb/ub_extension_json_json_functions.cpp)
449449

450450
set(JEMALLOC_SRC_FILES

src/duckdb/extension/parquet/include/writer/templated_column_writer.hpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ namespace duckdb {
2020
template <class SRC, class TGT, class OP = ParquetCastOperator, bool ALL_VALID>
2121
static void TemplatedWritePlain(Vector &col, ColumnWriterStatistics *stats, const idx_t chunk_start,
2222
const idx_t chunk_end, const ValidityMask &mask, WriteStream &ser) {
23-
static constexpr bool COPY_DIRECTLY_FROM_VECTOR =
24-
ALL_VALID && std::is_same<SRC, TGT>::value && std::is_arithmetic<TGT>::value;
23+
static constexpr bool COPY_DIRECTLY_FROM_VECTOR = ALL_VALID && std::is_same<SRC, TGT>::value &&
24+
std::is_arithmetic<TGT>::value &&
25+
std::is_same<OP, ParquetCastOperator>::value;
2526

2627
const auto *const ptr = FlatVector::GetData<SRC>(col);
2728

src/duckdb/extension/parquet/parquet_reader.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,7 @@ static unique_ptr<duckdb_apache::thrift::protocol::TProtocol> CreateThriftFilePr
5454

5555
static bool ShouldAndCanPrefetch(ClientContext &context, CachingFileHandle &file_handle) {
5656
Value disable_prefetch = false;
57-
Value prefetch_all_files =
58-
#ifdef DUCKDB_PREFETCH_ALL_PARQUET_FILES
59-
true; // For debugging purposes we can toggle this to always enable
60-
#else
61-
false; // Defaults to false
62-
#endif
57+
Value prefetch_all_files = false;
6358
context.TryGetCurrentSetting("disable_parquet_prefetching", disable_prefetch);
6459
context.TryGetCurrentSetting("prefetch_all_parquet_files", prefetch_all_files);
6560
bool should_prefetch = !file_handle.OnDiskFile() || prefetch_all_files.GetValue<bool>();

src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -858,12 +858,12 @@ unique_ptr<CatalogEntry> DuckTableEntry::RenameField(ClientContext &context, Ren
858858
if (!ColumnExists(info.column_path[0])) {
859859
throw CatalogException("Cannot rename field from column \"%s\" - it does not exist", info.column_path[0]);
860860
}
861+
861862
// follow the path
862863
auto &col = GetColumn(info.column_path[0]);
863864
auto res = RenameFieldFromStruct(col.Type(), info.column_path, info.new_name, 1);
864865
if (res.error.HasError()) {
865866
res.error.Throw();
866-
return nullptr;
867867
}
868868

869869
// construct the struct remapping expression
@@ -874,7 +874,6 @@ unique_ptr<CatalogEntry> DuckTableEntry::RenameField(ClientContext &context, Ren
874874
children.push_back(make_uniq<ConstantExpression>(Value()));
875875

876876
auto function = make_uniq<FunctionExpression>("remap_struct", std::move(children));
877-
878877
ChangeColumnTypeInfo change_column_type(info.GetAlterEntryData(), info.column_path[0], std::move(res.new_type),
879878
std::move(function));
880879
return ChangeColumnType(context, change_column_type);
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include "duckdb/common/arrow/appender/append_data.hpp"
2+
3+
namespace duckdb {
4+
5+
void ArrowAppendData::AppendValidity(UnifiedVectorFormat &format, idx_t from, idx_t to) {
6+
// resize the buffer, filling the validity buffer with all valid values
7+
idx_t size = to - from;
8+
ResizeValidity(GetValidityBuffer(), row_count + size);
9+
if (format.validity.AllValid()) {
10+
// if all values are valid we don't need to do anything else
11+
return;
12+
}
13+
14+
// otherwise we iterate through the validity mask
15+
auto validity_data = (uint8_t *)GetValidityBuffer().data();
16+
uint8_t current_bit;
17+
idx_t current_byte;
18+
GetBitPosition(row_count, current_byte, current_bit);
19+
for (idx_t i = from; i < to; i++) {
20+
auto source_idx = format.sel->get_index(i);
21+
// append the validity mask
22+
if (!format.validity.RowIsValid(source_idx)) {
23+
SetNull(validity_data, current_byte, current_bit);
24+
}
25+
NextBit(current_byte, current_bit);
26+
}
27+
}
28+
29+
} // namespace duckdb

src/duckdb/src/common/arrow/appender/bool_data.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ namespace duckdb {
66
void ArrowBoolData::Initialize(ArrowAppendData &result, const LogicalType &type, idx_t capacity) {
77
auto byte_count = (capacity + 7) / 8;
88
result.GetMainBuffer().reserve(byte_count);
9-
(void)AppendValidity; // silence a compiler warning about unused static function
109
}
1110

1211
void ArrowBoolData::Append(ArrowAppendData &append_data, Vector &input, idx_t from, idx_t to, idx_t input_size) {
@@ -16,24 +15,24 @@ void ArrowBoolData::Append(ArrowAppendData &append_data, Vector &input, idx_t fr
1615
auto &main_buffer = append_data.GetMainBuffer();
1716
auto &validity_buffer = append_data.GetValidityBuffer();
1817
// we initialize both the validity and the bit set to 1's
19-
ResizeValidity(validity_buffer, append_data.row_count + size);
20-
ResizeValidity(main_buffer, append_data.row_count + size);
18+
ArrowAppendData::ResizeValidity(validity_buffer, append_data.row_count + size);
19+
ArrowAppendData::ResizeValidity(main_buffer, append_data.row_count + size);
2120
auto data = UnifiedVectorFormat::GetData<bool>(format);
2221

2322
auto result_data = main_buffer.GetData<uint8_t>();
2423
auto validity_data = validity_buffer.GetData<uint8_t>();
2524
uint8_t current_bit;
2625
idx_t current_byte;
27-
GetBitPosition(append_data.row_count, current_byte, current_bit);
26+
ArrowAppendData::GetBitPosition(append_data.row_count, current_byte, current_bit);
2827
for (idx_t i = from; i < to; i++) {
2928
auto source_idx = format.sel->get_index(i);
3029
// append the validity mask
3130
if (!format.validity.RowIsValid(source_idx)) {
32-
SetNull(append_data, validity_data, current_byte, current_bit);
31+
append_data.SetNull(validity_data, current_byte, current_bit);
3332
} else if (!data[source_idx]) {
34-
UnsetBit(result_data, current_byte, current_bit);
33+
ArrowAppendData::UnsetBit(result_data, current_byte, current_bit);
3534
}
36-
NextBit(current_byte, current_bit);
35+
ArrowAppendData::NextBit(current_byte, current_bit);
3736
}
3837
append_data.row_count += size;
3938
}

src/duckdb/src/common/arrow/appender/fixed_size_list_data.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ void ArrowFixedSizeListData::Append(ArrowAppendData &append_data, Vector &input,
1818
UnifiedVectorFormat format;
1919
input.ToUnifiedFormat(input_size, format);
2020
idx_t size = to - from;
21-
AppendValidity(append_data, format, from, to);
21+
append_data.AppendValidity(format, from, to);
2222
input.Flatten(input_size);
2323
auto array_size = ArrayType::GetSize(input.GetType());
2424
auto &child_vector = ArrayVector::GetEntry(input);

src/duckdb/src/common/arrow/appender/struct_data.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ void ArrowStructData::Append(ArrowAppendData &append_data, Vector &input, idx_t
1818
UnifiedVectorFormat format;
1919
input.ToUnifiedFormat(input_size, format);
2020
idx_t size = to - from;
21-
AppendValidity(append_data, format, from, to);
21+
append_data.AppendValidity(format, from, to);
2222
// append the children of the struct
2323
auto &children = StructVector::GetEntries(input);
2424
for (idx_t child_idx = 0; child_idx < children.size(); child_idx++) {

src/duckdb/src/common/arrow/appender/union_data.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ void ArrowUnionData::Initialize(ArrowAppendData &result, const LogicalType &type
1414
auto child_buffer = ArrowAppender::InitializeChild(child.second, capacity, result.options);
1515
result.child_data.push_back(std::move(child_buffer));
1616
}
17-
(void)AppendValidity; // silence a compiler warning about unused static functiondep
1817
}
1918

2019
void ArrowUnionData::Append(ArrowAppendData &append_data, Vector &input, idx_t from, idx_t to, idx_t input_size) {

src/duckdb/src/common/arrow/schema_metadata.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ ArrowSchemaMetadata ArrowSchemaMetadata::NonCanonicalType(const string &type_nam
6666
ArrowSchemaMetadata metadata;
6767
metadata.AddOption(ARROW_EXTENSION_NAME, ArrowExtensionMetadata::ARROW_EXTENSION_NON_CANONICAL);
6868
// We have to set the metadata key with type_name and vendor_name.
69-
metadata.extension_metadata_map->AddObject("vendor_name", make_uniq<ComplexJSON>(vendor_name));
70-
metadata.extension_metadata_map->AddObject("type_name", make_uniq<ComplexJSON>(type_name));
69+
metadata.extension_metadata_map->AddObjectEntry("vendor_name", make_uniq<ComplexJSON>(vendor_name));
70+
metadata.extension_metadata_map->AddObjectEntry("type_name", make_uniq<ComplexJSON>(type_name));
7171
metadata.AddOption(ARROW_METADATA_KEY, StringUtil::ToComplexJSONMap(*metadata.extension_metadata_map));
7272
return metadata;
7373
}

0 commit comments

Comments
 (0)