duckdb 0.3.5-dev1355.0 → 0.3.5-dev1362.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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
- "version": "0.3.5-dev1355.0",
4
+ "version": "0.3.5-dev1362.0",
5
5
  "description": "DuckDB node.js API",
6
6
  "gypfile": true,
7
7
  "dependencies": {
package/src/duckdb.cpp CHANGED
@@ -7663,6 +7663,18 @@ string StatementTypeToString(StatementType type) {
7663
7663
  }
7664
7664
  return "INVALID";
7665
7665
  }
7666
+
7667
+ string StatementReturnTypeToString(StatementReturnType type) {
7668
+ switch (type) {
7669
+ case StatementReturnType::QUERY_RESULT:
7670
+ return "QUERY_RESULT";
7671
+ case StatementReturnType::CHANGED_ROWS:
7672
+ return "CHANGED_ROWS";
7673
+ case StatementReturnType::NOTHING:
7674
+ return "NOTHING";
7675
+ }
7676
+ return "INVALID";
7677
+ }
7666
7678
  // LCOV_EXCL_STOP
7667
7679
 
7668
7680
  } // namespace duckdb
@@ -156969,7 +156981,28 @@ unique_ptr<Constraint> Transformer::TransformConstraint(duckdb_libpgquery::PGLis
156969
156981
  "dictionary, pfor, bitpacking or fsst");
156970
156982
  }
156971
156983
  return nullptr;
156972
- case duckdb_libpgquery::PG_CONSTR_FOREIGN:
156984
+ case duckdb_libpgquery::PG_CONSTR_FOREIGN: {
156985
+ ForeignKeyInfo fk_info;
156986
+ fk_info.type = ForeignKeyType::FK_TYPE_FOREIGN_KEY_TABLE;
156987
+ if (constraint->pktable->schemaname) {
156988
+ fk_info.schema = constraint->pktable->schemaname;
156989
+ } else {
156990
+ fk_info.schema = "";
156991
+ }
156992
+ fk_info.table = constraint->pktable->relname;
156993
+ vector<string> pk_columns, fk_columns;
156994
+
156995
+ fk_columns.emplace_back(column.Name().c_str());
156996
+ if (constraint->pk_attrs) {
156997
+ for (auto kc = constraint->pk_attrs->head; kc; kc = kc->next) {
156998
+ pk_columns.emplace_back(reinterpret_cast<duckdb_libpgquery::PGValue *>(kc->data.ptr_value)->val.str);
156999
+ }
157000
+ }
157001
+ if (pk_columns.size() != fk_columns.size()) {
157002
+ throw ParserException("The number of referencing and referenced columns for foreign keys must be the same");
157003
+ }
157004
+ return make_unique<ForeignKeyConstraint>(pk_columns, fk_columns, move(fk_info));
157005
+ }
156973
157006
  default:
156974
157007
  throw NotImplementedException("Constraint not implemented!");
156975
157008
  }
@@ -160280,6 +160313,11 @@ unique_ptr<CreateStatement> Transformer::TransformCreateTable(duckdb_libpgquery:
160280
160313
  throw NotImplementedException("ColumnDef type not handled yet");
160281
160314
  }
160282
160315
  }
160316
+
160317
+ if (!column_count) {
160318
+ throw ParserException("Table must have at least one column!");
160319
+ }
160320
+
160283
160321
  result->info = move(info);
160284
160322
  return result;
160285
160323
  }
@@ -174711,8 +174749,8 @@ unique_ptr<BufferHandle> BufferManager::Pin(shared_ptr<BlockHandle> &handle) {
174711
174749
  void BufferManager::AddToEvictionQueue(shared_ptr<BlockHandle> &handle) {
174712
174750
  D_ASSERT(handle->readers == 0);
174713
174751
  handle->eviction_timestamp++;
174752
+ PurgeQueue();
174714
174753
  queue->q.enqueue(make_unique<BufferEvictionNode>(weak_ptr<BlockHandle>(handle), handle->eviction_timestamp));
174715
- // FIXME: do some house-keeping to prevent the queue from being flooded with many old blocks
174716
174754
  }
174717
174755
 
174718
174756
  void BufferManager::Unpin(shared_ptr<BlockHandle> &handle) {
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 "1fe615680"
15
- #define DUCKDB_VERSION "v0.3.5-dev1355"
14
+ #define DUCKDB_SOURCE_ID "c46211d64"
15
+ #define DUCKDB_VERSION "v0.3.5-dev1362"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //
@@ -9897,6 +9897,8 @@ enum class StatementReturnType : uint8_t {
9897
9897
  NOTHING // the statement returns nothing
9898
9898
  };
9899
9899
 
9900
+ string StatementReturnTypeToString(StatementReturnType type);
9901
+
9900
9902
  //! A struct containing various properties of a SQL statement
9901
9903
  struct StatementProperties {
9902
9904
  StatementProperties()