diff options
author | vitya-smirnov <[email protected]> | 2025-08-11 17:06:05 +0300 |
---|---|---|
committer | vitya-smirnov <[email protected]> | 2025-08-11 17:20:05 +0300 |
commit | 4c07961e6209762036c1cade4af1309db4b33225 (patch) | |
tree | f8539dd120fe60a1d1eb6af361fb3dbcd85bc138 /yql/essentials/sql/v1/sql_select.cpp | |
parent | 729f753bcbd9c9ea7bb243309eea9227bd394fca (diff) |
YQL-20280: Warn on ASSUME ORDER BY usage after UNION
commit_hash:a9c400c784ed04924390abb11509664e6576a3b7
Diffstat (limited to 'yql/essentials/sql/v1/sql_select.cpp')
-rw-r--r-- | yql/essentials/sql/v1/sql_select.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/yql/essentials/sql/v1/sql_select.cpp b/yql/essentials/sql/v1/sql_select.cpp index b2ae4916924..a846dff5483 100644 --- a/yql/essentials/sql/v1/sql_select.cpp +++ b/yql/essentials/sql/v1/sql_select.cpp @@ -1392,6 +1392,16 @@ TSourcePtr TSqlSelect::BuildStmt(const TRule& node, TPosition& pos) { .Label = extra.Last.Settings.Label, }; + if (assumeOrderBy) { + YQL_ENSURE(!orderBy.empty()); + + Ctx_.Warning(orderBy[0]->OrderExpr->GetPos(), TIssuesIds::WARNING) + << "ASSUME ORDER BY is used, " + << "but UNION, INTERSECT and EXCEPT " + << "operators have no ordering guarantees, " + << "therefore consider using ORDER BY"; + } + if (orderBy) { TVector<TNodePtr> groupByExpr; TVector<TNodePtr> groupBy; |