duckdb 0.6.1-dev15.0 → 0.6.1-dev19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/duckdb.cpp +31 -3
- package/src/duckdb.hpp +2 -2
- package/src/parquet-amalgamation.cpp +37028 -37026
package/package.json
CHANGED
package/src/duckdb.cpp
CHANGED
|
@@ -138304,12 +138304,19 @@ public:
|
|
|
138304
138304
|
//! Creates and caches a new DB Instance (Fails if a cached instance already exists)
|
|
138305
138305
|
shared_ptr<DuckDB> CreateInstance(const string &database, DBConfig &config_dict, bool cache_instance = true);
|
|
138306
138306
|
|
|
138307
|
+
//! Creates and caches a new DB Instance (Fails if a cached instance already exists)
|
|
138308
|
+
shared_ptr<DuckDB> GetOrCreateInstance(const string &database, DBConfig &config_dict, bool cache_instance);
|
|
138309
|
+
|
|
138307
138310
|
private:
|
|
138308
138311
|
//! A map with the cached instances <absolute_path/instance>
|
|
138309
138312
|
unordered_map<string, weak_ptr<DuckDB>> db_instances;
|
|
138310
138313
|
|
|
138311
138314
|
//! Lock to alter cache
|
|
138312
138315
|
mutex cache_lock;
|
|
138316
|
+
|
|
138317
|
+
private:
|
|
138318
|
+
shared_ptr<DuckDB> GetInstanceInternal(const string &database, const DBConfig &config_dict);
|
|
138319
|
+
shared_ptr<DuckDB> CreateInstanceInternal(const string &database, DBConfig &config_dict, bool cache_instance);
|
|
138313
138320
|
};
|
|
138314
138321
|
} // namespace duckdb
|
|
138315
138322
|
|
|
@@ -138330,8 +138337,7 @@ string GetDBAbsolutePath(const string &database) {
|
|
|
138330
138337
|
return FileSystem::JoinPath(FileSystem::GetWorkingDirectory(), database);
|
|
138331
138338
|
}
|
|
138332
138339
|
|
|
138333
|
-
shared_ptr<DuckDB> DBInstanceCache::
|
|
138334
|
-
lock_guard<mutex> l(cache_lock);
|
|
138340
|
+
shared_ptr<DuckDB> DBInstanceCache::GetInstanceInternal(const string &database, const DBConfig &config) {
|
|
138335
138341
|
shared_ptr<DuckDB> db_instance;
|
|
138336
138342
|
auto abs_database_path = GetDBAbsolutePath(database);
|
|
138337
138343
|
if (db_instances.find(abs_database_path) != db_instances.end()) {
|
|
@@ -138350,8 +138356,13 @@ shared_ptr<DuckDB> DBInstanceCache::GetInstance(const string &database, const DB
|
|
|
138350
138356
|
return db_instance;
|
|
138351
138357
|
}
|
|
138352
138358
|
|
|
138353
|
-
shared_ptr<DuckDB> DBInstanceCache::
|
|
138359
|
+
shared_ptr<DuckDB> DBInstanceCache::GetInstance(const string &database, const DBConfig &config) {
|
|
138354
138360
|
lock_guard<mutex> l(cache_lock);
|
|
138361
|
+
return GetInstanceInternal(database, config);
|
|
138362
|
+
}
|
|
138363
|
+
|
|
138364
|
+
shared_ptr<DuckDB> DBInstanceCache::CreateInstanceInternal(const string &database, DBConfig &config,
|
|
138365
|
+
bool cache_instance) {
|
|
138355
138366
|
auto abs_database_path = GetDBAbsolutePath(database);
|
|
138356
138367
|
if (db_instances.find(abs_database_path) != db_instances.end()) {
|
|
138357
138368
|
throw duckdb::Exception(ExceptionType::CONNECTION,
|
|
@@ -138369,6 +138380,23 @@ shared_ptr<DuckDB> DBInstanceCache::CreateInstance(const string &database, DBCon
|
|
|
138369
138380
|
return db_instance;
|
|
138370
138381
|
}
|
|
138371
138382
|
|
|
138383
|
+
shared_ptr<DuckDB> DBInstanceCache::CreateInstance(const string &database, DBConfig &config, bool cache_instance) {
|
|
138384
|
+
lock_guard<mutex> l(cache_lock);
|
|
138385
|
+
return CreateInstanceInternal(database, config, cache_instance);
|
|
138386
|
+
}
|
|
138387
|
+
|
|
138388
|
+
shared_ptr<DuckDB> DBInstanceCache::GetOrCreateInstance(const string &database, DBConfig &config_dict,
|
|
138389
|
+
bool cache_instance) {
|
|
138390
|
+
lock_guard<mutex> l(cache_lock);
|
|
138391
|
+
if (cache_instance) {
|
|
138392
|
+
auto instance = GetInstanceInternal(database, config_dict);
|
|
138393
|
+
if (instance) {
|
|
138394
|
+
return instance;
|
|
138395
|
+
}
|
|
138396
|
+
}
|
|
138397
|
+
return CreateInstanceInternal(database, config_dict, cache_instance);
|
|
138398
|
+
}
|
|
138399
|
+
|
|
138372
138400
|
} // namespace duckdb
|
|
138373
138401
|
|
|
138374
138402
|
|
package/src/duckdb.hpp
CHANGED
|
@@ -11,8 +11,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|
|
11
11
|
#pragma once
|
|
12
12
|
#define DUCKDB_AMALGAMATION 1
|
|
13
13
|
#define DUCKDB_AMALGAMATION_EXTENDED 1
|
|
14
|
-
#define DUCKDB_SOURCE_ID "
|
|
15
|
-
#define DUCKDB_VERSION "v0.6.1-
|
|
14
|
+
#define DUCKDB_SOURCE_ID "40e83880af"
|
|
15
|
+
#define DUCKDB_VERSION "v0.6.1-dev19"
|
|
16
16
|
//===----------------------------------------------------------------------===//
|
|
17
17
|
// DuckDB
|
|
18
18
|
//
|