duckdb 0.7.1-dev137.0 → 0.7.1-dev157.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.7.1-dev137.0",
5
+ "version": "0.7.1-dev157.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
@@ -664,6 +664,7 @@ public:
664
664
  if (!matches[outer_idx]) {
665
665
  true_sel.set_index(count++, outer_idx);
666
666
  if (count >= STANDARD_VECTOR_SIZE) {
667
+ outer_idx++;
667
668
  break;
668
669
  }
669
670
  }
@@ -847,8 +848,6 @@ public:
847
848
 
848
849
  lstate.joiner = make_unique<IEJoinUnion>(client, op, left_table, b1, right_table, b2);
849
850
  return;
850
- } else {
851
- --next_pair;
852
851
  }
853
852
 
854
853
  // Outer joins
@@ -864,6 +863,7 @@ public:
864
863
  // Left outer blocks
865
864
  const auto l = next_left++;
866
865
  if (l < left_outers) {
866
+ lstate.joiner = nullptr;
867
867
  lstate.left_block_index = l;
868
868
  lstate.left_base = left_bases[l];
869
869
 
@@ -873,12 +873,12 @@ public:
873
873
  return;
874
874
  } else {
875
875
  lstate.left_matches = nullptr;
876
- --next_left;
877
876
  }
878
877
 
879
878
  // Right outer block
880
879
  const auto r = next_right++;
881
880
  if (r < right_outers) {
881
+ lstate.joiner = nullptr;
882
882
  lstate.right_block_index = r;
883
883
  lstate.right_base = right_bases[r];
884
884
 
@@ -888,7 +888,6 @@ public:
888
888
  return;
889
889
  } else {
890
890
  lstate.right_matches = nullptr;
891
- --next_right;
892
891
  }
893
892
  }
894
893
 
@@ -936,7 +935,7 @@ void PhysicalIEJoin::GetData(ExecutionContext &context, DataChunk &result, Globa
936
935
 
937
936
  ie_gstate.Initialize(ie_sink);
938
937
 
939
- if (!ie_lstate.joiner) {
938
+ if (!ie_lstate.joiner && !ie_lstate.left_matches && !ie_lstate.right_matches) {
940
939
  ie_gstate.GetNextPair(context.client, ie_sink, ie_lstate);
941
940
  }
942
941
 
@@ -959,8 +958,7 @@ void PhysicalIEJoin::GetData(ExecutionContext &context, DataChunk &result, Globa
959
958
  ie_gstate.GetNextPair(context.client, ie_sink, ie_lstate);
960
959
  continue;
961
960
  }
962
-
963
- SliceSortedPayload(result, ie_sink.tables[0]->global_sort_state, ie_lstate.left_base, ie_lstate.true_sel,
961
+ SliceSortedPayload(result, ie_sink.tables[0]->global_sort_state, ie_lstate.left_block_index, ie_lstate.true_sel,
964
962
  count);
965
963
 
966
964
  // Fill in NULLs to the right
@@ -983,8 +981,8 @@ void PhysicalIEJoin::GetData(ExecutionContext &context, DataChunk &result, Globa
983
981
  continue;
984
982
  }
985
983
 
986
- SliceSortedPayload(result, ie_sink.tables[1]->global_sort_state, ie_lstate.right_base, ie_lstate.true_sel,
987
- count, left_cols);
984
+ SliceSortedPayload(result, ie_sink.tables[1]->global_sort_state, ie_lstate.right_block_index,
985
+ ie_lstate.true_sel, count, left_cols);
988
986
 
989
987
  // Fill in NULLs to the left
990
988
  for (idx_t col_idx = 0; col_idx < left_cols; ++col_idx) {
@@ -1,8 +1,8 @@
1
1
  #ifndef DUCKDB_VERSION
2
- #define DUCKDB_VERSION "0.7.1-dev137"
2
+ #define DUCKDB_VERSION "0.7.1-dev157"
3
3
  #endif
4
4
  #ifndef DUCKDB_SOURCE_ID
5
- #define DUCKDB_SOURCE_ID "eb65c593fe"
5
+ #define DUCKDB_SOURCE_ID "525abf5063"
6
6
  #endif
7
7
  #include "duckdb/function/table/system_functions.hpp"
8
8
  #include "duckdb/main/database.hpp"
@@ -665,6 +665,7 @@ unique_ptr<PendingQueryResult> ClientContext::PendingStatementOrPreparedStatemen
665
665
  statement = std::move(copied_statement);
666
666
  break;
667
667
  }
668
+ #ifndef DUCKDB_ALTERNATIVE_VERIFY
668
669
  case StatementType::COPY_STATEMENT:
669
670
  case StatementType::INSERT_STATEMENT:
670
671
  case StatementType::DELETE_STATEMENT:
@@ -685,6 +686,7 @@ unique_ptr<PendingQueryResult> ClientContext::PendingStatementOrPreparedStatemen
685
686
  statement = std::move(parser.statements[0]);
686
687
  break;
687
688
  }
689
+ #endif
688
690
  default:
689
691
  statement = std::move(copied_statement);
690
692
  break;
@@ -24,8 +24,9 @@ ExtensionAlias ExtensionHelper::GetExtensionAlias(idx_t index) {
24
24
  }
25
25
 
26
26
  string ExtensionHelper::ApplyExtensionAlias(string extension_name) {
27
+ auto lname = StringUtil::Lower(extension_name);
27
28
  for (idx_t index = 0; internal_aliases[index].alias; index++) {
28
- if (extension_name == internal_aliases[index].alias) {
29
+ if (lname == internal_aliases[index].alias) {
29
30
  return internal_aliases[index].extension;
30
31
  }
31
32
  }
@@ -13,6 +13,9 @@ DeleteStatement::DeleteStatement(const DeleteStatement &other) : SQLStatement(ot
13
13
  for (const auto &using_clause : other.using_clauses) {
14
14
  using_clauses.push_back(using_clause->Copy());
15
15
  }
16
+ for (auto &expr : other.returning_list) {
17
+ returning_list.emplace_back(expr->Copy());
18
+ }
16
19
  cte_map = other.cte_map.Copy();
17
20
  }
18
21
 
@@ -13,6 +13,9 @@ OnConflictInfo::OnConflictInfo(const OnConflictInfo &other)
13
13
  if (other.set_info) {
14
14
  set_info = other.set_info->Copy();
15
15
  }
16
+ if (other.condition) {
17
+ condition = other.condition->Copy();
18
+ }
16
19
  }
17
20
 
18
21
  unique_ptr<OnConflictInfo> OnConflictInfo::Copy() const {
@@ -28,6 +31,9 @@ InsertStatement::InsertStatement(const InsertStatement &other)
28
31
  select_statement(unique_ptr_cast<SQLStatement, SelectStatement>(other.select_statement->Copy())),
29
32
  columns(other.columns), table(other.table), schema(other.schema), catalog(other.catalog) {
30
33
  cte_map = other.cte_map.Copy();
34
+ for (auto &expr : other.returning_list) {
35
+ returning_list.emplace_back(expr->Copy());
36
+ }
31
37
  if (other.table_ref) {
32
38
  table_ref = other.table_ref->Copy();
33
39
  }
@@ -27,6 +27,9 @@ UpdateStatement::UpdateStatement(const UpdateStatement &other)
27
27
  if (other.from_table) {
28
28
  from_table = other.from_table->Copy();
29
29
  }
30
+ for (auto &expr : other.returning_list) {
31
+ returning_list.emplace_back(expr->Copy());
32
+ }
30
33
  cte_map = other.cte_map.Copy();
31
34
  }
32
35