summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/select.cpp
diff options
context:
space:
mode:
authoraneporada <[email protected]>2024-11-27 19:39:16 +0300
committeraneporada <[email protected]>2024-11-27 20:30:55 +0300
commit5ae93cf6a49513cc999774c6545bcfff16a32f59 (patch)
tree680c05eeb9c20a9859dc64aeb7c3453208751982 /yql/essentials/sql/v1/select.cpp
parentda01e3e90a5307aae60beecbbb94131a88d617be (diff)
EmitUnionMerge - pragma to emit UnionMerge instead of UnionAll
commit_hash:ba3439438c76ed616e4f1059d0ff83ebb4a16b9a
Diffstat (limited to 'yql/essentials/sql/v1/select.cpp')
-rw-r--r--yql/essentials/sql/v1/select.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/yql/essentials/sql/v1/select.cpp b/yql/essentials/sql/v1/select.cpp
index 552a74cb07a..d2e4c0a8749 100644
--- a/yql/essentials/sql/v1/select.cpp
+++ b/yql/essentials/sql/v1/select.cpp
@@ -2800,7 +2800,11 @@ public:
TNodePtr Build(TContext& ctx) override {
TPtr res;
if (QuantifierAll) {
- res = ctx.PositionalUnionAll ? Y("UnionAllPositional") : Y("UnionAll");
+ if (ctx.EmitUnionMerge) {
+ res = ctx.PositionalUnionAll ? Y("UnionMergePositional") : Y("UnionMerge");
+ } else {
+ res = ctx.PositionalUnionAll ? Y("UnionAllPositional") : Y("UnionAll");
+ }
} else {
res = ctx.PositionalUnionAll ? Y("UnionPositional") : Y("Union");
}
@@ -2848,8 +2852,8 @@ private:
};
TSourcePtr BuildUnion(
- TPosition pos,
- TVector<TSourcePtr>&& sources,
+ TPosition pos,
+ TVector<TSourcePtr>&& sources,
bool quantifierAll,
const TWriteSettings& settings
) {