Skip to content

Commit 522ebf1

Browse files
committed
vendor: Update vendored sources to duckdb/duckdb@2953169
Fix duckdb/duckdb#16524: DEPENDENT_JOIN may not flatten (duckdb/duckdb#16537) CrossVersion.yml: Add v1.2.1, v1.2-histrionicus and main (duckdb/duckdb#16576)
1 parent 204575e commit 522ebf1

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

src/duckdb/src/function/table/version/pragma_version.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#ifndef DUCKDB_PATCH_VERSION
2-
#define DUCKDB_PATCH_VERSION "0-dev1139"
2+
#define DUCKDB_PATCH_VERSION "0-dev1143"
33
#endif
44
#ifndef DUCKDB_MINOR_VERSION
55
#define DUCKDB_MINOR_VERSION 3
@@ -8,10 +8,10 @@
88
#define DUCKDB_MAJOR_VERSION 1
99
#endif
1010
#ifndef DUCKDB_VERSION
11-
#define DUCKDB_VERSION "v1.3.0-dev1139"
11+
#define DUCKDB_VERSION "v1.3.0-dev1143"
1212
#endif
1313
#ifndef DUCKDB_SOURCE_ID
14-
#define DUCKDB_SOURCE_ID "5a69246187"
14+
#define DUCKDB_SOURCE_ID "2953169637"
1515
#endif
1616
#include "duckdb/function/table/system_functions.hpp"
1717
#include "duckdb/main/database.hpp"

src/duckdb/src/planner/binder/query_node/plan_subquery.cpp

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -393,17 +393,20 @@ void RecursiveDependentJoinPlanner::VisitOperator(LogicalOperator &op) {
393393
auto &rec_cte = op.Cast<LogicalRecursiveCTE>();
394394
binder.recursive_ctes[rec_cte.table_index] = &op;
395395
}
396-
root = std::move(op.children[0]);
397-
D_ASSERT(root);
398-
if (root->type == LogicalOperatorType::LOGICAL_DEPENDENT_JOIN) {
399-
// Found a dependent join, flatten it
400-
auto &new_root = root->Cast<LogicalDependentJoin>();
401-
root = binder.PlanLateralJoin(std::move(new_root.children[0]), std::move(new_root.children[1]),
402-
new_root.correlated_columns, new_root.join_type,
403-
std::move(new_root.join_condition));
396+
for (idx_t i = 0; i < op.children.size(); i++) {
397+
root = std::move(op.children[i]);
398+
D_ASSERT(root);
399+
if (root->type == LogicalOperatorType::LOGICAL_DEPENDENT_JOIN) {
400+
// Found a dependent join, flatten it
401+
auto &new_root = root->Cast<LogicalDependentJoin>();
402+
root = binder.PlanLateralJoin(std::move(new_root.children[0]), std::move(new_root.children[1]),
403+
new_root.correlated_columns, new_root.join_type,
404+
std::move(new_root.join_condition));
405+
}
406+
VisitOperatorExpressions(op);
407+
op.children[i] = std::move(root);
404408
}
405-
VisitOperatorExpressions(op);
406-
op.children[0] = std::move(root);
409+
407410
for (idx_t i = 0; i < op.children.size(); i++) {
408411
D_ASSERT(op.children[i]);
409412
VisitOperator(*op.children[i]);

0 commit comments

Comments
 (0)