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 CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
4
  "types": "./lib/duckdb.d.ts",
5
- "version": "0.6.1-dev15.0",
5
+ "version": "0.6.1-dev19.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
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::GetInstance(const string &database, const DBConfig &config) {
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::CreateInstance(const string &database, DBConfig &config, bool cache_instance) {
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 "d5002251e4"
15
- #define DUCKDB_VERSION "v0.6.1-dev15"
14
+ #define DUCKDB_SOURCE_ID "40e83880af"
15
+ #define DUCKDB_VERSION "v0.6.1-dev19"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //