duckdb 0.5.2-dev2256.0 → 0.5.2-dev2264.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.5.2-dev2256.0",
5
+ "version": "0.5.2-dev2264.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
package/src/duckdb.cpp CHANGED
@@ -191306,6 +191306,10 @@ public:
191306
191306
  protected:
191307
191307
  BindResult BindExpression(unique_ptr<ParsedExpression> *expr_ptr, idx_t depth,
191308
191308
  bool root_expression = false) override;
191309
+
191310
+ // check certain column ref Names to make sure they are supported in the returning statement
191311
+ // (i.e rowid)
191312
+ BindResult BindColumnRef(unique_ptr<ParsedExpression> *expr_ptr, idx_t depth);
191309
191313
  };
191310
191314
 
191311
191315
  } // namespace duckdb
@@ -191390,13 +191394,13 @@ BoundStatement Binder::Bind(DeleteStatement &stmt) {
191390
191394
  unique_ptr<LogicalOperator> del_as_logicaloperator = move(del);
191391
191395
  return BindReturning(move(stmt.returning_list), table, update_table_index, move(del_as_logicaloperator),
191392
191396
  move(result));
191393
- } else {
191394
- result.plan = move(del);
191395
- result.names = {"Count"};
191396
- result.types = {LogicalType::BIGINT};
191397
- properties.allow_stream_result = false;
191398
- properties.return_type = StatementReturnType::CHANGED_ROWS;
191399
191397
  }
191398
+ result.plan = move(del);
191399
+ result.names = {"Count"};
191400
+ result.types = {LogicalType::BIGINT};
191401
+ properties.allow_stream_result = false;
191402
+ properties.return_type = StatementReturnType::CHANGED_ROWS;
191403
+
191400
191404
  return result;
191401
191405
  }
191402
191406
 
@@ -191959,13 +191963,13 @@ BoundStatement Binder::Bind(InsertStatement &stmt) {
191959
191963
 
191960
191964
  return BindReturning(move(stmt.returning_list), table, insert_table_index, move(index_as_logicaloperator),
191961
191965
  move(result));
191962
- } else {
191963
- D_ASSERT(result.types.size() == result.names.size());
191964
- result.plan = move(insert);
191965
- properties.allow_stream_result = false;
191966
- properties.return_type = StatementReturnType::CHANGED_ROWS;
191967
- return result;
191968
191966
  }
191967
+
191968
+ D_ASSERT(result.types.size() == result.names.size());
191969
+ result.plan = move(insert);
191970
+ properties.allow_stream_result = false;
191971
+ properties.return_type = StatementReturnType::CHANGED_ROWS;
191972
+ return result;
191969
191973
  }
191970
191974
 
191971
191975
  } // namespace duckdb
@@ -192616,15 +192620,14 @@ BoundStatement Binder::Bind(UpdateStatement &stmt) {
192616
192620
 
192617
192621
  return BindReturning(move(stmt.returning_list), table, update_table_index, move(update_as_logicaloperator),
192618
192622
  move(result));
192619
-
192620
- } else {
192621
- update->table_index = 0;
192622
- result.names = {"Count"};
192623
- result.types = {LogicalType::BIGINT};
192624
- result.plan = move(update);
192625
- properties.allow_stream_result = false;
192626
- properties.return_type = StatementReturnType::CHANGED_ROWS;
192627
192623
  }
192624
+
192625
+ update->table_index = 0;
192626
+ result.names = {"Count"};
192627
+ result.types = {LogicalType::BIGINT};
192628
+ result.plan = move(update);
192629
+ properties.allow_stream_result = false;
192630
+ properties.return_type = StatementReturnType::CHANGED_ROWS;
192628
192631
  return result;
192629
192632
  }
192630
192633
 
@@ -196828,6 +196831,14 @@ namespace duckdb {
196828
196831
  ReturningBinder::ReturningBinder(Binder &binder, ClientContext &context) : ExpressionBinder(binder, context) {
196829
196832
  }
196830
196833
 
196834
+ BindResult ReturningBinder::BindColumnRef(unique_ptr<ParsedExpression> *expr_ptr, idx_t depth) {
196835
+ auto &expr = **expr_ptr;
196836
+ if (expr.GetName() == "rowid") {
196837
+ return BindResult("rowid is not supported in returning statements");
196838
+ }
196839
+ return ExpressionBinder::BindExpression(expr_ptr, depth);
196840
+ }
196841
+
196831
196842
  BindResult ReturningBinder::BindExpression(unique_ptr<ParsedExpression> *expr_ptr, idx_t depth, bool root_expression) {
196832
196843
  auto &expr = **expr_ptr;
196833
196844
  switch (expr.GetExpressionClass()) {
@@ -196835,6 +196846,8 @@ BindResult ReturningBinder::BindExpression(unique_ptr<ParsedExpression> *expr_pt
196835
196846
  return BindResult("SUBQUERY is not supported in returning statements");
196836
196847
  case ExpressionClass::BOUND_SUBQUERY:
196837
196848
  return BindResult("BOUND SUBQUERY is not supported in returning statements");
196849
+ case ExpressionClass::COLUMN_REF:
196850
+ return BindColumnRef(expr_ptr, depth);
196838
196851
  default:
196839
196852
  return ExpressionBinder::BindExpression(expr_ptr, depth);
196840
196853
  }
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 "47bb125a91"
15
- #define DUCKDB_VERSION "v0.5.2-dev2256"
14
+ #define DUCKDB_SOURCE_ID "a2a67f76e8"
15
+ #define DUCKDB_VERSION "v0.5.2-dev2264"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //