22
33#include " duckdb/main/connection.hpp"
44#include " duckdb/main/database.hpp"
5+ #if DUCKDB_MINOR_VERSION > 3
6+ #include " duckdb/main/extension_helper.hpp"
7+ #endif
58#include " mooncake_extension.hpp"
69#include " pgmooncake.hpp"
710#include " storage/mooncake_storage.hpp"
811
912namespace duckdb {
1013
14+ #if DUCKDB_MINOR_VERSION == 3
1115void MooncakeExtension::Load (DuckDB &db) {
1216 auto &config = DBConfig::GetConfig (*db.instance );
17+ #else
18+ void MooncakeExtension::Load (ExtensionLoader &loader) {
19+ auto &db = loader.GetDatabaseInstance ();
20+ ExtensionHelper::AutoLoadExtension (db, " parquet" );
21+ auto &config = DBConfig::GetConfig (db);
22+ #endif
1323 config.storage_extensions [" mooncake" ] = make_uniq<MooncakeStorageExtension>();
1424
1525 string init_query = Pgmooncake::GetInitQuery ();
@@ -33,6 +43,7 @@ string MooncakeExtension::Version() const {
3343} // namespace duckdb
3444
3545extern " C" {
46+ #if DUCKDB_MINOR_VERSION == 3
3647DUCKDB_EXTENSION_API void mooncake_init (duckdb::DatabaseInstance &db) {
3748 duckdb::DuckDB db_wrapper (db);
3849 db_wrapper.LoadExtension <duckdb::MooncakeExtension>();
@@ -41,4 +52,9 @@ DUCKDB_EXTENSION_API void mooncake_init(duckdb::DatabaseInstance &db) {
4152DUCKDB_EXTENSION_API const char *mooncake_version () {
4253 return duckdb::DuckDB::LibraryVersion ();
4354}
55+ #else
56+ DUCKDB_CPP_EXTENSION_ENTRY (mooncake, loader) {
57+ duckdb::MooncakeExtension ().Load (loader);
58+ }
59+ #endif
4460}
0 commit comments