Skip to content

Commit

Permalink
Merge fc336f9 into 77fc854
Browse files Browse the repository at this point in the history
  • Loading branch information
vitstn authored Aug 14, 2024
2 parents 77fc854 + fc336f9 commit 3f55bc0
Show file tree
Hide file tree
Showing 7 changed files with 89 additions and 14 deletions.
13 changes: 4 additions & 9 deletions ydb/library/yql/core/type_ann/type_ann_core.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8935,10 +8935,7 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
TExprNode::TListType applyChildren = input->ChildrenList();
applyChildren.pop_back(); // Remove position of list argument

if (input->Head().Type() != TExprNode::Lambda) {
if (!EnsureCallableType(input->Head(), ctx.Expr)) {
return IGraphTransformer::TStatus::Error;
}
if (input->Head().GetTypeAnn() && input->Head().GetTypeAnn()->GetKind() == ETypeAnnotationKind::Callable) {
const TCallableExprType* callableType = input->Head().GetTypeAnn()->Cast<TCallableExprType>();

if (applyChildren.size() < callableType->GetArgumentsSize() + 1 - callableType->GetOptionalArgumentsCount()) {
Expand Down Expand Up @@ -8992,11 +8989,9 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
}
else {
auto lambda = input->HeadPtr();
const auto args = lambda->Child(0);
if (input->ChildrenSize() - 2 != args->ChildrenSize()) {
ctx.Expr.AddError(TIssue(ctx.Expr.GetPosition(input->Pos()), TStringBuilder() << "Different arguments count, lambda has "
<< args->ChildrenSize() << " arguments, but provided " << (input->ChildrenSize() - 2)));
return IGraphTransformer::TStatus::Error;
auto status = ConvertToLambda(lambda, ctx.Expr, input->ChildrenSize() - 2);
if (status == IGraphTransformer::TStatus::Error) {
return status;
}

output = ctx.Expr.Builder(input->Pos())
Expand Down
22 changes: 22 additions & 0 deletions ydb/library/yql/tests/sql/dq_file/part16/canondata/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -2367,6 +2367,28 @@
}
],
"test.test[pragma-config_exec--Results]": [],
"test.test[produce-process_lambda_opt_args-default.txt-Analyze]": [
{
"checksum": "db71f16db01fe45fcaff58e8f061b470",
"size": 6828,
"uri": "https://{canondata_backend}/1942100/d22a096de8f9cd6961c70a84e39de8dcd39ce45e/resource.tar.gz#test.test_produce-process_lambda_opt_args-default.txt-Analyze_/plan.txt"
}
],
"test.test[produce-process_lambda_opt_args-default.txt-Debug]": [
{
"checksum": "901165ba1200caf03bc5f29c9348ad8d",
"size": 2061,
"uri": "https://{canondata_backend}/1942100/d22a096de8f9cd6961c70a84e39de8dcd39ce45e/resource.tar.gz#test.test_produce-process_lambda_opt_args-default.txt-Debug_/opt.yql_patched"
}
],
"test.test[produce-process_lambda_opt_args-default.txt-Plan]": [
{
"checksum": "db71f16db01fe45fcaff58e8f061b470",
"size": 6828,
"uri": "https://{canondata_backend}/1942100/d22a096de8f9cd6961c70a84e39de8dcd39ce45e/resource.tar.gz#test.test_produce-process_lambda_opt_args-default.txt-Plan_/plan.txt"
}
],
"test.test[produce-process_lambda_opt_args-default.txt-Results]": [],
"test.test[produce-process_with_udf_validate-default.txt-Analyze]": [
{
"checksum": "be0f13fdf2aa4cfcc736815caa5d992e",
Expand Down
14 changes: 14 additions & 0 deletions ydb/library/yql/tests/sql/hybrid_file/part3/canondata/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -2603,6 +2603,20 @@
"uri": "https://{canondata_backend}/1920236/56560fc4eb0991ee6681b0a1b288f62576ec0df7/resource.tar.gz#test.test_pg_duplicated-star_from_crossjoin-default.txt-Plan_/plan.txt"
}
],
"test.test[produce-process_lambda_opt_args-default.txt-Debug]": [
{
"checksum": "e2259aa77ae943bcfe8fc9caedb98d00",
"size": 2669,
"uri": "https://{canondata_backend}/1814674/0e62762049861bcf9f9d67d9b14ebdbaab665fa3/resource.tar.gz#test.test_produce-process_lambda_opt_args-default.txt-Debug_/opt.yql_patched"
}
],
"test.test[produce-process_lambda_opt_args-default.txt-Plan]": [
{
"checksum": "a501aca13d0cdb216b2b1e3875ab929e",
"size": 8249,
"uri": "https://{canondata_backend}/1814674/0e62762049861bcf9f9d67d9b14ebdbaab665fa3/resource.tar.gz#test.test_produce-process_lambda_opt_args-default.txt-Plan_/plan.txt"
}
],
"test.test[produce-process_with_udf_validate-default.txt-Debug]": [
{
"checksum": "d38c739bd48daee1bc9164fd494c78df",
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 @@ -15322,6 +15322,13 @@
"uri": "https://{canondata_backend}/1784117/d56ae82ad9d30397a41490647be1bd2124718f98/resource.tar.gz#test_sql2yql.test_produce-process_and_filter_/sql.yql"
}
],
"test_sql2yql.test[produce-process_lambda_opt_args]": [
{
"checksum": "4b75cc3c37fedf0e63bdd5e43ea06d68",
"size": 3814,
"uri": "https://{canondata_backend}/1936273/ff4f0a6d173adeb50438b8fd581dd8a952c141bd/resource.tar.gz#test_sql2yql.test_produce-process_lambda_opt_args_/sql.yql"
}
],
"test_sql2yql.test[produce-process_multi_in]": [
{
"checksum": "781a42dd763a6735bc4078a7a36e144f",
Expand Down Expand Up @@ -31639,6 +31646,13 @@
"uri": "https://{canondata_backend}/1880306/64654158d6bfb1289c66c626a8162239289559d0/resource.tar.gz#test_sql_format.test_produce-process_and_filter_/formatted.sql"
}
],
"test_sql_format.test[produce-process_lambda_opt_args]": [
{
"checksum": "52fc6dc9253a2fe48d8ad637e655203b",
"size": 267,
"uri": "https://{canondata_backend}/1936273/ff4f0a6d173adeb50438b8fd581dd8a952c141bd/resource.tar.gz#test_sql_format.test_produce-process_lambda_opt_args_/formatted.sql"
}
],
"test_sql_format.test[produce-process_multi_in]": [
{
"checksum": "4a33f40cf13fca883c7f2662b5a83c1c",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
USE plato;

$f = ($x, $optArg?)->{
return Ensure($x, $optArg is null or len($optArg)>0);
};

PROCESS Input0 USING $f(TableRow());

PROCESS Input0 USING $f(TableRow(),'foo');

PROCESS Input0 USING $f(TableRows());

PROCESS Input0 USING $f(TableRows(),'foo');

Original file line number Diff line number Diff line change
Expand Up @@ -2300,6 +2300,27 @@
"uri": "https://{canondata_backend}/937458/4ef5c22fa3a7e5fd4e0ef2192cee531d67d22319/resource.tar.gz#test.test_pragma-release_temp_data_chain_pull--Results_/results.txt"
}
],
"test.test[produce-process_lambda_opt_args-default.txt-Debug]": [
{
"checksum": "e0f2a60056375db797d93f91152a4429",
"size": 2064,
"uri": "https://{canondata_backend}/1031349/58ce630c12e9fbb5d612967cd2d5c6e30429d817/resource.tar.gz#test.test_produce-process_lambda_opt_args-default.txt-Debug_/opt.yql"
}
],
"test.test[produce-process_lambda_opt_args-default.txt-Plan]": [
{
"checksum": "9816950a9f9605af40ab6cfaad4af11f",
"size": 7680,
"uri": "https://{canondata_backend}/1031349/58ce630c12e9fbb5d612967cd2d5c6e30429d817/resource.tar.gz#test.test_produce-process_lambda_opt_args-default.txt-Plan_/plan.txt"
}
],
"test.test[produce-process_lambda_opt_args-default.txt-Results]": [
{
"checksum": "fe42b877468bdc4f554baebbe16b029e",
"size": 6730,
"uri": "https://{canondata_backend}/1031349/58ce630c12e9fbb5d612967cd2d5c6e30429d817/resource.tar.gz#test.test_produce-process_lambda_opt_args-default.txt-Results_/results.txt"
}
],
"test.test[produce-process_multi_in_single_out--Debug]": [
{
"checksum": "f565d7aff1e516d638a9f39059b6d9af",
Expand Down

This file was deleted.

0 comments on commit 3f55bc0

Please sign in to comment.