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 +1 -1
- package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +7 -9
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/main/client_context.cpp +2 -0
- package/src/duckdb/src/main/extension/extension_alias.cpp +2 -1
- package/src/duckdb/src/parser/statement/delete_statement.cpp +3 -0
- package/src/duckdb/src/parser/statement/insert_statement.cpp +6 -0
- package/src/duckdb/src/parser/statement/update_statement.cpp +3 -0
package/package.json
CHANGED
|
@@ -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.
|
|
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-
|
|
2
|
+
#define DUCKDB_VERSION "0.7.1-dev157"
|
|
3
3
|
#endif
|
|
4
4
|
#ifndef DUCKDB_SOURCE_ID
|
|
5
|
-
#define DUCKDB_SOURCE_ID "
|
|
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 (
|
|
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
|
|