diff --git a/ydb/library/yql/core/common_opt/yql_co_pgselect.cpp b/ydb/library/yql/core/common_opt/yql_co_pgselect.cpp index a7138a13bb96..f74b9d067e58 100644 --- a/ydb/library/yql/core/common_opt/yql_co_pgselect.cpp +++ b/ydb/library/yql/core/common_opt/yql_co_pgselect.cpp @@ -3196,7 +3196,7 @@ TExprNode::TPtr ExpandPgSelectImpl(const TExprNode::TPtr& node, TExprContext& ct } } - if (!outerInputs.empty()) { + if (!outerInputs.empty() && finalExtTypes && 0 < finalExtTypes->Tail().ChildrenSize()) { list = JoinOuter(node->Pos(), list, finalExtTypes, outerInputs, outerInputAliases, cleanedInputs, inputAliases, ctx); } diff --git a/ydb/library/yql/tests/sql/dq_file/part0/canondata/result.json b/ydb/library/yql/tests/sql/dq_file/part0/canondata/result.json index 518da5d6ea6b..22b17406057e 100644 --- a/ydb/library/yql/tests/sql/dq_file/part0/canondata/result.json +++ b/ydb/library/yql/tests/sql/dq_file/part0/canondata/result.json @@ -2305,6 +2305,28 @@ } ], "test.test[pg-sublink_order_all_corr-default.txt-Results]": [], + "test.test[pg-sublink_projection_uncorrelated-default.txt-Analyze]": [ + { + "checksum": "b4dd508a329723c74293d80f0278c705", + "size": 505, + "uri": "https://{canondata_backend}/1031349/4e362e41dd365ac933a1de3f249df5eea8bb185d/resource.tar.gz#test.test_pg-sublink_projection_uncorrelated-default.txt-Analyze_/plan.txt" + } + ], + "test.test[pg-sublink_projection_uncorrelated-default.txt-Debug]": [ + { + "checksum": "1aafa70160c01eddfb9563a02afc45b8", + "size": 399, + "uri": "https://{canondata_backend}/1031349/4e362e41dd365ac933a1de3f249df5eea8bb185d/resource.tar.gz#test.test_pg-sublink_projection_uncorrelated-default.txt-Debug_/opt.yql_patched" + } + ], + "test.test[pg-sublink_projection_uncorrelated-default.txt-Plan]": [ + { + "checksum": "b4dd508a329723c74293d80f0278c705", + "size": 505, + "uri": "https://{canondata_backend}/1031349/4e362e41dd365ac933a1de3f249df5eea8bb185d/resource.tar.gz#test.test_pg-sublink_projection_uncorrelated-default.txt-Plan_/plan.txt" + } + ], + "test.test[pg-sublink_projection_uncorrelated-default.txt-Results]": [], "test.test[pg-tpcds-q43-default.txt-Analyze]": [ { "checksum": "212be881133a20b5b73ef1250dbeda51", diff --git a/ydb/library/yql/tests/sql/sql2yql/canondata/result.json b/ydb/library/yql/tests/sql/sql2yql/canondata/result.json index bb3df182190f..db9c3115aa4c 100644 --- a/ydb/library/yql/tests/sql/sql2yql/canondata/result.json +++ b/ydb/library/yql/tests/sql/sql2yql/canondata/result.json @@ -12130,6 +12130,13 @@ "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-sublink_projection_in_corr_/sql.yql" } ], + "test_sql2yql.test[pg-sublink_projection_uncorrelated]": [ + { + "checksum": "79141a5b9b9c23500431069b9d31b804", + "size": 684, + "uri": "https://{canondata_backend}/1871182/2bf182d62d0d6b300a9cb187b902374eb8f27321/resource.tar.gz#test_sql2yql.test_pg-sublink_projection_uncorrelated_/sql.yql" + } + ], "test_sql2yql.test[pg-sublink_where_all]": [ { "checksum": "fc31f83221afa091432ab14824d7f1be", diff --git a/ydb/library/yql/tests/sql/suites/pg/sublink_projection_uncorrelated.sql b/ydb/library/yql/tests/sql/suites/pg/sublink_projection_uncorrelated.sql new file mode 100644 index 000000000000..22d3fc00b937 --- /dev/null +++ b/ydb/library/yql/tests/sql/suites/pg/sublink_projection_uncorrelated.sql @@ -0,0 +1,2 @@ +--!syntax_pg +select 1 as one, (select 2) as two; diff --git a/ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json b/ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json index 696ea5ee80f5..b1e91ac0680f 100644 --- a/ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json +++ b/ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json @@ -2036,6 +2036,27 @@ "uri": "https://{canondata_backend}/1889210/fa3852f976b4938229195b3251165e823de702aa/resource.tar.gz#test.test_pg-sublink_order_all_corr-default.txt-Results_/results.txt" } ], + "test.test[pg-sublink_projection_uncorrelated-default.txt-Debug]": [ + { + "checksum": "b0821371fc2814854f8466a6eedfbbc3", + "size": 343, + "uri": "https://{canondata_backend}/1889210/992dba7e1c711dc3d2671795b7ce1db28f5ced6a/resource.tar.gz#test.test_pg-sublink_projection_uncorrelated-default.txt-Debug_/opt.yql" + } + ], + "test.test[pg-sublink_projection_uncorrelated-default.txt-Plan]": [ + { + "checksum": "b4dd508a329723c74293d80f0278c705", + "size": 505, + "uri": "https://{canondata_backend}/1889210/992dba7e1c711dc3d2671795b7ce1db28f5ced6a/resource.tar.gz#test.test_pg-sublink_projection_uncorrelated-default.txt-Plan_/plan.txt" + } + ], + "test.test[pg-sublink_projection_uncorrelated-default.txt-Results]": [ + { + "checksum": "ff27962bee40696d3897bf8b2c12becd", + "size": 944, + "uri": "https://{canondata_backend}/1889210/992dba7e1c711dc3d2671795b7ce1db28f5ced6a/resource.tar.gz#test.test_pg-sublink_projection_uncorrelated-default.txt-Results_/results.txt" + } + ], "test.test[pg-tpcds-q43-default.txt-Debug]": [ { "checksum": "6d7ab3f0ace5f5eb7ca1f3b89d22c078",