Skip to content

Commit 476bdf8

Browse files
authored
Merge db281b3 into f0cadea
2 parents f0cadea + db281b3 commit 476bdf8

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

ydb/library/yql/core/cbo/cbo_optimizer_new.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ enum EJoinKind: ui32
4747
LeftJoin,
4848
RightJoin,
4949
OuterJoin,
50-
LeftOnly,
51-
RightOnly,
50+
LeftOnly /* == LeftAntiJoin */,
51+
RightOnly /* == RightAntiJoin */,
5252
LeftSemi,
5353
RightSemi,
5454
Cross,

ydb/library/yql/dq/opt/dq_opt_conflict_rules_collector.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ EJoinKind GetEquivalentJoinByAlgebraicProperties(EJoinKind joinKind) {
88
switch (joinKind) {
99
case EJoinKind::Exclusion:
1010
return EJoinKind::OuterJoin;
11-
case EJoinKind::LeftOnly:
12-
return EJoinKind::LeftJoin;
1311
default:
1412
return joinKind;
1513
}
@@ -34,9 +32,9 @@ bool OperatorsAreAssociative(EJoinKind lhs, EJoinKind rhs) {
3432
rhs = GetEquivalentJoinByAlgebraicProperties(rhs);
3533

3634
static THashMap<EJoinKind, THashSet<EJoinKind>> ASSOC_TABLE = {
37-
{EJoinKind::Cross, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftJoin}},
38-
{EJoinKind::InnerJoin, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftJoin}},
39-
{EJoinKind::LeftJoin, {EJoinKind::LeftJoin}},
35+
{EJoinKind::Cross, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftOnly, EJoinKind::LeftJoin}},
36+
{EJoinKind::InnerJoin, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftOnly, EJoinKind::LeftJoin}},
37+
{EJoinKind::LeftJoin, {EJoinKind::LeftJoin}},
4038
{EJoinKind::OuterJoin, {EJoinKind::LeftJoin, EJoinKind::OuterJoin}}
4139
};
4240

@@ -52,10 +50,11 @@ bool OperatorsAreLeftAsscom(EJoinKind lhs, EJoinKind rhs) {
5250
rhs = GetEquivalentJoinByAlgebraicProperties(rhs);
5351

5452
static THashMap<EJoinKind, THashSet<EJoinKind>> LASSCOM_TABLE = {
55-
{EJoinKind::Cross, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftJoin}},
56-
{EJoinKind::InnerJoin, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftJoin}},
57-
{EJoinKind::LeftSemi, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftJoin}},
58-
{EJoinKind::LeftJoin, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftJoin, EJoinKind::OuterJoin}},
53+
{EJoinKind::Cross, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftOnly, EJoinKind::LeftJoin}},
54+
{EJoinKind::InnerJoin, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftOnly, EJoinKind::LeftJoin}},
55+
{EJoinKind::LeftSemi, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftOnly, EJoinKind::LeftJoin}},
56+
{EJoinKind::LeftOnly, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftOnly, EJoinKind::LeftJoin}},
57+
{EJoinKind::LeftJoin, {EJoinKind::Cross, EJoinKind::InnerJoin, EJoinKind::LeftSemi, EJoinKind::LeftJoin, EJoinKind::OuterJoin}},
5958
{EJoinKind::OuterJoin, {EJoinKind::LeftJoin, EJoinKind::OuterJoin}}
6059
};
6160

@@ -71,7 +70,7 @@ bool OperatorsAreRightAsscom(EJoinKind lhs, EJoinKind rhs) {
7170
rhs = GetEquivalentJoinByAlgebraicProperties(rhs);
7271

7372
static THashMap<EJoinKind, THashSet<EJoinKind>> RASSCOM_TABLE = {
74-
{EJoinKind::Cross, {EJoinKind::Cross, EJoinKind::InnerJoin}},
73+
{EJoinKind::Cross, {EJoinKind::Cross, EJoinKind::InnerJoin}},
7574
{EJoinKind::InnerJoin, {EJoinKind::Cross, EJoinKind::InnerJoin}},
7675
{EJoinKind::OuterJoin, {EJoinKind::OuterJoin}}
7776
};

0 commit comments

Comments
 (0)