Skip to content

Commit 2b9d96e

Browse files
duckdblabs-botbrianwyka
authored andcommitted
Update vendored DuckDB sources to 8de3a1c
1 parent fe53d8b commit 2b9d96e

File tree

3 files changed

+24
-8
lines changed

3 files changed

+24
-8
lines changed

src/duckdb/src/function/table/system/duckdb_extensions.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ unique_ptr<GlobalTableFunctionState> DuckDBExtensionsInit(ClientContext &context
9797

9898
// Secondly we scan all installed extensions and their install info
9999
#ifndef WASM_LOADABLE_EXTENSIONS
100-
auto ext_directory = ExtensionHelper::ExtensionDirectory(context);
100+
auto ext_directory = ExtensionHelper::GetExtensionDirectoryPath(context);
101101
fs.ListFiles(ext_directory, [&](const string &path, bool is_directory) {
102102
if (!StringUtil::EndsWith(path, ".duckdb_extension")) {
103103
return;

src/duckdb/src/include/duckdb/main/extension_helper.hpp

+4
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,10 @@ class ExtensionHelper {
123123
static string ExtensionDirectory(ClientContext &context);
124124
static string ExtensionDirectory(DatabaseInstance &db, FileSystem &fs);
125125

126+
// Get the extension directory path
127+
static string GetExtensionDirectoryPath(ClientContext &context);
128+
static string GetExtensionDirectoryPath(DatabaseInstance &db, FileSystem &fs);
129+
126130
static bool CheckExtensionSignature(FileHandle &handle, ParsedExtensionMetaData &parsed_metadata,
127131
const bool allow_community_extensions);
128132
static ParsedExtensionMetaData ParseExtensionMetaData(const char *metadata) noexcept;

src/duckdb/src/main/extension/extension_install.cpp

+19-7
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,13 @@ duckdb::string ExtensionHelper::DefaultExtensionFolder(FileSystem &fs) {
7070
return res;
7171
}
7272

73-
string ExtensionHelper::ExtensionDirectory(DatabaseInstance &db, FileSystem &fs) {
74-
#ifdef WASM_LOADABLE_EXTENSIONS
75-
throw PermissionException("ExtensionDirectory functionality is not supported in duckdb-wasm");
76-
#endif
73+
string ExtensionHelper::GetExtensionDirectoryPath(ClientContext &context) {
74+
auto &db = DatabaseInstance::GetDatabase(context);
75+
auto &fs = FileSystem::GetFileSystem(context);
76+
return GetExtensionDirectoryPath(db, fs);
77+
}
78+
79+
string ExtensionHelper::GetExtensionDirectoryPath(DatabaseInstance &db, FileSystem &fs) {
7780
string extension_directory;
7881
auto &config = db.config;
7982
if (!config.options.extension_directory.empty()) { // create the extension directory if not present
@@ -83,10 +86,19 @@ string ExtensionHelper::ExtensionDirectory(DatabaseInstance &db, FileSystem &fs)
8386
} else { // otherwise default to home
8487
extension_directory = DefaultExtensionFolder(fs);
8588
}
89+
90+
extension_directory = fs.ConvertSeparators(extension_directory);
91+
// expand ~ in extension directory
92+
extension_directory = fs.ExpandPath(extension_directory);
93+
return extension_directory;
94+
}
95+
96+
string ExtensionHelper::ExtensionDirectory(DatabaseInstance &db, FileSystem &fs) {
97+
#ifdef WASM_LOADABLE_EXTENSIONS
98+
throw PermissionException("ExtensionDirectory functionality is not supported in duckdb-wasm");
99+
#endif
100+
string extension_directory = GetExtensionDirectoryPath(db, fs);
86101
{
87-
extension_directory = fs.ConvertSeparators(extension_directory);
88-
// expand ~ in extension directory
89-
extension_directory = fs.ExpandPath(extension_directory);
90102
if (!fs.DirectoryExists(extension_directory)) {
91103
auto sep = fs.PathSeparator(extension_directory);
92104
auto splits = StringUtil::Split(extension_directory, sep);

0 commit comments

Comments
 (0)