Skip to content

Commit 2f2cb31

Browse files
committed
chore: bump DuckDB to v1.5.1
- DuckDB submodule to v1.5.1 tag, httpfs extension pin updated - DUCKDB_VERSION and OVERRIDE_GIT_DESCRIBE set to v1.5.1 so autoloaded extensions match the runtime ABI - Removes PostgresScanSerialize/Deserialize (no longer needed: duckdb/duckdb#21461) - Keeps ExtensionLoader BeginLoad/FinishLoad for extension visibility - Updates read_functions expected output for stricter iceberg validation
1 parent 542682f commit 2f2cb31

File tree

7 files changed

+6
-47
lines changed

7 files changed

+6
-47
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ OBJS += $(subst .c,.o, $(C_SRCS))
1515
# set to `make` to disable ninja
1616
DUCKDB_GEN ?= ninja
1717
# used to know what version of extensions to download
18-
DUCKDB_VERSION = v1.5.0
18+
DUCKDB_VERSION = v1.5.1
1919
# duckdb build tweaks
20-
DUCKDB_CMAKE_VARS = -DCXX_EXTRA=-fvisibility=default -DBUILD_SHELL=0 -DBUILD_PYTHON=0 -DBUILD_UNITTESTS=0
20+
DUCKDB_CMAKE_VARS = -DCXX_EXTRA=-fvisibility=default -DBUILD_SHELL=0 -DBUILD_PYTHON=0 -DBUILD_UNITTESTS=0 -DOVERRIDE_GIT_DESCRIBE=v1.5.1
2121
# set to 1 to disable asserts in DuckDB. This is particularly useful in combinition with MotherDuck.
2222
# When asserts are enabled the released motherduck extension will fail some of
2323
# those asserts. By disabling asserts it's possible to run a debug build of

include/pgduckdb/scan/postgres_scan.hpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,6 @@ struct PostgresScanFunctionData : public duckdb::TableFunctionData {
8282
struct PostgresScanTableFunction : public duckdb::TableFunction {
8383
PostgresScanTableFunction();
8484

85-
static void PostgresScanSerialize(duckdb::Serializer &serializer,
86-
const duckdb::optional_ptr<duckdb::FunctionData> bind_data,
87-
const duckdb::TableFunction &function);
88-
89-
static duckdb::unique_ptr<duckdb::FunctionData> PostgresScanDeserialize(duckdb::Deserializer &deserializer,
90-
duckdb::TableFunction &function);
91-
9285
static duckdb::unique_ptr<duckdb::GlobalTableFunctionState>
9386
PostgresScanInitGlobal(duckdb::ClientContext &context, duckdb::TableFunctionInitInput &input);
9487

src/pgduckdb_duckdb.cpp

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
#include "duckdb/common/exception.hpp"
77
#include "duckdb/main/extension/extension_loader.hpp"
88
#include "duckdb/optimizer/optimizer_extension.hpp"
9-
#include "duckdb/parser/parsed_data/create_table_function_info.hpp"
109
#include "duckdb/storage/storage_extension.hpp"
1110

1211
#include "pgduckdb/catalog/pgduckdb_storage.hpp"
@@ -24,8 +23,6 @@
2423
#include "pgduckdb/pgduckdb_userdata_cache.hpp"
2524
#include "pgduckdb/pgduckdb_utils.hpp"
2625
#include "pgduckdb/pgduckdb_xact.hpp"
27-
#include "pgduckdb/scan/postgres_scan.hpp"
28-
2926
#include "pgduckdb/utility/cpp_wrapper.hpp"
3027
#include "pgduckdb/utility/signal_guard.hpp"
3128
#include "pgduckdb/vendor/pg_list.hpp"
@@ -193,13 +190,10 @@ DuckDBManager::Initialize() {
193190
// Register the unsupported type optimizer to run after all other optimizations
194191
duckdb::OptimizerExtension::Register(dbconfig, UnsupportedTypeOptimizer::GetOptimizerExtension());
195192

193+
// Register pgduckdb as a loaded extension so it appears in duckdb_extensions()
196194
auto &extension_manager = database->instance->GetExtensionManager();
197195
auto extension_active_load = extension_manager.BeginLoad("pgduckdb");
198196
D_ASSERT(extension_active_load);
199-
{
200-
duckdb::ExtensionLoader loader(*extension_active_load);
201-
loader.RegisterFunction(PostgresScanTableFunction());
202-
}
203197
duckdb::ExtensionInstallInfo extension_install_info;
204198
extension_active_load->FinishLoad(extension_install_info);
205199

src/scan/postgres_scan.cpp

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#include <duckdb/common/serializer/serializer.hpp>
2-
#include <duckdb/common/serializer/deserializer.hpp>
31
#include <duckdb/common/types.hpp>
42
#include <duckdb/planner/filter/optional_filter.hpp>
53
#include <duckdb/planner/filter/expression_filter.hpp>
@@ -528,28 +526,6 @@ PostgresScanTableFunction::PostgresScanTableFunction()
528526
cardinality = PostgresScanCardinality;
529527
pushdown_expression = PostgresScanPushdownExpression;
530528
to_string = ToString;
531-
serialize = PostgresScanSerialize;
532-
deserialize = PostgresScanDeserialize;
533-
}
534-
535-
void
536-
PostgresScanTableFunction::PostgresScanSerialize(duckdb::Serializer &serializer,
537-
const duckdb::optional_ptr<duckdb::FunctionData> bind_data,
538-
const duckdb::TableFunction &) {
539-
auto &data = bind_data->Cast<PostgresScanFunctionData>();
540-
serializer.WriteProperty(100, "rel", static_cast<uint64_t>(reinterpret_cast<uintptr_t>(data.rel)));
541-
serializer.WriteProperty(101, "cardinality", data.cardinality);
542-
serializer.WriteProperty(102, "snapshot", static_cast<uint64_t>(reinterpret_cast<uintptr_t>(data.snapshot)));
543-
}
544-
545-
duckdb::unique_ptr<duckdb::FunctionData>
546-
PostgresScanTableFunction::PostgresScanDeserialize(duckdb::Deserializer &deserializer, duckdb::TableFunction &) {
547-
auto rel = deserializer.ReadProperty<uint64_t>(100, "rel");
548-
auto cardinality = deserializer.ReadProperty<uint64_t>(101, "cardinality");
549-
auto snap = deserializer.ReadProperty<uint64_t>(102, "snapshot");
550-
return duckdb::make_uniq<PostgresScanFunctionData>(reinterpret_cast<Relation>(static_cast<uintptr_t>(rel)),
551-
cardinality,
552-
reinterpret_cast<Snapshot>(static_cast<uintptr_t>(snap)));
553529
}
554530

555531
duckdb::InsertionOrderPreservingMap<duckdb::string>

test/regression/expected/read_functions.out

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -490,11 +490,7 @@ SELECT * FROM iceberg_snapshots('../../data/lineitem_iceberg') ORDER BY sequence
490490
(2 rows)
491491

492492
SELECT * FROM iceberg_metadata('../../data/lineitem_iceberg', allow_moved_paths => true);
493-
manifest_path | manifest_sequence_number | manifest_content | status | content | file_path
494-
------------------------------------------------------------------------+--------------------------+------------------+---------+----------+------------------------------------------------------------------------------------
495-
lineitem_iceberg/metadata/10eaca8a-1e1c-421e-ad6d-b232e5ee23d3-m1.avro | 2 | DATA | ADDED | EXISTING | lineitem_iceberg/data/00041-414-f3c73457-bbd6-4b92-9c15-17b241171b16-00001.parquet
496-
lineitem_iceberg/metadata/10eaca8a-1e1c-421e-ad6d-b232e5ee23d3-m0.avro | 2 | DATA | DELETED | EXISTING | lineitem_iceberg/data/00000-411-0792dcfe-4e25-4ca3-8ada-175286069a47-00001.parquet
497-
(2 rows)
493+
ERROR: (PGDuckDB/CreatePlan) Prepared query returned an error: Invalid Configuration Error: 'manifest_entry.file_sequence_number' is only allowed to be NULL for ADDED entries
498494

499495
-- read_json
500496
SELECT COUNT(r['a']) FROM read_json('../../data/table.json') r;

third_party/duckdb

Submodule duckdb updated 297 files

third_party/pg_duckdb_extensions.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ duckdb_extension_load(json)
22
duckdb_extension_load(icu)
33
duckdb_extension_load(httpfs
44
GIT_URL https://github.com/duckdb/duckdb-httpfs
5-
GIT_TAG 74f954001f3a740c909181b02259de6c7b942632
5+
GIT_TAG 7e86e7a5e5a1f01f458361bebdfa9b0a9a73a619
66
)

0 commit comments

Comments
 (0)