Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
45c98cd
fix the name conflict of BLOCK_SIZE between duckdb and iouring
yuly16 Jun 9, 2023
114fca1
close filter_pushdown and filter_prune of parquet extension, in order…
yuly16 Jun 9, 2023
fa8d72a
1. Set a larger timeout for benchmark, since sometimes we test large …
yuly16 Jun 9, 2023
22e92e6
add a pixels example.
yuly16 Jun 9, 2023
b68ea50
add parquet and pixels benchmark
yuly16 Jun 9, 2023
77c9e6e
Update benchmark file, since pixels change the v-0-order to v-0-ordered
yuly16 Jul 15, 2023
ac220a3
update pixels-example main.cpp
yuly16 Jul 19, 2023
c8be096
SSD array multi dir read support
yuly16 Jul 31, 2023
f733829
modify the micro-benchmark query so that the sink doesn't spend too m…
yuly16 Aug 6, 2023
ace4e05
fix the cmakeLists of pixels-example because the directory of duckdb …
yuly16 Aug 8, 2023
96d915d
Set BUILD_BENCHMARKS as true by default in CMakeLists.txt
yuly16 Aug 9, 2023
9130b1a
Add multidir-generator.py to split data to different dirs
yuly16 Aug 9, 2023
f9b0723
add a split multi dir python script
yuly16 Aug 9, 2023
748948b
parquet multidir generator and support multidir read
yuly16 Aug 29, 2023
3ea1216
support direct pass for null bit map in the pixels c++ reader
yuly16 Aug 7, 2023
cde7e83
add clickbench benchmark
yuly16 Jan 3, 2024
43c02e8
parquet clickbench benchmark
yuly16 Jan 8, 2024
89e5f48
add clickbench microbenchmark for pixels and parquet
yuly16 Jan 8, 2024
a4610b0
add parquet core config
yuly16 Jan 10, 2024
8e1fff6
add the script to generate plain parquet.
yuly16 Jan 30, 2024
a5c40ad
server49
yuly16 Aug 10, 2023
7b201db
add clickbench-size
yuly16 Jan 24, 2024
cd6a64d
add clickbench
yuly16 Jan 25, 2024
9f4c435
add more functionality for scripts in server49
yuly16 Jan 30, 2024
598ad6c
add parquet ssd array support
yuly16 Jan 22, 2024
8654c14
Milestone: systematic experiment tools for tpch/clickbench
yuly16 Jan 31, 2024
66a5f31
change main function to read pixels-example in PIXELS_SRC
yuly16 Jun 2, 2024
349a011
add new run scripts
whzruc Sep 18, 2024
4c685b2
Merge branch 'duckdb:main' into main
whzruc Sep 20, 2024
207a770
add new run scripts and change the benchmark_runner's output
whzruc Sep 25, 2024
5e38fd2
add new run scripts and change the benchmark_runner's output
whzruc Sep 25, 2024
01379cd
Merge branch 'duckdb:main' into main
whzruc Sep 25, 2024
1a5d63c
pixels supported for duckdb 1.0
whzruc Sep 29, 2024
d0b0bd0
mini-pixels path
whzruc Oct 12, 2024
65ea177
fix run benchmark
whzruc Oct 12, 2024
a2fe4b4
clean blank lines.
bianhq Oct 27, 2024
81cf802
using PIXELS_SRC to replace the relative path (#2)
bianhq Dec 19, 2024
dd415bb
fix/correct include path (#4)
gengdy1545 Jan 17, 2025
4c3a838
update duckdb
whzruc Jun 25, 2025
f48a730
merge duckdb main
whzruc Jul 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
159 changes: 159 additions & 0 deletions .github/patches/extensions/azure/azure_loader.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
diff --git a/src/azure_blob_filesystem.cpp b/src/azure_blob_filesystem.cpp
index 6ba3a0e..d8c79a3 100644
--- a/src/azure_blob_filesystem.cpp
+++ b/src/azure_blob_filesystem.cpp
@@ -12,7 +12,7 @@
#include "duckdb/main/secret/secret_manager.hpp"
#include "duckdb/function/scalar/string_common.hpp"
#include "duckdb/function/scalar_function.hpp"
-#include "duckdb/main/extension_util.hpp"
+#include "duckdb/main/extension/extension_loader.hpp"
#include "duckdb/main/client_data.hpp"
#include "duckdb/parser/parsed_data/create_scalar_function_info.hpp"
#include <azure/storage/blobs.hpp>
diff --git a/src/azure_extension.cpp b/src/azure_extension.cpp
index 5ce0b8d..d0758e2 100644
--- a/src/azure_extension.cpp
+++ b/src/azure_extension.cpp
@@ -1,5 +1,3 @@
-#define DUCKDB_EXTENSION_MAIN
-
#include "azure_extension.hpp"
#include "azure_blob_filesystem.hpp"
#include "azure_dfs_filesystem.hpp"
@@ -7,14 +5,15 @@

namespace duckdb {

-static void LoadInternal(DatabaseInstance &instance) {
+static void LoadInternal(ExtensionLoader &loader) {
// Load filesystem
+ auto &instance = loader.GetDatabaseInstance();
auto &fs = instance.GetFileSystem();
fs.RegisterSubSystem(make_uniq<AzureBlobStorageFileSystem>());
fs.RegisterSubSystem(make_uniq<AzureDfsStorageFileSystem>());

// Load Secret functions
- CreateAzureSecretFunctions::Register(instance);
+ CreateAzureSecretFunctions::Register(loader);

// Load extension config
auto &config = DBConfig::GetConfig(instance);
@@ -77,8 +76,8 @@ static void LoadInternal(DatabaseInstance &instance) {
Value(nullptr));
}

-void AzureExtension::Load(DuckDB &db) {
- LoadInternal(*db.instance);
+void AzureExtension::Load(ExtensionLoader &loader) {
+ LoadInternal(loader);
}
std::string AzureExtension::Name() {
return "azure";
@@ -88,15 +87,8 @@ std::string AzureExtension::Name() {

extern "C" {

-DUCKDB_EXTENSION_API void azure_init(duckdb::DatabaseInstance &db) {
- LoadInternal(db);
-}
-
-DUCKDB_EXTENSION_API const char *azure_version() {
- return duckdb::DuckDB::LibraryVersion();
-}
+DUCKDB_CPP_EXTENSION_ENTRY(azure, loader) {
+ duckdb::LoadInternal(loader);
}

-#ifndef DUCKDB_EXTENSION_MAIN
-#error DUCKDB_EXTENSION_MAIN not defined
-#endif
+}
\ No newline at end of file
diff --git a/src/azure_secret.cpp b/src/azure_secret.cpp
index e9f08f0..7b1919a 100644
--- a/src/azure_secret.cpp
+++ b/src/azure_secret.cpp
@@ -2,7 +2,7 @@
#include "azure_dfs_filesystem.hpp"
#include "duckdb/common/types.hpp"
#include "duckdb/common/unique_ptr.hpp"
-#include "duckdb/main/extension_util.hpp"
+#include "duckdb/main/extension/extension_loader.hpp"
#include "duckdb/main/secret/secret.hpp"
#include <azure/identity/azure_cli_credential.hpp>
#include <azure/identity/chained_token_credential.hpp>
@@ -148,7 +148,7 @@ static void RegisterCommonSecretParameters(CreateSecretFunction &function) {
function.named_parameters["proxy_password"] = LogicalType::VARCHAR;
}

-void CreateAzureSecretFunctions::Register(DatabaseInstance &instance) {
+void CreateAzureSecretFunctions::Register(ExtensionLoader &loader) {
string type = "azure";

// Register the new type
@@ -156,19 +156,19 @@ void CreateAzureSecretFunctions::Register(DatabaseInstance &instance) {
secret_type.name = type;
secret_type.deserializer = KeyValueSecret::Deserialize<KeyValueSecret>;
secret_type.default_provider = "config";
- ExtensionUtil::RegisterSecretType(instance, secret_type);
+ loader.RegisterSecretType(secret_type);

// Register the connection string secret provider
CreateSecretFunction connection_string_function = {type, "config", CreateAzureSecretFromConfig};
connection_string_function.named_parameters["connection_string"] = LogicalType::VARCHAR;
RegisterCommonSecretParameters(connection_string_function);
- ExtensionUtil::RegisterFunction(instance, connection_string_function);
+ loader.RegisterFunction(connection_string_function);

// Register the credential_chain secret provider
CreateSecretFunction cred_chain_function = {type, "credential_chain", CreateAzureSecretFromCredentialChain};
cred_chain_function.named_parameters["chain"] = LogicalType::VARCHAR;
RegisterCommonSecretParameters(cred_chain_function);
- ExtensionUtil::RegisterFunction(instance, cred_chain_function);
+ loader.RegisterFunction(cred_chain_function);

// Register the service_principal secret provider
CreateSecretFunction service_principal_function = {type, "service_principal",
@@ -178,13 +178,13 @@ void CreateAzureSecretFunctions::Register(DatabaseInstance &instance) {
service_principal_function.named_parameters["client_secret"] = LogicalType::VARCHAR;
service_principal_function.named_parameters["client_certificate_path"] = LogicalType::VARCHAR;
RegisterCommonSecretParameters(service_principal_function);
- ExtensionUtil::RegisterFunction(instance, service_principal_function);
+ loader.RegisterFunction(service_principal_function);

// Register the access_token secret provider
CreateSecretFunction access_token_function = {type, "access_token", CreateAzureSecretFromAccessToken};
access_token_function.named_parameters["access_token"] = LogicalType::VARCHAR;
RegisterCommonSecretParameters(access_token_function);
- ExtensionUtil::RegisterFunction(instance, access_token_function);
+ loader.RegisterFunction(access_token_function);
}

} // namespace duckdb
diff --git a/src/include/azure_extension.hpp b/src/include/azure_extension.hpp
index c9be37e..1a8404f 100644
--- a/src/include/azure_extension.hpp
+++ b/src/include/azure_extension.hpp
@@ -5,7 +5,7 @@
namespace duckdb {
class AzureExtension : public Extension {
public:
- void Load(DuckDB &db) override;
+ void Load(ExtensionLoader &loader) override;
std::string Name() override;
};

diff --git a/src/include/azure_secret.hpp b/src/include/azure_secret.hpp
index 3dc39e9..6b81816 100644
--- a/src/include/azure_secret.hpp
+++ b/src/include/azure_secret.hpp
@@ -18,7 +18,7 @@ class CreateSecretFunction;
struct CreateAzureSecretFunctions {
public:
//! Register all CreateSecretFunctions
- static void Register(DatabaseInstance &instance);
+ static void Register(ExtensionLoader &instance);
};

} // namespace duckdb
Loading
Loading