Skip to content

Commit

Permalink
[KIKIMR-21355] Fix OrderedSqlRename without pragma OrderedColumns (#3820
Browse files Browse the repository at this point in the history
)
  • Loading branch information
nepal authored and gridnevvvit committed Apr 17, 2024
1 parent a762c76 commit 6e483d1
Show file tree
Hide file tree
Showing 6 changed files with 75 additions and 2 deletions.
4 changes: 2 additions & 2 deletions ydb/library/yql/core/type_ann/type_ann_core.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9495,7 +9495,7 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
// somewhat ugly attempt to find SqlProject to obtain column order
auto currInput = input->HeadPtr();
TString path = ToString(input->Content());
while (currInput->IsCallable({"PersistableRepr", "SqlAggregateAll", "RemoveSystemMembers", "Sort"})) {
while (currInput->IsCallable({"PersistableRepr", "SqlAggregateAll", "RemoveSystemMembers", "Sort", "Take", "Skip"})) {
path = path + " -> " + ToString(currInput->Content());
currInput = currInput->HeadPtr();
}
Expand All @@ -9510,7 +9510,7 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
for (const auto& item : currInput->Child(1)->ChildrenList()) {
if (!item->IsCallable("SqlProjectItem")) {
ctx.Expr.AddError(TIssue(ctx.Expr.GetPosition(item->Pos()),
TStringBuilder() << "Failed to deduce column order for input - star / qualified star is prosent in projection"));
TStringBuilder() << "Failed to deduce column order for input - star / qualified star is present in projection"));
return IGraphTransformer::TStatus::Error;
}
childColumnOrder->push_back(ToString(item->Child(1)->Content()));
Expand Down
22 changes: 22 additions & 0 deletions ydb/library/yql/tests/sql/dq_file/part1/canondata/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -736,6 +736,28 @@
}
],
"test.test[case-case_val_then_else-default.txt-Results]": [],
"test.test[column_order-insert_reorder_without_columnorder--Analyze]": [
{
"checksum": "9f976dc964b65317600df5a37ad5c299",
"size": 5708,
"uri": "https://{canondata_backend}/1936273/9c0654be6d8c964c541bdf0c96b4980357ef29d2/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Analyze_/plan.txt"
}
],
"test.test[column_order-insert_reorder_without_columnorder--Debug]": [
{
"checksum": "e31bd3307574142ad420a09e5ad536e0",
"size": 2462,
"uri": "https://{canondata_backend}/1031349/a0b3e3db5f104c4fb6b8f2733a1f6bdd159cebf8/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Debug_/opt.yql_patched"
}
],
"test.test[column_order-insert_reorder_without_columnorder--Plan]": [
{
"checksum": "9f976dc964b65317600df5a37ad5c299",
"size": 5708,
"uri": "https://{canondata_backend}/1936273/9c0654be6d8c964c541bdf0c96b4980357ef29d2/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Plan_/plan.txt"
}
],
"test.test[column_order-insert_reorder_without_columnorder--Results]": [],
"test.test[column_order-select_limit_offset_reorder-default.txt-Analyze]": [
{
"checksum": "e0cc08c6479b76e82c514b6c219d04a9",
Expand Down
14 changes: 14 additions & 0 deletions ydb/library/yql/tests/sql/sql2yql/canondata/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -3695,6 +3695,13 @@
"uri": "https://{canondata_backend}/1936947/659b615f15086142a8960946dabd06b519d43335/resource.tar.gz#test_sql2yql.test_column_order-insert_/sql.yql"
}
],
"test_sql2yql.test[column_order-insert_reorder_without_columnorder]": [
{
"checksum": "d3105827a0ca8e095bcecc797540f34e",
"size": 1553,
"uri": "https://{canondata_backend}/1923547/0aba22156762a55d9c7578c76fffd5395d319f8b/resource.tar.gz#test_sql2yql.test_column_order-insert_reorder_without_columnorder_/sql.yql"
}
],
"test_sql2yql.test[column_order-insert_tmp]": [
{
"checksum": "f7020067b63cf9ba560ad9e409933221",
Expand Down Expand Up @@ -21167,6 +21174,13 @@
"uri": "https://{canondata_backend}/1880306/64654158d6bfb1289c66c626a8162239289559d0/resource.tar.gz#test_sql_format.test_column_order-insert_/formatted.sql"
}
],
"test_sql_format.test[column_order-insert_reorder_without_columnorder]": [
{
"checksum": "e0526a3060fc6b9c9a2d0c295066f135",
"size": 223,
"uri": "https://{canondata_backend}/1923547/0aba22156762a55d9c7578c76fffd5395d319f8b/resource.tar.gz#test_sql_format.test_column_order-insert_reorder_without_columnorder_/formatted.sql"
}
],
"test_sql_format.test[column_order-insert_tmp]": [
{
"checksum": "ce56494a4e05ac5ccd812e10665c7541",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
in Input input.txt
out Output output.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/* postgres can not */
use plato;
pragma DisableOrderedColumns;
pragma warning("disable", "4517");

$Group = 1u;

INSERT INTO Output(Group, Name)
SELECT
$Group,
value
FROM Input
WHERE key = "150"
LIMIT 1;
Original file line number Diff line number Diff line change
Expand Up @@ -719,6 +719,27 @@
"uri": "https://{canondata_backend}/1924537/4423f8f88aaeda4e03b0c158e2e6b0df92c41109/resource.tar.gz#test.test_case-case_val_then_else-default.txt-Results_/results.txt"
}
],
"test.test[column_order-insert_reorder_without_columnorder--Debug]": [
{
"checksum": "e2f603569cbeb53f1f75cc535fe4a542",
"size": 2248,
"uri": "https://{canondata_backend}/1817427/944e3e51d311ff192b733679255631e4b144c75c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Debug_/opt.yql"
}
],
"test.test[column_order-insert_reorder_without_columnorder--Plan]": [
{
"checksum": "3fc5cf899c15ced58a2e419bbef6d2ce",
"size": 6210,
"uri": "https://{canondata_backend}/1936273/bfda7491784aceaa88c55429ca2306196db27d7c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Plan_/plan.txt"
}
],
"test.test[column_order-insert_reorder_without_columnorder--Results]": [
{
"checksum": "e09e785295186f47f7f26ab8e0f0fbb3",
"size": 27,
"uri": "https://{canondata_backend}/1817427/944e3e51d311ff192b733679255631e4b144c75c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Results_/Output.txt"
}
],
"test.test[column_order-select_limit_offset_reorder-default.txt-Debug]": [
{
"checksum": "f810b94782294b9bafa467567637b4a3",
Expand Down

0 comments on commit 6e483d1

Please sign in to comment.