From 4669c1d06d0c8bb332c956d2c71b1aacf2609d7a Mon Sep 17 00:00:00 2001 From: Mikhail Surin Date: Thu, 29 Feb 2024 10:51:14 -0300 Subject: [PATCH 1/2] Fix prompt --- ydb/core/kqp/opt/logical/kqp_opt_log_ranges_predext.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ydb/core/kqp/opt/logical/kqp_opt_log_ranges_predext.cpp b/ydb/core/kqp/opt/logical/kqp_opt_log_ranges_predext.cpp index def4f0e632a4..06bcfd638a3d 100644 --- a/ydb/core/kqp/opt/logical/kqp_opt_log_ranges_predext.cpp +++ b/ydb/core/kqp/opt/logical/kqp_opt_log_ranges_predext.cpp @@ -367,7 +367,7 @@ TExprBase KqpPushExtractedPredicateToReadTable(TExprBase node, TExprContext& ctx if (buildResult.ExpectedMaxRanges.Defined()) { prompt.SetExpectedMaxRanges(buildResult.ExpectedMaxRanges.GetRef()); } - prompt.SetPointPrefixLen(buildResult.UsedPrefixLen); + prompt.SetPointPrefixLen(buildResult.PointPrefixLen); YQL_CLOG(DEBUG, ProviderKqp) << "Ranges extracted: " << KqpExprToPrettyString(*ranges, ctx); YQL_CLOG(DEBUG, ProviderKqp) << "Residual lambda: " << KqpExprToPrettyString(*residualLambda, ctx); From c37f2e00538eeef37005af29efb15d6c421fbb82 Mon Sep 17 00:00:00 2001 From: Mikhail Surin Date: Thu, 29 Feb 2024 11:38:16 -0300 Subject: [PATCH 2/2] add test --- ydb/core/kqp/ut/opt/kqp_ne_ut.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ydb/core/kqp/ut/opt/kqp_ne_ut.cpp b/ydb/core/kqp/ut/opt/kqp_ne_ut.cpp index 7eb4e290e989..debf78c59332 100644 --- a/ydb/core/kqp/ut/opt/kqp_ne_ut.cpp +++ b/ydb/core/kqp/ut/opt/kqp_ne_ut.cpp @@ -2640,6 +2640,22 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { ])", FormatResultSetYson(result.GetResultSet(0))); } + Y_UNIT_TEST(DeleteON) { + auto kikimr = DefaultKikimrRunner(); + auto db = kikimr.GetTableClient(); + auto session = db.CreateSession().GetValueSync().GetSession(); + + NYdb::NTable::TExecDataQuerySettings execSettings; + execSettings.CollectQueryStats(ECollectQueryStatsMode::Basic); + + auto result = session.ExecuteDataQuery(R"( + --!syntax_v1 + + DELETE FROM `/Root/Join2` where (Key1 = 1 and Key2 = "") OR Key1 = 3; + )", TTxControl::BeginTx().CommitTx(), execSettings).ExtractValueSync(); + UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); + } + Y_UNIT_TEST(JoinWithPrecompute) { auto kikimr = DefaultKikimrRunner(); auto db = kikimr.GetTableClient();