diff options
author | tesseract <[email protected]> | 2025-07-10 16:44:40 +0300 |
---|---|---|
committer | tesseract <[email protected]> | 2025-07-10 17:03:23 +0300 |
commit | ad23f535a9e3590dffcd0cebcebbc0600c521652 (patch) | |
tree | 2fadae51e07ad37facd2f0e79f48d803d0c76040 /yql/essentials/sql/v1 | |
parent | ab4a6f4beadc1b478f8c208d07226687821b5fc2 (diff) |
Fixed grammar of the transfer
commit_hash:98f460965618cdddf9fc25373b20741b4e85a303
Diffstat (limited to 'yql/essentials/sql/v1')
-rw-r--r-- | yql/essentials/sql/v1/SQLv1.g.in | 4 | ||||
-rw-r--r-- | yql/essentials/sql/v1/SQLv1Antlr4.g.in | 4 | ||||
-rw-r--r-- | yql/essentials/sql/v1/format/sql_format_ut.h | 4 | ||||
-rw-r--r-- | yql/essentials/sql/v1/sql_query.cpp | 8 |
4 files changed, 9 insertions, 11 deletions
diff --git a/yql/essentials/sql/v1/SQLv1.g.in b/yql/essentials/sql/v1/SQLv1.g.in index 367eafe2b8d..d9fd70f8ab4 100644 --- a/yql/essentials/sql/v1/SQLv1.g.in +++ b/yql/essentials/sql/v1/SQLv1.g.in @@ -937,8 +937,8 @@ alter_replication_set_setting: SET LPAREN replication_settings RPAREN; drop_replication_stmt: DROP ASYNC REPLICATION object_ref CASCADE?; create_transfer_stmt: CREATE TRANSFER object_ref - FROM object_ref TO object_ref (USING lambda_or_parameter)? - WITH LPAREN transfer_settings RPAREN + FROM object_ref TO object_ref USING lambda_or_parameter + (WITH LPAREN transfer_settings RPAREN)? ; lambda_or_parameter: diff --git a/yql/essentials/sql/v1/SQLv1Antlr4.g.in b/yql/essentials/sql/v1/SQLv1Antlr4.g.in index 99b3139dafa..95db5bbc5f6 100644 --- a/yql/essentials/sql/v1/SQLv1Antlr4.g.in +++ b/yql/essentials/sql/v1/SQLv1Antlr4.g.in @@ -941,8 +941,8 @@ lambda_or_parameter: ; create_transfer_stmt: CREATE TRANSFER object_ref - FROM object_ref TO object_ref (USING lambda_or_parameter)? - WITH LPAREN transfer_settings RPAREN + FROM object_ref TO object_ref USING lambda_or_parameter + (WITH LPAREN transfer_settings RPAREN)? ; transfer_settings: transfer_settings_entry (COMMA transfer_settings_entry)*; diff --git a/yql/essentials/sql/v1/format/sql_format_ut.h b/yql/essentials/sql/v1/format/sql_format_ut.h index 7f77d456a15..b4986c6aaf1 100644 --- a/yql/essentials/sql/v1/format/sql_format_ut.h +++ b/yql/essentials/sql/v1/format/sql_format_ut.h @@ -417,14 +417,14 @@ Y_UNIT_TEST(AsyncReplication) { Y_UNIT_TEST(Transfer) { TCases cases = { - {"create transfer user from topic1 to table1 with (user='foo')", - "CREATE TRANSFER user FROM topic1 TO table1 WITH (user = 'foo');\n"}, {"alter transfer user set (user='foo')", "ALTER TRANSFER user SET (user = 'foo');\n"}, {"drop transfer user", "DROP TRANSFER user;\n"}, {"drop transfer user cascade", "DROP TRANSFER user CASCADE;\n"}, + {"create transfer user from topic1 to table1 using ($x) -> { $y = cast($x as String); return $y ; }", + "CREATE TRANSFER user FROM topic1 TO table1 USING ($x) -> {\n $y = CAST($x AS String);\n RETURN $y;\n};\n"}, {"create transfer user from topic1 to table1 using ($x) -> { $y = cast($x as String); return $y ; } with (user='foo')", "CREATE TRANSFER user FROM topic1 TO table1 USING ($x) -> {\n $y = CAST($x AS String);\n RETURN $y;\n} WITH (user = 'foo');\n"}, {"create transfer user from topic1 to table1 using $xxx with (user='foo')", diff --git a/yql/essentials/sql/v1/sql_query.cpp b/yql/essentials/sql/v1/sql_query.cpp index d77500463d5..5461ec09de0 100644 --- a/yql/essentials/sql/v1/sql_query.cpp +++ b/yql/essentials/sql/v1/sql_query.cpp @@ -1855,7 +1855,7 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core& std::map<TString, TNodePtr> settings; TSqlExpression expr(Ctx_, Mode_); - if (!TransferSettings(settings, node.GetRule_transfer_settings11(), expr, true)) { + if (node.GetBlock10().HasRule_transfer_settings3() && !TransferSettings(settings, node.GetBlock10().GetRule_transfer_settings3(), expr, true)) { return false; } @@ -1863,10 +1863,8 @@ bool TSqlQuery::Statement(TVector<TNodePtr>& blocks, const TRule_sql_stmt_core& const TString source = Id(node.GetRule_object_ref5().GetRule_id_or_at2(), *this).second; const TString target = Id(node.GetRule_object_ref7().GetRule_id_or_at2(), *this).second; TString transformLambda; - if (node.GetBlock8().HasRule_lambda_or_parameter2()) { - if (!ParseTransferLambda(transformLambda, node.GetBlock8().GetRule_lambda_or_parameter2())) { - return false; - } + if (!ParseTransferLambda(transformLambda, node.GetRule_lambda_or_parameter9())) { + return false; } AddStatementToBlocks(blocks, BuildCreateTransfer(Ctx_.Pos(), BuildTablePath(prefixPath, id), |