duckdb 0.6.2-dev1011.0 → 0.6.2-dev1017.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.2-dev1011.0",
5
+ "version": "0.6.2-dev1017.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
@@ -741,7 +741,7 @@ idx_t Catalog::GetCatalogVersion() {
741
741
  }
742
742
 
743
743
  idx_t Catalog::ModifyCatalog() {
744
- return GetDatabase().GetDatabaseManager().catalog_version++;
744
+ return GetDatabase().GetDatabaseManager().ModifyCatalog();
745
745
  }
746
746
 
747
747
  bool Catalog::IsSystemCatalog() const {
@@ -1,8 +1,8 @@
1
1
  #ifndef DUCKDB_VERSION
2
- #define DUCKDB_VERSION "0.6.2-dev1011"
2
+ #define DUCKDB_VERSION "0.6.2-dev1017"
3
3
  #endif
4
4
  #ifndef DUCKDB_SOURCE_ID
5
- #define DUCKDB_SOURCE_ID "71a27493d2"
5
+ #define DUCKDB_SOURCE_ID "b056090a0c"
6
6
  #endif
7
7
  #include "duckdb/function/table/system_functions.hpp"
8
8
  #include "duckdb/main/database.hpp"
@@ -52,6 +52,9 @@ public:
52
52
  transaction_t ActiveQueryNumber() const {
53
53
  return current_query_number;
54
54
  }
55
+ idx_t ModifyCatalog() {
56
+ return catalog_version++;
57
+ }
55
58
 
56
59
  private:
57
60
  //! The system database is a special database that holds system entries (e.g. functions)
@@ -9,6 +9,7 @@
9
9
  #include "duckdb/common/serializer/buffered_file_writer.hpp"
10
10
  #include "duckdb/main/attached_database.hpp"
11
11
  #include "duckdb/main/database.hpp"
12
+ #include "duckdb/main/database_manager.hpp"
12
13
 
13
14
  namespace duckdb {
14
15
 
@@ -17,6 +18,7 @@ ClientData::ClientData(ClientContext &context) : catalog_search_path(make_unique
17
18
  profiler = make_shared<QueryProfiler>(context);
18
19
  query_profiler_history = make_unique<QueryProfilerHistory>();
19
20
  temporary_objects = make_shared<AttachedDatabase>(db, AttachedDatabaseType::TEMP_DATABASE);
21
+ temporary_objects->oid = DatabaseManager::Get(db).ModifyCatalog();
20
22
  random_engine = make_unique<RandomEngine>();
21
23
  file_opener = make_unique<ClientContextFileOpener>(context);
22
24
  temporary_objects->Initialize();
@@ -32,6 +32,7 @@ AttachedDatabase *DatabaseManager::GetDatabase(ClientContext &context, const str
32
32
 
33
33
  void DatabaseManager::AddDatabase(ClientContext &context, unique_ptr<AttachedDatabase> db_instance) {
34
34
  auto name = db_instance->GetName();
35
+ db_instance->oid = ModifyCatalog();
35
36
  DependencyList dependencies;
36
37
  if (default_database.empty()) {
37
38
  default_database = name;
@@ -164,6 +164,27 @@ LogicalType Transformer::TransformTypeName(duckdb_libpgquery::PGTypeName *type_n
164
164
  result_type = LogicalType::USER(user_type_name);
165
165
  break;
166
166
  }
167
+ case LogicalTypeId::TIMESTAMP:
168
+ if (modifier_idx == 0) {
169
+ result_type = LogicalType::TIMESTAMP;
170
+ } else {
171
+ if (modifier_idx > 1) {
172
+ throw ParserException("TIMESTAMP only supports a single modifier");
173
+ }
174
+ if (width > 10) {
175
+ throw ParserException("TIMESTAMP only supports until nano-second precision (9)");
176
+ }
177
+ if (width == 0) {
178
+ result_type = LogicalType::TIMESTAMP_S;
179
+ } else if (width <= 3) {
180
+ result_type = LogicalType::TIMESTAMP_MS;
181
+ } else if (width <= 6) {
182
+ result_type = LogicalType::TIMESTAMP;
183
+ } else {
184
+ result_type = LogicalType::TIMESTAMP_NS;
185
+ }
186
+ }
187
+ break;
167
188
  default:
168
189
  if (modifier_idx > 0) {
169
190
  throw ParserException("Type %s does not support any modifiers!", LogicalType(base_type).ToString());