aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita Vasilev <ns-vasilev@ydb.tech>2025-03-31 13:30:11 +0300
committerGitHub <noreply@github.com>2025-03-31 10:30:11 +0000
commit38eb729cdac3ddaf06775f9bd400ec9ddcfaa31b (patch)
treeef63294ab20fc3dd19adb65cf37685d1b7111b8b
parent582fbd6e3fe4cce8836edade42eb253b9548ef1f (diff)
downloadydb-38eb729cdac3ddaf06775f9bd400ec9ddcfaa31b.tar.gz
Always use EvWrite (#16448)
-rw-r--r--ydb/core/protos/table_service_config.proto2
-rw-r--r--ydb/tests/functional/api/test_insert.py14
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_from_table.sql-plan_/dynumber_insert_from_table.sql.plan10
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_literal.sql-plan_/dynumber_insert_literal.sql.plan10
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_dynumber_insert_params.sql-plan_/dynumber_insert_params.sql.plan10
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_explain.script-script_/explain.script.plan48
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_join_group_by_lookup.script-script_/join_group_by_lookup.script.plan24
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_from_table.sql-plan_/json_insert_from_table.sql.plan10
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_literal.sql-plan_/json_insert_literal.sql.plan10
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_json_insert_params.sql-plan_/json_insert_params.sql.plan10
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_simple_ct.script-script_/simple_ct.script.plan22
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_table_types.script-script_/table_types.script.plan24
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert.sql-plan_/write_insert.sql.plan20
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_insert_revert.sql-plan_/write_insert_revert.sql.plan4
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage.script-script_/write_multi_usage.script.plan119
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_usage_key.script-script_/write_multi_usage_key.script.plan40
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_multi_write.sql-plan_/write_multi_write.sql.plan16
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_replace.sql-plan_/write_replace.sql.plan6
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update.sql-plan_/write_update.sql.plan4
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_update_on.sql-plan_/write_update_on.sql.plan28
-rw-r--r--ydb/tests/functional/canonical/canondata/test_sql.TestCanonicalFolder1.test_case_write_write_group_by.script-script_/write_write_group_by.script.plan40
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": {