diff options
author | Nikita Vasilev <ns-vasilev@ydb.tech> | 2025-03-31 13:30:11 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-03-31 10:30:11 +0000 |
commit | 38eb729cdac3ddaf06775f9bd400ec9ddcfaa31b (patch) | |
tree | ef63294ab20fc3dd19adb65cf37685d1b7111b8b | |
parent | 582fbd6e3fe4cce8836edade42eb253b9548ef1f (diff) | |
download | ydb-38eb729cdac3ddaf06775f9bd400ec9ddcfaa31b.tar.gz |
Always use EvWrite (#16448)
21 files changed, 137 insertions, 334 deletions
diff --git a/ydb/core/protos/table_service_config.proto b/ydb/core/protos/table_service_config.proto index 2ffd193491f..c67f453c9f6 100644 --- a/ydb/core/protos/table_service_config.proto +++ b/ydb/core/protos/table_service_config.proto @@ -299,7 +299,7 @@ message TTableServiceConfig { optional uint64 IdxLookupJoinPointsLimit = 58 [default = 3]; reserved 59; //optional bool OldLookupJoinBehaviour = 59 [default = false]; - optional bool EnableOltpSink = 60 [default = false]; + optional bool EnableOltpSink = 60 [default = true]; enum EBlockChannelsMode { BLOCK_CHANNELS_SCALAR = 0; diff --git a/ydb/tests/functional/api/test_insert.py b/ydb/tests/functional/api/test_insert.py index d456687b186..ad28e4b87bf 100644 --- a/ydb/tests/functional/api/test_insert.py +++ b/ydb/tests/functional/api/test_insert.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import logging -from hamcrest import assert_that, raises, equal_to, any_of +from hamcrest import assert_that, raises, equal_to from ydb.tests.library.harness.kikimr_runner import KiKiMR from ydb.tests.oss.ydb_sdk_import import ydb @@ -189,15 +189,9 @@ class TestInsertOperations(object): if first_query_kind in row_adding_operations and second_query_kind == 'insert': assert_that( callee, - any_of( - raises( - ydb.PreconditionFailed, - "Conflict with existing key." - ), - raises( - ydb.PreconditionFailed, - "Duplicate keys have been found." - ) + raises( + ydb.PreconditionFailed, + "(Duplicate keys have been found.)|(Conflict with existing key.)" ) ) diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_from_table.sql-plan_/dynumber_insert_from_table.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_from_table.sql-plan_/dynumber_insert_from_table.sql.plan index c1ec7180d97..e78bb7600be 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_from_table.sql-plan_/dynumber_insert_from_table.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_from_table.sql-plan_/dynumber_insert_from_table.sql.plan @@ -21,21 +21,13 @@ }, { "name": "/local/base_dynumber_insert_from_table_sql_plan/ResultTableDyNumber", - "reads": [ - { - "lookup_by": [ - "Key" - ], - "type": "Lookup" - } - ], "writes": [ { "columns": [ "Key", "Value" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_literal.sql-plan_/dynumber_insert_literal.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_literal.sql-plan_/dynumber_insert_literal.sql.plan index 2360a2fc1be..db6d72b7f43 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_literal.sql-plan_/dynumber_insert_literal.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_literal.sql-plan_/dynumber_insert_literal.sql.plan @@ -6,21 +6,13 @@ "tables": [ { "name": "/local/base_dynumber_insert_literal_sql_plan/ResultLiteralDyNumber", - "reads": [ - { - "lookup_by": [ - "Key" - ], - "type": "Lookup" - } - ], "writes": [ { "columns": [ "Key", "Value" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_params.sql-plan_/dynumber_insert_params.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_params.sql-plan_/dynumber_insert_params.sql.plan index 7fdad896072..23abca39d64 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_params.sql-plan_/dynumber_insert_params.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_params.sql-plan_/dynumber_insert_params.sql.plan @@ -6,21 +6,13 @@ "tables": [ { "name": "/local/base_dynumber_insert_params_sql_plan/ResultParamsDyNumber", - "reads": [ - { - "lookup_by": [ - "Key" - ], - "type": "Lookup" - } - ], "writes": [ { "columns": [ "Key", "Value" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_explain.script-script_/explain.script.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_explain.script-script_/explain.script.plan index c57e7aca54b..0faa53fd98e 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_explain.script-script_/explain.script.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_explain.script-script_/explain.script.plan @@ -519,27 +519,23 @@ "PlanNodeType": "Query", "Plans": [ { - "Node Type": "Effect", + "Node Type": "Sink", "PlanNodeId": 2, "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "Upsert-ConstantExpr", + "Node Type": "ConstantExpr-Sink", "Operators": [ { - "Inputs": [ - { - "InternalOperatorId": 1 - } - ], - "Name": "Upsert", - "Path": "/local/base_explain_script_script/ScriptingTest", - "Table": "base_explain_script_script/ScriptingTest" + "Inputs": [], + "Iterator": "[{Key: 3,Value: \"Three\"},{Key: 4,Value: \"Four\"}]", + "Name": "Iterator" }, { "Inputs": [], - "Iterator": "precompute_0_0", - "Name": "Iterator" + "Name": "Replace", + "Path": "/local/base_explain_script_script/ScriptingTest", + "SinkType": "KqpTableSink", + "Table": "base_explain_script_script/ScriptingTest" } ], "PlanNodeId": 1, @@ -563,7 +559,7 @@ "Key", "Value" ], - "type": "MultiUpsert" + "type": "MultiReplace" } ] } @@ -575,27 +571,23 @@ "PlanNodeType": "Query", "Plans": [ { - "Node Type": "Effect", + "Node Type": "Sink", "PlanNodeId": 2, "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "Upsert-ConstantExpr", + "Node Type": "ConstantExpr-Sink", "Operators": [ { - "Inputs": [ - { - "InternalOperatorId": 1 - } - ], - "Name": "Upsert", - "Path": "/local/base_explain_script_script/ScriptingTest", - "Table": "base_explain_script_script/ScriptingTest" + "Inputs": [], + "Iterator": "[{Key: 1,Value: \"One\"},{Key: 2,Value: \"Two\"}]", + "Name": "Iterator" }, { "Inputs": [], - "Iterator": "precompute_0_0", - "Name": "Iterator" + "Name": "Replace", + "Path": "/local/base_explain_script_script/ScriptingTest", + "SinkType": "KqpTableSink", + "Table": "base_explain_script_script/ScriptingTest" } ], "PlanNodeId": 1, @@ -619,7 +611,7 @@ "Key", "Value" ], - "type": "MultiUpsert" + "type": "MultiReplace" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_join_group_by_lookup.script-script_/join_group_by_lookup.script.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_join_group_by_lookup.script-script_/join_group_by_lookup.script.plan index 916955225bd..a671822e07a 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_join_group_by_lookup.script-script_/join_group_by_lookup.script.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_join_group_by_lookup.script-script_/join_group_by_lookup.script.plan @@ -294,27 +294,23 @@ "PlanNodeType": "Query", "Plans": [ { - "Node Type": "Effect", + "Node Type": "Sink", "PlanNodeId": 2, "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "Upsert-ConstantExpr", + "Node Type": "ConstantExpr-Sink", "Operators": [ { - "Inputs": [ - { - "InternalOperatorId": 1 - } - ], - "Name": "Upsert", - "Path": "/local/base_join_group_by_lookup_script_script/Temp", - "Table": "base_join_group_by_lookup_script_script/Temp" + "Inputs": [], + "Iterator": "[{Group: 1,Value: \"One\"},{Group: 3,Value: \"Three\"}]", + "Name": "Iterator" }, { "Inputs": [], - "Iterator": "precompute_0_0", - "Name": "Iterator" + "Name": "Replace", + "Path": "/local/base_join_group_by_lookup_script_script/Temp", + "SinkType": "KqpTableSink", + "Table": "base_join_group_by_lookup_script_script/Temp" } ], "PlanNodeId": 1, @@ -338,7 +334,7 @@ "Group", "Value" ], - "type": "MultiUpsert" + "type": "MultiReplace" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_from_table.sql-plan_/json_insert_from_table.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_from_table.sql-plan_/json_insert_from_table.sql.plan index a38f5dd1ff7..3422943b64c 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_from_table.sql-plan_/json_insert_from_table.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_from_table.sql-plan_/json_insert_from_table.sql.plan @@ -21,21 +21,13 @@ }, { "name": "/local/base_json_insert_from_table_sql_plan/ResultTableJD", - "reads": [ - { - "lookup_by": [ - "Key" - ], - "type": "Lookup" - } - ], "writes": [ { "columns": [ "Key", "Value" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_literal.sql-plan_/json_insert_literal.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_literal.sql-plan_/json_insert_literal.sql.plan index 1324aa83b6c..e2b336b31c8 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_literal.sql-plan_/json_insert_literal.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_literal.sql-plan_/json_insert_literal.sql.plan @@ -6,21 +6,13 @@ "tables": [ { "name": "/local/base_json_insert_literal_sql_plan/ResultLiteralJD", - "reads": [ - { - "lookup_by": [ - "Key" - ], - "type": "Lookup" - } - ], "writes": [ { "columns": [ "Key", "Value" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_params.sql-plan_/json_insert_params.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_params.sql-plan_/json_insert_params.sql.plan index 12d03175a1f..802cd64665d 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_params.sql-plan_/json_insert_params.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_params.sql-plan_/json_insert_params.sql.plan @@ -6,21 +6,13 @@ "tables": [ { "name": "/local/base_json_insert_params_sql_plan/ResultParamsJD", - "reads": [ - { - "lookup_by": [ - "Key" - ], - "type": "Lookup" - } - ], "writes": [ { "columns": [ "Key", "Value" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_simple_ct.script-script_/simple_ct.script.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_simple_ct.script-script_/simple_ct.script.plan index a3f28f505fd..10512bcaaa7 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_simple_ct.script-script_/simple_ct.script.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_simple_ct.script-script_/simple_ct.script.plan @@ -10,27 +10,23 @@ "PlanNodeType": "Query", "Plans": [ { - "Node Type": "Effect", + "Node Type": "Sink", "PlanNodeId": 2, "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "Upsert-ConstantExpr", + "Node Type": "ConstantExpr-Sink", "Operators": [ { - "Inputs": [ - { - "InternalOperatorId": 1 - } - ], - "Name": "Upsert", - "Path": "/local/base_simple_ct_script_script/Questions", - "Table": "base_simple_ct_script_script/Questions" + "Inputs": [], + "Iterator": "[{idx: 1,text: \"to do or not to do\"}]", + "Name": "Iterator" }, { "Inputs": [], - "Iterator": "precompute_0_0", - "Name": "Iterator" + "Name": "Upsert", + "Path": "/local/base_simple_ct_script_script/Questions", + "SinkType": "KqpTableSink", + "Table": "base_simple_ct_script_script/Questions" } ], "PlanNodeId": 1, diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_table_types.script-script_/table_types.script.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_table_types.script-script_/table_types.script.plan index c09de3f8757..4f05136f0ad 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_table_types.script-script_/table_types.script.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_table_types.script-script_/table_types.script.plan @@ -135,27 +135,23 @@ "PlanNodeType": "Query", "Plans": [ { - "Node Type": "Effect", + "Node Type": "Sink", "PlanNodeId": 2, "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "Upsert-ConstantExpr", + "Node Type": "ConstantExpr-Sink", "Operators": [ { - "Inputs": [ - { - "InternalOperatorId": 1 - } - ], - "Name": "Upsert", - "Path": "/local/base_table_types_script_script/TableTypes", - "Table": "base_table_types_script_script/TableTypes" + "Inputs": [], + "Iterator": "[{Key: \"Key\",Value01: \"true\",Value02: 1,Value03: -1,Value04: 2,Value05: -2,Value06: 3,Value07: \"4.5\",Value08: Minus,Value09: \"3.14\",Value10: DyNumber,Value21: \"\\u041F\\u0440\\u0438\\u0432\\u0435\\u0442\",Value22: \"{\\\"name\\\": \\\"George\\\", \\\"age\\\": 23}\",Value23: JsonDocument,Value24: \"{a=1; b=2}\",Value31: Apply,Value32: Apply,Value33: Apply,Value34: Apply}]", + "Name": "Iterator" }, { "Inputs": [], - "Iterator": "precompute_0_0", - "Name": "Iterator" + "Name": "Replace", + "Path": "/local/base_table_types_script_script/TableTypes", + "SinkType": "KqpTableSink", + "Table": "base_table_types_script_script/TableTypes" } ], "PlanNodeId": 1, @@ -196,7 +192,7 @@ "Value33", "Value34" ], - "type": "MultiUpsert" + "type": "MultiReplace" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert.sql-plan_/write_insert.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert.sql-plan_/write_insert.sql.plan index d9b00b71fdf..f6a5f6b88be 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert.sql-plan_/write_insert.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert.sql-plan_/write_insert.sql.plan @@ -6,15 +6,6 @@ "tables": [ { "name": "/local/base_write_insert_sql_plan/Input", - "reads": [ - { - "lookup_by": [ - "key", - "subkey" - ], - "type": "Lookup" - } - ], "writes": [ { "columns": [ @@ -22,7 +13,7 @@ "subkey", "value" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] }, @@ -41,13 +32,6 @@ "Name (-\u221e, +\u221e)" ], "type": "Scan" - }, - { - "lookup_by": [ - "Group", - "Name" - ], - "type": "Lookup" } ], "writes": [ @@ -57,7 +41,7 @@ "Group", "Name" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert_revert.sql-plan_/write_insert_revert.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert_revert.sql-plan_/write_insert_revert.sql.plan index 586f7e00d29..3b4d0c4d679 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert_revert.sql-plan_/write_insert_revert.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert_revert.sql-plan_/write_insert_revert.sql.plan @@ -22,7 +22,7 @@ "subkey", "value" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] }, @@ -44,7 +44,7 @@ "Group", "Name" ], - "type": "MultiUpsert" + "type": "MultiInsert" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage.script-script_/write_multi_usage.script.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage.script-script_/write_multi_usage.script.plan index 8c8f361d05b..4904f636e2f 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage.script-script_/write_multi_usage.script.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage.script-script_/write_multi_usage.script.plan @@ -214,98 +214,30 @@ "PlanNodeType": "Query", "Plans": [ { - "Node Type": "Effect", - "PlanNodeId": 12, + "Node Type": "Sink", + "PlanNodeId": 7, "Plans": [ { - "CTE Name": "precompute_0_1", - "Node Type": "Upsert-ConstantExpr", + "Node Type": "Stage-Sink", "Operators": [ { - "Inputs": [ - { - "InternalOperatorId": 1 - } - ], + "Inputs": [], "Name": "Upsert", "Path": "/local/base_write_multi_usage_script_script/Temp", + "SinkType": "KqpTableSink", "Table": "base_write_multi_usage_script_script/Temp" - }, - { - "Inputs": [], - "Iterator": "precompute_0_1", - "Name": "Iterator" } ], - "PlanNodeId": 11, - "Tables": [ - "base_write_multi_usage_script_script/Temp" - ] - } - ] - }, - { - "Node Type": "Effect", - "PlanNodeId": 10, - "Plans": [ - { - "CTE Name": "precompute_0_0", - "Node Type": "Delete-ConstantExpr", - "Operators": [ - { - "Inputs": [ - { - "InternalOperatorId": 1 - } - ], - "Name": "Delete", - "Path": "/local/base_write_multi_usage_script_script/Input1", - "Table": "base_write_multi_usage_script_script/Input1" - }, - { - "Inputs": [], - "Iterator": "precompute_0_0", - "Name": "Iterator" - } - ], - "PlanNodeId": 9, - "Tables": [ - "base_write_multi_usage_script_script/Input1" - ] - } - ] - }, - { - "Node Type": "Precompute_0_0", - "Parent Relationship": "InitPlan", - "PlanNodeId": 7, - "PlanNodeType": "Materialize", - "Plans": [ - { - "Node Type": "Stage", - "PlanNodeId": 6 - } - ], - "Subplan Name": "CTE precompute_0_0" - }, - { - "Node Type": "Precompute_0_1", - "Parent Relationship": "InitPlan", - "PlanNodeId": 5, - "PlanNodeType": "Materialize", - "Plans": [ - { - "Node Type": "Collect", - "PlanNodeId": 4, + "PlanNodeId": 6, "Plans": [ { "Node Type": "UnionAll", - "PlanNodeId": 3, + "PlanNodeId": 5, "PlanNodeType": "Connection", "Plans": [ { "Node Type": "Stage", - "PlanNodeId": 2, + "PlanNodeId": 4, "Plans": [ { "Node Type": "TableRangeScan", @@ -325,7 +257,7 @@ "Table": "base_write_multi_usage_script_script/Input1" } ], - "PlanNodeId": 1, + "PlanNodeId": 3, "Tables": [ "base_write_multi_usage_script_script/Input1" ] @@ -334,10 +266,39 @@ } ] } + ], + "Tables": [ + "base_write_multi_usage_script_script/Temp" + ] + } + ] + }, + { + "Node Type": "Sink", + "PlanNodeId": 2, + "Plans": [ + { + "Node Type": "ConstantExpr-Sink", + "Operators": [ + { + "Inputs": [], + "Iterator": "[{Group: 1,Name: ToString}]", + "Name": "Iterator" + }, + { + "Inputs": [], + "Name": "Delete", + "Path": "/local/base_write_multi_usage_script_script/Input1", + "SinkType": "KqpTableSink", + "Table": "base_write_multi_usage_script_script/Input1" + } + ], + "PlanNodeId": 1, + "Tables": [ + "base_write_multi_usage_script_script/Input1" ] } - ], - "Subplan Name": "CTE precompute_0_1" + ] } ], "Stats": { diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage_key.script-script_/write_multi_usage_key.script.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage_key.script-script_/write_multi_usage_key.script.plan index 2f5f9223067..073b8bb49d0 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage_key.script-script_/write_multi_usage_key.script.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage_key.script-script_/write_multi_usage_key.script.plan @@ -104,44 +104,20 @@ "PlanNodeType": "Query", "Plans": [ { - "Node Type": "Effect", - "PlanNodeId": 8, + "Node Type": "Sink", + "PlanNodeId": 5, "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "Upsert-ConstantExpr", + "Node Type": "Stage-Sink", "Operators": [ { - "Inputs": [ - { - "InternalOperatorId": 1 - } - ], + "Inputs": [], "Name": "Upsert", "Path": "/local/base_write_multi_usage_key_script_script/Temp", + "SinkType": "KqpTableSink", "Table": "base_write_multi_usage_key_script_script/Temp" - }, - { - "Inputs": [], - "Iterator": "precompute_0_0", - "Name": "Iterator" } ], - "PlanNodeId": 7, - "Tables": [ - "base_write_multi_usage_key_script_script/Temp" - ] - } - ] - }, - { - "Node Type": "Precompute_0", - "Parent Relationship": "InitPlan", - "PlanNodeId": 5, - "PlanNodeType": "Materialize", - "Plans": [ - { - "Node Type": "Collect", "PlanNodeId": 4, "Plans": [ { @@ -193,10 +169,12 @@ } ] } + ], + "Tables": [ + "base_write_multi_usage_key_script_script/Temp" ] } - ], - "Subplan Name": "CTE precompute_0_0" + ] } ], "Stats": { diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_write.sql-plan_/write_multi_write.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_write.sql-plan_/write_multi_write.sql.plan index 841dfdec96d..c95d86b6795 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_write.sql-plan_/write_multi_write.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_write.sql-plan_/write_multi_write.sql.plan @@ -9,7 +9,6 @@ "writes": [ { "columns": [ - "Amount", "Comment", "Group", "Name" @@ -17,18 +16,19 @@ "type": "MultiUpsert" }, { - "columns": [ - "Comment", - "Group", - "Name" - ], - "type": "MultiUpsert" + "type": "MultiErase" }, { "type": "MultiErase" }, { - "type": "MultiErase" + "columns": [ + "Amount", + "Comment", + "Group", + "Name" + ], + "type": "MultiReplace" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_replace.sql-plan_/write_replace.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_replace.sql-plan_/write_replace.sql.plan index cd2b46dbe89..5c028acd1cb 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_replace.sql-plan_/write_replace.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_replace.sql-plan_/write_replace.sql.plan @@ -26,7 +26,7 @@ "subkey", "value" ], - "type": "MultiUpsert" + "type": "MultiReplace" } ] }, @@ -40,7 +40,7 @@ "Group", "Name" ], - "type": "MultiUpsert" + "type": "MultiReplace" }, { "columns": [ @@ -49,7 +49,7 @@ "Group", "Name" ], - "type": "MultiUpsert" + "type": "MultiReplace" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update.sql-plan_/write_update.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update.sql-plan_/write_update.sql.plan index ce96e820d33..257d7e1c163 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update.sql-plan_/write_update.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update.sql-plan_/write_update.sql.plan @@ -26,8 +26,8 @@ { "columns": [ "Amount", - "Name", - "Group" + "Group", + "Name" ], "type": "MultiUpsert" } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update_on.sql-plan_/write_update_on.sql.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update_on.sql-plan_/write_update_on.sql.plan index 9574e68bdd9..06b591ec55f 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update_on.sql-plan_/write_update_on.sql.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update_on.sql-plan_/write_update_on.sql.plan @@ -6,19 +6,6 @@ "tables": [ { "name": "/local/base_write_update_on_sql_plan/Input", - "reads": [ - { - "columns": [ - "key", - "subkey" - ], - "lookup_by": [ - "key", - "subkey" - ], - "type": "Lookup" - } - ], "writes": [ { "columns": [ @@ -26,7 +13,7 @@ "subkey", "value" ], - "type": "MultiUpsert" + "type": "MultiUpdate" } ] }, @@ -46,17 +33,6 @@ "Name (-\u221e, +\u221e)" ], "type": "Scan" - }, - { - "columns": [ - "Group", - "Name" - ], - "lookup_by": [ - "Group", - "Name" - ], - "type": "Lookup" } ], "writes": [ @@ -66,7 +42,7 @@ "Group", "Name" ], - "type": "MultiUpsert" + "type": "MultiUpdate" } ] } diff --git a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_write_group_by.script-script_/write_write_group_by.script.plan b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_write_group_by.script-script_/write_write_group_by.script.plan index 34538f0c81e..64e854f08da 100644 --- a/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_write_group_by.script-script_/write_write_group_by.script.plan +++ b/ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_write_group_by.script-script_/write_write_group_by.script.plan @@ -106,44 +106,20 @@ "PlanNodeType": "Query", "Plans": [ { - "Node Type": "Effect", - "PlanNodeId": 10, + "Node Type": "Sink", + "PlanNodeId": 7, "Plans": [ { - "CTE Name": "precompute_0_0", - "Node Type": "Upsert-ConstantExpr", + "Node Type": "Stage-Sink", "Operators": [ { - "Inputs": [ - { - "InternalOperatorId": 1 - } - ], + "Inputs": [], "Name": "Upsert", "Path": "/local/base_write_write_group_by_script_script/Temp", + "SinkType": "KqpTableSink", "Table": "base_write_write_group_by_script_script/Temp" - }, - { - "Inputs": [], - "Iterator": "precompute_0_0", - "Name": "Iterator" } ], - "PlanNodeId": 9, - "Tables": [ - "base_write_write_group_by_script_script/Temp" - ] - } - ] - }, - { - "Node Type": "Precompute_0", - "Parent Relationship": "InitPlan", - "PlanNodeId": 7, - "PlanNodeType": "Materialize", - "Plans": [ - { - "Node Type": "Collect", "PlanNodeId": 6, "Plans": [ { @@ -224,10 +200,12 @@ } ] } + ], + "Tables": [ + "base_write_write_group_by_script_script/Temp" ] } - ], - "Subplan Name": "CTE precompute_0_0" + ] } ], "Stats": { |