Skip to content

Commit 3983f9a

Browse files
nepalgridnevvvit
authored andcommitted
[KIKIMR-21355] Fix OrderedSqlRename without pragma OrderedColumns (#3820)
1 parent a762c76 commit 3983f9a

File tree

6 files changed

+80
-2
lines changed

6 files changed

+80
-2
lines changed

ydb/library/yql/core/type_ann/type_ann_core.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9495,7 +9495,7 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
94959495
// somewhat ugly attempt to find SqlProject to obtain column order
94969496
auto currInput = input->HeadPtr();
94979497
TString path = ToString(input->Content());
9498-
while (currInput->IsCallable({"PersistableRepr", "SqlAggregateAll", "RemoveSystemMembers", "Sort"})) {
9498+
while (currInput->IsCallable({"PersistableRepr", "SqlAggregateAll", "RemoveSystemMembers", "Sort", "Take", "Skip"})) {
94999499
path = path + " -> " + ToString(currInput->Content());
95009500
currInput = currInput->HeadPtr();
95019501
}
@@ -9510,7 +9510,7 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
95109510
for (const auto& item : currInput->Child(1)->ChildrenList()) {
95119511
if (!item->IsCallable("SqlProjectItem")) {
95129512
ctx.Expr.AddError(TIssue(ctx.Expr.GetPosition(item->Pos()),
9513-
TStringBuilder() << "Failed to deduce column order for input - star / qualified star is prosent in projection"));
9513+
TStringBuilder() << "Failed to deduce column order for input - star / qualified star is present in projection"));
95149514
return IGraphTransformer::TStatus::Error;
95159515
}
95169516
childColumnOrder->push_back(ToString(item->Child(1)->Content()));

ydb/library/yql/tests/sql/dq_file/part1/canondata/result.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,28 @@
736736
}
737737
],
738738
"test.test[case-case_val_then_else-default.txt-Results]": [],
739+
"test.test[column_order-insert_reorder_without_columnorder--Analyze]": [
740+
{
741+
"checksum": "9f976dc964b65317600df5a37ad5c299",
742+
"size": 5708,
743+
"uri": "https://{canondata_backend}/1936273/9c0654be6d8c964c541bdf0c96b4980357ef29d2/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Analyze_/plan.txt"
744+
}
745+
],
746+
"test.test[column_order-insert_reorder_without_columnorder--Debug]": [
747+
{
748+
"checksum": "e31bd3307574142ad420a09e5ad536e0",
749+
"size": 2462,
750+
"uri": "https://{canondata_backend}/1031349/a0b3e3db5f104c4fb6b8f2733a1f6bdd159cebf8/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Debug_/opt.yql_patched"
751+
}
752+
],
753+
"test.test[column_order-insert_reorder_without_columnorder--Plan]": [
754+
{
755+
"checksum": "9f976dc964b65317600df5a37ad5c299",
756+
"size": 5708,
757+
"uri": "https://{canondata_backend}/1936273/9c0654be6d8c964c541bdf0c96b4980357ef29d2/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Plan_/plan.txt"
758+
}
759+
],
760+
"test.test[column_order-insert_reorder_without_columnorder--Results]": [],
739761
"test.test[column_order-select_limit_offset_reorder-default.txt-Analyze]": [
740762
{
741763
"checksum": "e0cc08c6479b76e82c514b6c219d04a9",

ydb/library/yql/tests/sql/sql2yql/canondata/result.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3695,6 +3695,13 @@
36953695
"uri": "https://{canondata_backend}/1936947/659b615f15086142a8960946dabd06b519d43335/resource.tar.gz#test_sql2yql.test_column_order-insert_/sql.yql"
36963696
}
36973697
],
3698+
"test_sql2yql.test[column_order-insert_reorder_without_columnorder]": [
3699+
{
3700+
"checksum": "d3105827a0ca8e095bcecc797540f34e",
3701+
"size": 1553,
3702+
"uri": "https://{canondata_backend}/1923547/0aba22156762a55d9c7578c76fffd5395d319f8b/resource.tar.gz#test_sql2yql.test_column_order-insert_reorder_without_columnorder_/sql.yql"
3703+
}
3704+
],
36983705
"test_sql2yql.test[column_order-insert_tmp]": [
36993706
{
37003707
"checksum": "f7020067b63cf9ba560ad9e409933221",
@@ -21167,6 +21174,13 @@
2116721174
"uri": "https://{canondata_backend}/1880306/64654158d6bfb1289c66c626a8162239289559d0/resource.tar.gz#test_sql_format.test_column_order-insert_/formatted.sql"
2116821175
}
2116921176
],
21177+
"test_sql_format.test[column_order-insert_reorder_without_columnorder]": [
21178+
{
21179+
"checksum": "e0526a3060fc6b9c9a2d0c295066f135",
21180+
"size": 223,
21181+
"uri": "https://{canondata_backend}/1923547/0aba22156762a55d9c7578c76fffd5395d319f8b/resource.tar.gz#test_sql_format.test_column_order-insert_reorder_without_columnorder_/formatted.sql"
21182+
}
21183+
],
2117021184
"test_sql_format.test[column_order-insert_tmp]": [
2117121185
{
2117221186
"checksum": "ce56494a4e05ac5ccd812e10665c7541",
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
in Input input.txt
2+
out Output output.txt
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/* postgres can not */
2+
use plato;
3+
pragma DisableOrderedColumns;
4+
pragma warning("disable", "4517");
5+
6+
$Group = 1u;
7+
8+
INSERT INTO Output(Group, Name)
9+
SELECT
10+
$Group,
11+
value
12+
FROM Input
13+
WHERE key = "150"
14+
LIMIT 1;

ydb/library/yql/tests/sql/yt_native_file/part1/canondata/result.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -719,6 +719,32 @@
719719
"uri": "https://{canondata_backend}/1924537/4423f8f88aaeda4e03b0c158e2e6b0df92c41109/resource.tar.gz#test.test_case-case_val_then_else-default.txt-Results_/results.txt"
720720
}
721721
],
722+
"test.test[column_order-insert_reorder_without_columnorder--Debug]": [
723+
{
724+
"checksum": "394fb1a2432e75eff98cd04fed0e7d56",
725+
"size": 2268,
726+
"uri": "https://{canondata_backend}/1936273/bfda7491784aceaa88c55429ca2306196db27d7c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Debug_/opt.yql"
727+
}
728+
],
729+
"test.test[column_order-insert_reorder_without_columnorder--Plan]": [
730+
{
731+
"checksum": "3fc5cf899c15ced58a2e419bbef6d2ce",
732+
"size": 6210,
733+
"uri": "https://{canondata_backend}/1936273/bfda7491784aceaa88c55429ca2306196db27d7c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Plan_/plan.txt"
734+
}
735+
],
736+
"test.test[column_order-insert_reorder_without_columnorder--Results]": [
737+
{
738+
"checksum": "570d8ebc467fbc835d91616927ca98d8",
739+
"size": 42,
740+
"uri": "https://{canondata_backend}/1936273/bfda7491784aceaa88c55429ca2306196db27d7c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Results_/Output.txt"
741+
},
742+
{
743+
"checksum": "fc35e8e5321928f409f3cacb0b0ac6e0",
744+
"size": 487,
745+
"uri": "https://{canondata_backend}/1936273/bfda7491784aceaa88c55429ca2306196db27d7c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Results_/Output.yqlrun.txt.attr"
746+
}
747+
],
722748
"test.test[column_order-select_limit_offset_reorder-default.txt-Debug]": [
723749
{
724750
"checksum": "f810b94782294b9bafa467567637b4a3",

0 commit comments

Comments
 (0)