Skip to content

Commit 28f73f3

Browse files
authored
[KIKIMR-21355] Fix OrderedSqlRename without pragma OrderedColumns (#3820)
1 parent 74966a9 commit 28f73f3

File tree

7 files changed

+94
-2
lines changed

7 files changed

+94
-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
@@ -9497,7 +9497,7 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
94979497
// somewhat ugly attempt to find SqlProject to obtain column order
94989498
auto currInput = input->HeadPtr();
94999499
TString path = ToString(input->Content());
9500-
while (currInput->IsCallable({"PersistableRepr", "SqlAggregateAll", "RemoveSystemMembers", "Sort"})) {
9500+
while (currInput->IsCallable({"PersistableRepr", "SqlAggregateAll", "RemoveSystemMembers", "Sort", "Take", "Skip"})) {
95019501
path = path + " -> " + ToString(currInput->Content());
95029502
currInput = currInput->HeadPtr();
95039503
}
@@ -9512,7 +9512,7 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
95129512
for (const auto& item : currInput->Child(1)->ChildrenList()) {
95139513
if (!item->IsCallable("SqlProjectItem")) {
95149514
ctx.Expr.AddError(TIssue(ctx.Expr.GetPosition(item->Pos()),
9515-
TStringBuilder() << "Failed to deduce column order for input - star / qualified star is prosent in projection"));
9515+
TStringBuilder() << "Failed to deduce column order for input - star / qualified star is present in projection"));
95169516
return IGraphTransformer::TStatus::Error;
95179517
}
95189518
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
@@ -758,6 +758,28 @@
758758
}
759759
],
760760
"test.test[case-case_val_then_else-default.txt-Results]": [],
761+
"test.test[column_order-insert_reorder_without_columnorder--Analyze]": [
762+
{
763+
"checksum": "9f976dc964b65317600df5a37ad5c299",
764+
"size": 5708,
765+
"uri": "https://{canondata_backend}/1936273/9c0654be6d8c964c541bdf0c96b4980357ef29d2/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Analyze_/plan.txt"
766+
}
767+
],
768+
"test.test[column_order-insert_reorder_without_columnorder--Debug]": [
769+
{
770+
"checksum": "24a68010f08ed95c74dbafff96f4ce0e",
771+
"size": 2482,
772+
"uri": "https://{canondata_backend}/1936273/9c0654be6d8c964c541bdf0c96b4980357ef29d2/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Debug_/opt.yql_patched"
773+
}
774+
],
775+
"test.test[column_order-insert_reorder_without_columnorder--Plan]": [
776+
{
777+
"checksum": "9f976dc964b65317600df5a37ad5c299",
778+
"size": 5708,
779+
"uri": "https://{canondata_backend}/1936273/9c0654be6d8c964c541bdf0c96b4980357ef29d2/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Plan_/plan.txt"
780+
}
781+
],
782+
"test.test[column_order-insert_reorder_without_columnorder--Results]": [],
761783
"test.test[column_order-select_limit_offset_reorder-default.txt-Analyze]": [
762784
{
763785
"checksum": "e0cc08c6479b76e82c514b6c219d04a9",

ydb/library/yql/tests/sql/hybrid_file/part6/canondata/result.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,20 @@
685685
"uri": "https://{canondata_backend}/1031349/201452dd8c883b2adcbf46cb075c912d25efe67e/resource.tar.gz#test.test_blocks-string_filter--Plan_/plan.txt"
686686
}
687687
],
688+
"test.test[column_order-insert_reorder_without_columnorder--Debug]": [
689+
{
690+
"checksum": "5114a0354b52004a0f348e647f5ee7da",
691+
"size": 3293,
692+
"uri": "https://{canondata_backend}/1923547/5451f47c75a00d5a13be1b9727e4bd8ab28d3dbc/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Debug_/opt.yql_patched"
693+
}
694+
],
695+
"test.test[column_order-insert_reorder_without_columnorder--Plan]": [
696+
{
697+
"checksum": "ef6f35bbaf81f3538336079d0e53a013",
698+
"size": 7612,
699+
"uri": "https://{canondata_backend}/1923547/5451f47c75a00d5a13be1b9727e4bd8ab28d3dbc/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Plan_/plan.txt"
700+
}
701+
],
688702
"test.test[count-count_all_grouped-empty-Debug]": [
689703
{
690704
"checksum": "78e370a06195fd118ab2628516fc207a",

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3975,6 +3975,13 @@
39753975
"uri": "https://{canondata_backend}/1936947/659b615f15086142a8960946dabd06b519d43335/resource.tar.gz#test_sql2yql.test_column_order-insert_/sql.yql"
39763976
}
39773977
],
3978+
"test_sql2yql.test[column_order-insert_reorder_without_columnorder]": [
3979+
{
3980+
"checksum": "d3105827a0ca8e095bcecc797540f34e",
3981+
"size": 1553,
3982+
"uri": "https://{canondata_backend}/1923547/0aba22156762a55d9c7578c76fffd5395d319f8b/resource.tar.gz#test_sql2yql.test_column_order-insert_reorder_without_columnorder_/sql.yql"
3983+
}
3984+
],
39783985
"test_sql2yql.test[column_order-insert_tmp]": [
39793986
{
39803987
"checksum": "f7020067b63cf9ba560ad9e409933221",
@@ -22266,6 +22273,13 @@
2226622273
"uri": "https://{canondata_backend}/1880306/64654158d6bfb1289c66c626a8162239289559d0/resource.tar.gz#test_sql_format.test_column_order-insert_/formatted.sql"
2226722274
}
2226822275
],
22276+
"test_sql_format.test[column_order-insert_reorder_without_columnorder]": [
22277+
{
22278+
"checksum": "e0526a3060fc6b9c9a2d0c295066f135",
22279+
"size": 223,
22280+
"uri": "https://{canondata_backend}/1923547/0aba22156762a55d9c7578c76fffd5395d319f8b/resource.tar.gz#test_sql_format.test_column_order-insert_reorder_without_columnorder_/formatted.sql"
22281+
}
22282+
],
2226922283
"test_sql_format.test[column_order-insert_tmp]": [
2227022284
{
2227122285
"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
@@ -740,6 +740,32 @@
740740
"uri": "https://{canondata_backend}/1937424/66c5c1f7eacf73e0268f48e38b5a6fa4b89642a8/resource.tar.gz#test.test_case-case_val_then_else-default.txt-Results_/results.txt"
741741
}
742742
],
743+
"test.test[column_order-insert_reorder_without_columnorder--Debug]": [
744+
{
745+
"checksum": "394fb1a2432e75eff98cd04fed0e7d56",
746+
"size": 2268,
747+
"uri": "https://{canondata_backend}/1936273/bfda7491784aceaa88c55429ca2306196db27d7c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Debug_/opt.yql"
748+
}
749+
],
750+
"test.test[column_order-insert_reorder_without_columnorder--Plan]": [
751+
{
752+
"checksum": "3fc5cf899c15ced58a2e419bbef6d2ce",
753+
"size": 6210,
754+
"uri": "https://{canondata_backend}/1936273/bfda7491784aceaa88c55429ca2306196db27d7c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Plan_/plan.txt"
755+
}
756+
],
757+
"test.test[column_order-insert_reorder_without_columnorder--Results]": [
758+
{
759+
"checksum": "570d8ebc467fbc835d91616927ca98d8",
760+
"size": 42,
761+
"uri": "https://{canondata_backend}/1936273/bfda7491784aceaa88c55429ca2306196db27d7c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Results_/Output.txt"
762+
},
763+
{
764+
"checksum": "fc35e8e5321928f409f3cacb0b0ac6e0",
765+
"size": 487,
766+
"uri": "https://{canondata_backend}/1936273/bfda7491784aceaa88c55429ca2306196db27d7c/resource.tar.gz#test.test_column_order-insert_reorder_without_columnorder--Results_/Output.yqlrun.txt.attr"
767+
}
768+
],
743769
"test.test[column_order-select_limit_offset_reorder-default.txt-Debug]": [
744770
{
745771
"checksum": "f810b94782294b9bafa467567637b4a3",

0 commit comments

Comments
 (0)