summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/sql_select.cpp
diff options
context:
space:
mode:
authorvvvv <[email protected]>2025-02-21 21:51:34 +0300
committervvvv <[email protected]>2025-02-21 22:33:18 +0300
commita3da80a1d278964b44086f8b500ed09bad0f165f (patch)
tree368b6985119a89ba99279100dbb8adf7f4bda951 /yql/essentials/sql/v1/sql_select.cpp
parent005b8a9fd31e325164fdaad9ccde51222d9dc1c7 (diff)
YQL-19129 soft WITHOUT
commit_hash:563aebc32ae87bc18e5e3e38babc034e5e89e2c1
Diffstat (limited to 'yql/essentials/sql/v1/sql_select.cpp')
-rw-r--r--yql/essentials/sql/v1/sql_select.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/yql/essentials/sql/v1/sql_select.cpp b/yql/essentials/sql/v1/sql_select.cpp
index c27aa8f126a..52dd399a990 100644
--- a/yql/essentials/sql/v1/sql_select.cpp
+++ b/yql/essentials/sql/v1/sql_select.cpp
@@ -1027,8 +1027,10 @@ TSourcePtr TSqlSelect::SelectCore(const TRule_select_core& node, const TWriteSet
const bool selectStream = node.HasBlock3();
TVector<TNodePtr> without;
+ bool forceWithout = false;
if (node.HasBlock8()) {
- if (!ColumnList(without, node.GetBlock8().GetRule_without_column_list2())) {
+ forceWithout = node.GetBlock8().HasBlock2();
+ if (!ColumnList(without, node.GetBlock8().GetRule_without_column_list3())) {
return nullptr;
}
}
@@ -1167,7 +1169,7 @@ TSourcePtr TSqlSelect::SelectCore(const TRule_select_core& node, const TWriteSet
return nullptr;
}
return BuildSelectCore(Ctx, startPos, std::move(source), groupByExpr, groupBy, compactGroupBy, groupBySuffix, assumeSorted, orderBy, having,
- std::move(windowSpec), legacyHoppingWindowSpec, std::move(terms), distinct, std::move(without), selectStream, settings, std::move(uniqueSets), std::move(distinctSets));
+ std::move(windowSpec), legacyHoppingWindowSpec, std::move(terms), distinct, std::move(without), forceWithout, selectStream, settings, std::move(uniqueSets), std::move(distinctSets));
}
bool TSqlSelect::WindowDefinition(const TRule_window_definition& rule, TWinSpecs& winSpecs) {
@@ -1421,6 +1423,7 @@ TSourcePtr TSqlSelect::Build(const TRule& node, TPosition pos, TSelectKindResult
TLegacyHoppingWindowSpecPtr legacyHoppingWindowSpec;
bool distinct = false;
TVector<TNodePtr> without;
+ bool forceWithout = false;
bool stream = false;
TVector<TNodePtr> terms;
@@ -1428,7 +1431,7 @@ TSourcePtr TSqlSelect::Build(const TRule& node, TPosition pos, TSelectKindResult
result = BuildSelectCore(Ctx, unionPos, std::move(result), groupByExpr, groupBy, compactGroupBy, groupBySuffix,
assumeOrderBy, orderBy, having, std::move(winSpecs), legacyHoppingWindowSpec, std::move(terms),
- distinct, std::move(without), stream, outermostSettings, {}, {});
+ distinct, std::move(without), forceWithout, stream, outermostSettings, {}, {});
result = BuildSelect(unionPos, std::move(result), skipTake);
} else if (skipTake) {