diff options
author | Vitalii Gridnev <gridnevvvit@gmail.com> | 2025-02-28 16:36:54 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-02-28 16:36:54 +0300 |
commit | 1ecde826fd81f9cdb003f94d2975886b217c874f (patch) | |
tree | ab36dc0f0aa9d94788b6742b5e983aa614053339 | |
parent | 94c61d5c6c2dcdb74c2b6021922ee544a46240a1 (diff) | |
download | ydb-1ecde826fd81f9cdb003f94d2975886b217c874f.tar.gz |
remove some portion of stream lookup tests (#15202)
24 files changed, 149 insertions, 346 deletions
diff --git a/ydb/core/kqp/ut/cost/kqp_cost_ut.cpp b/ydb/core/kqp/ut/cost/kqp_cost_ut.cpp index 994d9fab51..9c446a4732 100644 --- a/ydb/core/kqp/ut/cost/kqp_cost_ut.cpp +++ b/ydb/core/kqp/ut/cost/kqp_cost_ut.cpp @@ -12,10 +12,9 @@ namespace NKqp { using namespace NYdb; using namespace NYdb::NTable; -static NKikimrConfig::TAppConfig GetAppConfig(bool scanSourceRead = false, bool streamLookup = true, bool streamLookupJoin = false, bool enableOltpSink = false) { +static NKikimrConfig::TAppConfig GetAppConfig(bool scanSourceRead = false, bool streamLookupJoin = false, bool enableOltpSink = false) { auto app = NKikimrConfig::TAppConfig(); app.MutableTableServiceConfig()->SetEnableKqpScanQuerySourceRead(scanSourceRead); - app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(streamLookup); app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamIdxLookupJoin(streamLookupJoin); app.MutableTableServiceConfig()->SetEnableOlapSink(true); app.MutableTableServiceConfig()->SetEnableOltpSink(enableOltpSink); @@ -110,11 +109,8 @@ Y_UNIT_TEST_SUITE(KqpCost) { //runtime->SetLogPriority(NKikimrServices::GRPC_SERVER, NActors::NLog::PRI_DEBUG); } - Y_UNIT_TEST_QUAD(IndexLookup, StreamLookup, useSink) { - if (useSink && !StreamLookup) { - return; - } - TKikimrRunner kikimr(GetAppConfig(true, StreamLookup, false, useSink)); + Y_UNIT_TEST_TWIN(IndexLookup, useSink) { + TKikimrRunner kikimr(GetAppConfig(true, false, useSink)); auto db = kikimr.GetTableClient(); auto session = db.CreateSession().GetValueSync().GetSession(); @@ -178,11 +174,8 @@ Y_UNIT_TEST_SUITE(KqpCost) { UNIT_ASSERT_VALUES_EQUAL(readsByTable.at("/Root/SecondaryKeys/Index/indexImplTable").second, 8); } - Y_UNIT_TEST_QUAD(IndexLookupAtLeast8BytesInStorage, StreamLookup, useSink) { - if (useSink && !StreamLookup) { - return; - } - TKikimrRunner kikimr(GetAppConfig(true, StreamLookup, false, useSink)); + Y_UNIT_TEST_TWIN(IndexLookupAtLeast8BytesInStorage, useSink) { + TKikimrRunner kikimr(GetAppConfig(true, false, useSink)); auto db = kikimr.GetTableClient(); auto session = db.CreateSession().GetValueSync().GetSession(); @@ -247,11 +240,8 @@ Y_UNIT_TEST_SUITE(KqpCost) { UNIT_ASSERT_VALUES_EQUAL(readsByTable.at("/Root/SecondaryKeys/Index/indexImplTable").second, 8); } - Y_UNIT_TEST_QUAD(IndexLookupAndTake, StreamLookup, useSink) { - if (useSink && !StreamLookup) { - return; - } - TKikimrRunner kikimr(GetAppConfig(true, StreamLookup, false, useSink)); + Y_UNIT_TEST_TWIN(IndexLookupAndTake, useSink) { + TKikimrRunner kikimr(GetAppConfig(true, false, useSink)); auto db = kikimr.GetTableClient(); auto session = db.CreateSession().GetValueSync().GetSession(); @@ -370,7 +360,7 @@ Y_UNIT_TEST_SUITE(KqpCost) { } Y_UNIT_TEST_TWIN(IndexLookupJoin, StreamLookupJoin) { - TKikimrRunner kikimr(GetAppConfig(true, true, StreamLookupJoin, false)); + TKikimrRunner kikimr(GetAppConfig(true, StreamLookupJoin, false)); auto db = kikimr.GetTableClient(); auto session = db.CreateSession().GetValueSync().GetSession(); @@ -532,7 +522,7 @@ Y_UNIT_TEST_SUITE(KqpCost) { } Y_UNIT_TEST(OlapPointLookup) { - TKikimrRunner kikimr(GetAppConfig(false, false)); + TKikimrRunner kikimr(GetAppConfig(false)); auto db = kikimr.GetQueryClient(); auto session = db.GetSession().GetValueSync().GetSession(); @@ -622,7 +612,7 @@ Y_UNIT_TEST_SUITE(KqpCost) { } Y_UNIT_TEST(OlapWriteRow) { - TKikimrRunner kikimr(GetAppConfig(false, false, false, true)); + TKikimrRunner kikimr(GetAppConfig(false, false, true)); auto db = kikimr.GetQueryClient(); auto session = db.GetSession().GetValueSync().GetSession(); @@ -676,7 +666,7 @@ Y_UNIT_TEST_SUITE(KqpCost) { auto result = session.ExecuteQuery(query, txControl, GetQuerySettings()).ExtractValueSync(); // TODO: fix status? UNIT_ASSERT_VALUES_EQUAL(result.GetStatus(), EStatus::BAD_REQUEST); - + auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats()); Cerr << stats.DebugString() << Endl; @@ -789,7 +779,7 @@ Y_UNIT_TEST_SUITE(KqpCost) { } Y_UNIT_TEST_TWIN(OltpWriteRow, isSink) { - TKikimrRunner kikimr(GetAppConfig(false, false, false, isSink)); + TKikimrRunner kikimr(GetAppConfig(false, false, isSink)); auto db = kikimr.GetQueryClient(); auto session = db.GetSession().GetValueSync().GetSession(); diff --git a/ydb/core/kqp/ut/effects/kqp_inplace_update_ut.cpp b/ydb/core/kqp/ut/effects/kqp_inplace_update_ut.cpp index da6187a2ee..64130b3546 100644 --- a/ydb/core/kqp/ut/effects/kqp_inplace_update_ut.cpp +++ b/ydb/core/kqp/ut/effects/kqp_inplace_update_ut.cpp @@ -69,7 +69,6 @@ void Test( // source read and stream lookup use iterator interface, that doesn't use datashard transactions NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(false); auto settings = TKikimrSettings() .SetAppConfig(appConfig) @@ -370,7 +369,6 @@ Y_UNIT_TEST(BigRow) { // source read use iterator interface, that doesn't use datashard transactions NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(false); auto settings = TKikimrSettings() .SetAppConfig(appConfig) diff --git a/ydb/core/kqp/ut/indexes/kqp_indexes_multishard_ut.cpp b/ydb/core/kqp/ut/indexes/kqp_indexes_multishard_ut.cpp index a98fecc1e3..46b1e84f2c 100644 --- a/ydb/core/kqp/ut/indexes/kqp_indexes_multishard_ut.cpp +++ b/ydb/core/kqp/ut/indexes/kqp_indexes_multishard_ut.cpp @@ -1641,10 +1641,8 @@ Y_UNIT_TEST_SUITE(KqpMultishardIndex) { } } - Y_UNIT_TEST_TWIN(DataColumnUpsertMixedSemantic, StreamLookup) { + Y_UNIT_TEST(DataColumnUpsertMixedSemantic) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); - auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -1689,10 +1687,8 @@ Y_UNIT_TEST_SUITE(KqpMultishardIndex) { } } - Y_UNIT_TEST_TWIN(DataColumnWriteNull, StreamLookup) { + Y_UNIT_TEST(DataColumnWriteNull) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); - auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -1771,9 +1767,8 @@ Y_UNIT_TEST_SUITE(KqpMultishardIndex) { } } - Y_UNIT_TEST_TWIN(DataColumnWrite, StreamLookup) { + Y_UNIT_TEST(DataColumnWrite) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() @@ -2171,9 +2166,8 @@ Y_UNIT_TEST_SUITE(KqpMultishardIndex) { } } - Y_UNIT_TEST_TWIN(DataColumnSelect, StreamLookup) { + Y_UNIT_TEST(DataColumnSelect) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() @@ -2268,9 +2262,8 @@ Y_UNIT_TEST_SUITE(KqpMultishardIndex) { } } - Y_UNIT_TEST_TWIN(DuplicateUpsert, StreamLookup) { + Y_UNIT_TEST(DuplicateUpsert) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() @@ -2304,10 +2297,8 @@ Y_UNIT_TEST_SUITE(KqpMultishardIndex) { } } - Y_UNIT_TEST_TWIN(SortByPk, StreamLookup) { + Y_UNIT_TEST(SortByPk) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); - auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig); diff --git a/ydb/core/kqp/ut/indexes/kqp_indexes_ut.cpp b/ydb/core/kqp/ut/indexes/kqp_indexes_ut.cpp index 9d14476a91..e7494b88bb 100644 --- a/ydb/core/kqp/ut/indexes/kqp_indexes_ut.cpp +++ b/ydb/core/kqp/ut/indexes/kqp_indexes_ut.cpp @@ -2796,24 +2796,11 @@ Y_UNIT_TEST_SUITE(KqpIndexes) { auto& stats = NYdb::TProtoAccessor::GetProto(*result.GetStats()); - if (serverSettings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 2); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/TestTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 3); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).name(), "/Root/TestTable/ix_cust/indexImplTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).reads().rows(), 3); - } else { - int indexPhaseId = 0; - int tablePhaseId = 1; - - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(tablePhaseId).table_access().size(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(tablePhaseId).table_access(0).name(), "/Root/TestTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(tablePhaseId).table_access(0).reads().rows(), 3); - - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(indexPhaseId).table_access().size(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(indexPhaseId).table_access(0).name(), "/Root/TestTable/ix_cust/indexImplTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(indexPhaseId).table_access(0).reads().rows(), 3); - } + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 2); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/TestTable"); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 3); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).name(), "/Root/TestTable/ix_cust/indexImplTable"); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).reads().rows(), 3); } } @@ -2844,24 +2831,11 @@ Y_UNIT_TEST_SUITE(KqpIndexes) { auto& stats = NYdb::TProtoAccessor::GetProto(*result.GetStats()); - if (serverSettings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 2); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/TestTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 2); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).name(), "/Root/TestTable/ix_cust2/indexImplTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).reads().rows(), 2); - } else { - int indexPhaseId = 0; - int tablePhaseId = 1; - - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(tablePhaseId).table_access().size(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(tablePhaseId).table_access(0).name(), "/Root/TestTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(tablePhaseId).table_access(0).reads().rows(), 2); - - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(indexPhaseId).table_access().size(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(indexPhaseId).table_access(0).name(), "/Root/TestTable/ix_cust2/indexImplTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(indexPhaseId).table_access(0).reads().rows(), 2); - } + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 2); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/TestTable"); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 2); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).name(), "/Root/TestTable/ix_cust2/indexImplTable"); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).reads().rows(), 2); } } @@ -4855,7 +4829,6 @@ R"([[#;#;["Primary1"];[41u]];[["Secondary2"];[2u];["Primary2"];[42u]];[["Seconda .SetKqpSettings({setting}); NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(true); appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamIdxLookupJoin(true); // setting channel buffer size so small to make sure that we will be able to transfer at least // one row in stream lookup. @@ -4998,30 +4971,13 @@ R"([[#;#;["Primary1"];[41u]];[["Secondary2"];[2u];["Primary2"];[42u]];[["Seconda auto& stats = NYdb::TProtoAccessor::GetProto(*result2.GetStats()); - int readPhase = 0; - if (serverSettings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 1); - - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access().size(), 2); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access(0).name(), "/Root/SecondaryComplexKeys"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access(0).reads().rows(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access(1).name(), "/Root/SecondaryComplexKeys/Index/indexImplTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access(1).reads().rows(), 1); - } else { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 3); - - readPhase++; - - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access().size(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access(0).name(), "/Root/SecondaryComplexKeys/Index/indexImplTable"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access(0).reads().rows(), 1); - - readPhase++; + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access().size(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access(0).name(), "/Root/SecondaryComplexKeys"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(readPhase).table_access(0).reads().rows(), 1); - } + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 2); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/SecondaryComplexKeys"); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 1); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).name(), "/Root/SecondaryComplexKeys/Index/indexImplTable"); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(1).reads().rows(), 1); } } diff --git a/ydb/core/kqp/ut/join/kqp_index_lookup_join_ut.cpp b/ydb/core/kqp/ut/join/kqp_index_lookup_join_ut.cpp index 5a513a6c54..4213ecdfef 100644 --- a/ydb/core/kqp/ut/join/kqp_index_lookup_join_ut.cpp +++ b/ydb/core/kqp/ut/join/kqp_index_lookup_join_ut.cpp @@ -75,7 +75,7 @@ void PrepareTables(TSession session) { (1, "Value1"), (2, "Value2"), (3, "Value3"), - (4, "Value4"); + (4, "Value4"); REPLACE INTO `/Root/LaunchByProcessIdAndPinned` (idx_processId, idx_pinned, idx_launchNumber) VALUES ("eProcess", false, 4), @@ -133,7 +133,7 @@ void Test(const TString& query, const TString& answer, size_t rightTableReads, b UNIT_ASSERT_VALUES_EQUAL(tableStat.reads().rows(), rightTableReads); } } - } else if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { + } else { UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 1); @@ -143,18 +143,6 @@ void Test(const TString& query, const TString& answer, size_t rightTableReads, b UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(1).table_access().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(1).table_access(0).name(), "/Root/Right"); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(1).table_access(0).reads().rows(), rightTableReads); - } else { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 3); - - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/Left"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 7); - - UNIT_ASSERT(stats.query_phases(1).table_access().empty()); // keys extraction for lookups - - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(2).table_access().size(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(2).table_access(0).name(), "/Root/Right"); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(2).table_access(0).reads().rows(), rightTableReads); } } @@ -575,7 +563,7 @@ Y_UNIT_TEST_TWIN(LeftSemiJoinWithLeftFilter, StreamLookup) { FROM `/Root/Left` AS l LEFT SEMI JOIN `/Root/Right` AS r ON l.Fk = r.Key - WHERE l.Value != 'Value1' + WHERE l.Value != 'Value1' ORDER BY l.Value )", R"([ @@ -651,10 +639,8 @@ void TestKeyCastForAllJoinTypes(TSession session, const TString& leftTable, cons if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamIdxLookupJoin()) { UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 1); - } else if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); } else { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 3); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); } } } @@ -728,8 +714,7 @@ void TestKeyCast(const TKikimrSettings& settings, TSession session, const TStrin const TString query = GetQuery(joinType, leftTable, rightTable); auto result = session.ExecuteDataQuery(Q_(query), TTxControl::BeginTx().CommitTx(), execSettings).ExtractValueSync(); - ui32 index = settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamIdxLookupJoin() ? 0 - : (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup() ? 1 : 2); + ui32 index = settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamIdxLookupJoin() ? 0 : 1; CompareYson(answer, FormatResultSetYson(result.GetResultSet(0))); @@ -764,7 +749,7 @@ Y_UNIT_TEST_QUAD(CheckCastInt32ToInt16, StreamLookupJoin, NotNull) { (-32769, "Value12"); REPLACE INTO `/Root/{rightTable}` (Key, Value) VALUES (1, "Value21"), - (32767, "Value22"); + (32767, "Value22"); )", "leftTable"_a = leftKeyColumnType, "rightTable"_a = rightTableName @@ -777,7 +762,7 @@ Y_UNIT_TEST_QUAD(CheckCastInt32ToInt16, StreamLookupJoin, NotNull) { [[1];["Value11"];[1];["Value21"]] ])"; - TestKeyCast(settings, session, "LEFT", leftKeyColumnType, rightTableName, answer, StreamLookupJoin ? 1 : 2); + TestKeyCast(settings, session, "LEFT", leftKeyColumnType, rightTableName, answer, StreamLookupJoin ? 1 : 2); } Y_UNIT_TEST_QUAD(CheckCastUint32ToUint16, StreamLookupJoin, NotNull) { @@ -816,7 +801,7 @@ Y_UNIT_TEST_QUAD(CheckCastUint32ToUint16, StreamLookupJoin, NotNull) { [[4294967295u];["Value12"];#;#] ])"; - TestKeyCast(settings, session, "LEFT", leftKeyColumnType, rightTableName, answer, StreamLookupJoin ? 1 : 2); + TestKeyCast(settings, session, "LEFT", leftKeyColumnType, rightTableName, answer, StreamLookupJoin ? 1 : 2); } Y_UNIT_TEST_QUAD(CheckCastUint64ToInt64, StreamLookupJoin, NotNull) { @@ -857,7 +842,7 @@ Y_UNIT_TEST_QUAD(CheckCastUint64ToInt64, StreamLookupJoin, NotNull) { [[18446744073709551615u];["Value11"];#;#] ])"; - TestKeyCast(settings, session, "LEFT", leftKeyColumnType, rightTableName, answer, StreamLookupJoin ? 1 : 2); + TestKeyCast(settings, session, "LEFT", leftKeyColumnType, rightTableName, answer, StreamLookupJoin ? 1 : 2); } Y_UNIT_TEST_QUAD(CheckCastInt64ToUint64, StreamLookupJoin, NotNull) { @@ -896,7 +881,7 @@ Y_UNIT_TEST_QUAD(CheckCastInt64ToUint64, StreamLookupJoin, NotNull) { [[1];["Value11"];[1u];["Value22"]] ])"; - TestKeyCast(settings, session, "LEFT", leftKeyColumnType, rightTableName, answer, StreamLookupJoin ? 1 : 2); + TestKeyCast(settings, session, "LEFT", leftKeyColumnType, rightTableName, answer, StreamLookupJoin ? 1 : 2); } Y_UNIT_TEST_QUAD(CheckCastUtf8ToString, StreamLookupJoin, NotNull) { @@ -971,7 +956,7 @@ Y_UNIT_TEST_TWIN(JoinByComplexKeyWithNullComponents, StreamLookupJoin) { (1, "one", "value1"), (2, NULL, "value2"), (NULL, "three", "value3"); - + REPLACE INTO `/Root/Right` (Key1, Key2, Value) VALUES (1, "one", "value1"), (2, NULL, "value2"), @@ -1216,7 +1201,7 @@ Y_UNIT_TEST_TWIN(LeftSemiJoinWithDuplicatesInRightTable, StreamLookupJoin) { (1, 10, "value1"), (2, 20, "value2"), (3, 30, "value3"); - + REPLACE INTO `/Root/Right` (Key1, Key2, Value) VALUES (10, 100, "value1"), (10, 101, "value1"), diff --git a/ydb/core/kqp/ut/join/kqp_join_order_ut.cpp b/ydb/core/kqp/ut/join/kqp_join_order_ut.cpp index 4024038d4a..b6985792ff 100644 --- a/ydb/core/kqp/ut/join/kqp_join_order_ut.cpp +++ b/ydb/core/kqp/ut/join/kqp_join_order_ut.cpp @@ -32,11 +32,11 @@ TString GetStatic(const TString& filePath) { TString fullPath = SRC_("data/" + filePath); std::ifstream file(fullPath); - + if (!file.is_open()) { throw std::runtime_error("can't open + " + fullPath + " " + std::filesystem::current_path()); } - + std::stringstream buffer; buffer << file.rdbuf(); @@ -91,16 +91,16 @@ static void CreateSampleTable(NYdb::NQuery::TSession session, bool useColumnStor { CreateTables(session, "schema/different_join_predicate_key_types.sql", false /* olap params are already set in schema */); - const TString upsert = + const TString upsert = R"( UPSERT INTO t1 (id1) VALUES (1); UPSERT INTO t2 (id2, t1_id1) VALUES (1, 1); UPSERT INTO t3 (id3) VALUES (1); )"; - auto result = + auto result = session.ExecuteQuery( - upsert, - NYdb::NQuery::TTxControl::NoTx(), + upsert, + NYdb::NQuery::TTxControl::NoTx(), NYdb::NQuery::TExecuteQuerySettings().ExecMode(NQuery::EExecMode::Execute) ).ExtractValueSync(); @@ -116,10 +116,6 @@ static TKikimrRunner GetKikimrWithJoinSettings(bool useStreamLookupJoin = false, NKikimrKqp::TKqpSetting setting; - setting.SetName("EnableKqpDataQueryStreamLookup"); - setting.SetValue("true"); - settings.push_back(setting); - if (stats != "") { setting.SetName("OptOverrideStatistics"); setting.SetValue(stats); @@ -232,7 +228,7 @@ private: TKikimrRunner Kikimr; NYdb::NTable::TTableClient TableClient; TSession Session; - size_t ChainSize; + size_t ChainSize; }; void ExplainJoinOrderTestDataQueryWithStats(const TString& queryPath, const TString& statsPath, bool useStreamLookupJoin, bool useColumnStore, bool useCBO = true) { @@ -246,11 +242,11 @@ void ExplainJoinOrderTestDataQueryWithStats(const TString& queryPath, const TStr /* join with parameters */ { const TString query = GetStatic(queryPath); - - auto result = + + auto result = session.ExecuteQuery( - query, - NYdb::NQuery::TTxControl::NoTx(), + query, + NYdb::NQuery::TTxControl::NoTx(), NYdb::NQuery::TExecuteQuerySettings().ExecMode(NQuery::EExecMode::Explain) ).ExtractValueSync(); result.GetIssues().PrintTo(Cerr); @@ -270,10 +266,10 @@ void TestOlapEstimationRowsCorrectness(const TString& queryPath, const TString& const TString actualQuery = GetStatic(queryPath); TString actualPlan; { - auto result = + auto result = session.ExecuteQuery( - actualQuery, - NYdb::NQuery::TTxControl::NoTx(), + actualQuery, + NYdb::NQuery::TTxControl::NoTx(), NYdb::NQuery::TExecuteQuerySettings().ExecMode(NQuery::EExecMode::Explain) ).ExtractValueSync(); @@ -288,8 +284,8 @@ void TestOlapEstimationRowsCorrectness(const TString& queryPath, const TString& TString expectedPlan; { auto result = session.ExecuteQuery( - expectedQuery, - NYdb::NQuery::TTxControl::NoTx(), + expectedQuery, + NYdb::NQuery::TTxControl::NoTx(), NYdb::NQuery::TExecuteQuerySettings().ExecMode(NQuery::EExecMode::Explain) ).ExtractValueSync(); UNIT_ASSERT_VALUES_EQUAL(result.GetStatus(), EStatus::SUCCESS); @@ -400,7 +396,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { /* join with parameters */ { const TString query = GetStatic(queryPath); - + auto explainRes = session.ExecuteQuery(query, NYdb::NQuery::TTxControl::NoTx(), NYdb::NQuery::TExecuteQuerySettings().ExecMode(NQuery::EExecMode::Explain)).ExtractValueSync(); explainRes.GetIssues().PrintTo(Cerr); UNIT_ASSERT_VALUES_EQUAL(explainRes.GetStatus(), EStatus::SUCCESS); @@ -425,10 +421,10 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { { const TString query = GetStatic(queryPath); - auto result = + auto result = session.ExecuteQuery( - query, - NYdb::NQuery::TTxControl::NoTx(), + query, + NYdb::NQuery::TTxControl::NoTx(), NYdb::NQuery::TExecuteQuerySettings().ExecMode(NQuery::EExecMode::Explain) ).ExtractValueSync(); PrintPlan(TString{*result.GetStats()->GetPlan()}); @@ -538,7 +534,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS16, StreamLookupJoin, ColumnStore) { - ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds16.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); + ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds16.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); } /* tpcds23 has > 1 result sets */ @@ -573,11 +569,11 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS34, StreamLookupJoin, ColumnStore) { - ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds34.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); + ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds34.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS61, StreamLookupJoin, ColumnStore) { - ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds61.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); + ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds61.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS87, StreamLookupJoin, ColumnStore) { @@ -585,27 +581,27 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS88, StreamLookupJoin, ColumnStore) { - ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds88.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); + ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds88.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS90, StreamLookupJoin, ColumnStore) { - ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds90.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); + ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds90.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); } - + Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS92, StreamLookupJoin, ColumnStore) { ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds92.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS94, StreamLookupJoin, ColumnStore) { - ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds94.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); + ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds94.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS95, StreamLookupJoin, ColumnStore) { - ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds95.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); + ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds95.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TPCDS96, StreamLookupJoin, ColumnStore) { - ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds96.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); + ExecuteJoinOrderTestGenericQueryWithStats("queries/tpcds96.sql", "stats/tpcds1000s.json", StreamLookupJoin, ColumnStore); } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TestJoinHint1, StreamLookupJoin, ColumnStore) { @@ -624,12 +620,12 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { ) : Plan( GetDetailedJoinOrder( - fullPlan.GetStringRobust(), + fullPlan.GetStringRobust(), TGetPlanParams{ - .IncludeFilters = false, - .IncludeOptimizerEstimation = false, + .IncludeFilters = false, + .IncludeOptimizerEstimation = false, .IncludeTables = true, - .IncludeShuffles = true + .IncludeShuffles = true } ) ) @@ -639,7 +635,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { TString Join; bool LhsShuffled; bool RhsShuffled; - }; + }; TJoin Find(const TVector<TString>& labels) { Labels = labels; @@ -700,7 +696,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { Y_UNIT_TEST(ShuffleEliminationReuseShuffleTwoJoins) { auto [plan, _] = ExecuteJoinOrderTestGenericQueryWithStats("queries/shuffle_elimination_reuse_shuffle_two_joins.sql", "stats/tpch1000s.json", false, true, true); auto joinFinder = TFindJoinWithLabels(plan); - + { auto join = joinFinder.Find({"partsupp", "part"}); UNIT_ASSERT_C(join.Join == "InnerJoin (Grace)", join.Join); @@ -715,18 +711,18 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { UNIT_ASSERT(join.RhsShuffled); } } - + Y_UNIT_TEST(ShuffleEliminationDifferentJoinPredicateKeyTypeCorrectness1) { auto [plan, resultSets] = ExecuteJoinOrderTestGenericQueryWithStats( "queries/shuffle_elimination_different_join_predicate_key_type_correctness1.sql", "stats/different_join_predicate_key_types.json", false, false, true ); - + auto joinFinder = TFindJoinWithLabels(plan); auto join = joinFinder.Find({"t1", "t2"}); UNIT_ASSERT_EQUAL(join.Join, "InnerJoin (Grace)"); UNIT_ASSERT(!join.LhsShuffled); UNIT_ASSERT(join.RhsShuffled); - + UNIT_ASSERT(resultSets.size() == 1); auto resultSet = FormatResultSetYson(resultSets[0]); UNIT_ASSERT_EQUAL_C(resultSet, "[[1;1;1]]", resultSet); @@ -736,7 +732,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { auto [plan, resultSets] = ExecuteJoinOrderTestGenericQueryWithStats( "queries/shuffle_elimination_different_join_predicate_key_type_correctness2.sql", "stats/different_join_predicate_key_types.json", false, false, true ); - + auto joinFinder = TFindJoinWithLabels(plan); { auto join = joinFinder.Find({"t1", "t2"}); @@ -751,7 +747,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { UNIT_ASSERT(join.LhsShuffled); UNIT_ASSERT(!join.RhsShuffled); } - + UNIT_ASSERT(resultSets.size() == 1); auto resultSet = FormatResultSetYson(resultSets[0]); UNIT_ASSERT_EQUAL_C(resultSet, "[[1;1;1;1]]", resultSet); @@ -761,7 +757,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { auto [plan, resultSets] = ExecuteJoinOrderTestGenericQueryWithStats( "queries/shuffle_elimination_many_keys_join_predicate.sql", "stats/tpch1000s.json", false, false, true ); - + auto joinFinder = TFindJoinWithLabels(plan); { auto join = joinFinder.Find({"partsupp", "lineitem"}); @@ -781,18 +777,18 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TestJoinOrderHintsSimple, StreamLookupJoin, ColumnStore) { - auto [plan, _] = ExecuteJoinOrderTestGenericQueryWithStats("queries/join_order_hints_simple.sql", "stats/basic.json", StreamLookupJoin, ColumnStore); + auto [plan, _] = ExecuteJoinOrderTestGenericQueryWithStats("queries/join_order_hints_simple.sql", "stats/basic.json", StreamLookupJoin, ColumnStore); UNIT_ASSERT_VALUES_EQUAL(GetJoinOrder(plan).GetStringRobust(), R"(["T",["R","S"]])") ; } Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TestJoinOrderHintsComplex, StreamLookupJoin, ColumnStore) { - auto [plan, _] = ExecuteJoinOrderTestGenericQueryWithStats("queries/join_order_hints_complex.sql", "stats/basic.json", StreamLookupJoin, ColumnStore); + auto [plan, _] = ExecuteJoinOrderTestGenericQueryWithStats("queries/join_order_hints_complex.sql", "stats/basic.json", StreamLookupJoin, ColumnStore); auto joinOrder = GetJoinOrder(plan).GetStringRobust(); UNIT_ASSERT_C(joinOrder.find(R"([["R","S"],["T","U"]])") != TString::npos, joinOrder); } // Y_UNIT_TEST_XOR_OR_BOTH_FALSE(TestJoinOrderHintsManyHintTrees, StreamLookupJoin, ColumnStore) { - // auto [plan, _] = ExecuteJoinOrderTestGenericQueryWithStats("queries/join_order_hints_many_hint_trees.sql", "stats/basic.json", StreamLookupJoin, ColumnStore); + // auto [plan, _] = ExecuteJoinOrderTestGenericQueryWithStats("queries/join_order_hints_many_hint_trees.sql", "stats/basic.json", StreamLookupJoin, ColumnStore); // auto joinOrder = GetJoinOrder(plan).GetStringRobust(); // UNIT_ASSERT_C(joinOrder.find(R"(["R","S"])") != TString::npos, joinOrder); // UNIT_ASSERT_C(joinOrder.find(R"(["T","U"])") != TString::npos, joinOrder); @@ -810,11 +806,11 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { /* join with parameters */ { const TString query = GetStatic(queryPath); - - auto result = + + auto result = session.ExecuteQuery( - query, - NYdb::NQuery::TTxControl::NoTx(), + query, + NYdb::NQuery::TTxControl::NoTx(), NYdb::NQuery::TExecuteQuerySettings().ExecMode(NQuery::EExecMode::Explain) ).ExtractValueSync(); @@ -827,7 +823,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { } if (useColumnStore) { - correctJoinOrderPath = correctJoinOrderPath.substr(0, correctJoinOrderPath.find(".json")) + "_column_store.json"; + correctJoinOrderPath = correctJoinOrderPath.substr(0, correctJoinOrderPath.find(".json")) + "_column_store.json"; } auto currentJoinOrder = GetPrettyJSON(GetDetailedJoinOrder(TString{*result.GetStats()->GetPlan()})); @@ -841,7 +837,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { } TString ref = GetStatic(correctJoinOrderPath); - Cout << "actual\n" << GetJoinOrder(TString{*result.GetStats()->GetPlan()}).GetStringRobust() << Endl; + Cout << "actual\n" << GetJoinOrder(TString{*result.GetStats()->GetPlan()}).GetStringRobust() << Endl; Cout << "expected\n" << GetJoinOrderFromDetailedJoinOrder(ref).GetStringRobust() << Endl; UNIT_ASSERT(JoinOrderAndAlgosMatch(TString{*result.GetStats()->GetPlan()}, ref)); } @@ -870,7 +866,7 @@ Y_UNIT_TEST_SUITE(KqpJoinOrder) { "queries/tpcds64_small.sql", "stats/tpcds1000s.json", "join_order/tpcds64_small_1000s.json", StreamLookupJoin, ColumnStore ); } - + Y_UNIT_TEST_XOR_OR_BOTH_FALSE(CanonizedJoinOrderTPCDS78, StreamLookupJoin, ColumnStore) { CanonizedJoinOrderTest( "queries/tpcds78.sql", "stats/tpcds1000s.json", "join_order/tpcds78_1000s.json", StreamLookupJoin, ColumnStore diff --git a/ydb/core/kqp/ut/join/kqp_join_ut.cpp b/ydb/core/kqp/ut/join/kqp_join_ut.cpp index 47cfbba286..3f9117e564 100644 --- a/ydb/core/kqp/ut/join/kqp_join_ut.cpp +++ b/ydb/core/kqp/ut/join/kqp_join_ut.cpp @@ -262,22 +262,13 @@ Y_UNIT_TEST_SUITE(KqpJoin) { } } } else { - if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); - } else { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 3); - } + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/Join1_1"); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 8); ui32 index = 1; - if (!settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT(stats.query_phases(1).table_access().empty()); // keys extraction for lookups - index = 2; - } - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(index).table_access().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(index).table_access(0).name(), "/Root/Join1_2"); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(index).table_access(0).reads().rows(), 1); @@ -326,22 +317,13 @@ Y_UNIT_TEST_SUITE(KqpJoin) { } } } else { - if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); - } else { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 3); - } + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/Join1_1"); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 8); ui32 index = 1; - if (!settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT(stats.query_phases(1).table_access().empty()); // keys extraction for lookups - index = 2; - } - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(index).table_access().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(index).table_access(0).name(), "/Root/Join1_2"); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(index).table_access(0).reads().rows(), 3); @@ -636,7 +618,7 @@ Y_UNIT_TEST_SUITE(KqpJoin) { PRAGMA FilterPushdownOverJoinOptionalSide; SELECT t1.Key1, t1.Key2, t1.Fk1, t1.Value, t2.Key, t2.Value, t3.Key, t3.Value - + FROM `/Root/Join1_1` AS t1 LEFT JOIN `/Root/Join1_2` AS t2 ON t1.Fk1 = t2.Key @@ -664,7 +646,7 @@ Y_UNIT_TEST_SUITE(KqpJoin) { CROSS JOIN `/Root/Join1_3` AS t3 LEFT JOIN `/Root/Join1_2` AS t2 ON t1.Fk1 = t2.Key - + WHERE t2.Value > 1001; )"), TTxControl::BeginTx().CommitTx()).ExtractValueSync(); UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString()); @@ -817,7 +799,7 @@ Y_UNIT_TEST_SUITE(KqpJoin) { } } - Y_UNIT_TEST(TwoJoinsWithQueryService) { + Y_UNIT_TEST(TwoJoinsWithQueryService) { NKikimrConfig::TAppConfig appConfig; auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -832,9 +814,9 @@ Y_UNIT_TEST_SUITE(KqpJoin) { auto session = client.CreateSession().GetValueSync().GetSession(); const auto query = Q_(R"( CREATE TABLE ta( - a Int64, - b Int64, - c Int64, + a Int64, + b Int64, + c Int64, PRIMARY KEY(a) ); )"); @@ -845,10 +827,10 @@ Y_UNIT_TEST_SUITE(KqpJoin) { auto session = client.CreateSession().GetValueSync().GetSession(); const auto query = Q_(R"( CREATE TABLE tb( - b Int64, - bval Int64, + b Int64, + bval Int64, PRIMARY KEY(b) - ); + ); )"); auto result = session.ExecuteSchemeQuery(query).ExtractValueSync(); UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString()); @@ -857,8 +839,8 @@ Y_UNIT_TEST_SUITE(KqpJoin) { auto session = client.CreateSession().GetValueSync().GetSession(); const auto query = Q_(R"( CREATE TABLE tc( - c Int64, - cval Int64, + c Int64, + cval Int64, PRIMARY KEY(c) ); )"); @@ -1638,7 +1620,6 @@ Y_UNIT_TEST_SUITE(KqpJoin) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamIdxLookupJoin(StreamLookup); appConfig.MutableTableServiceConfig()->SetIdxLookupJoinPointsLimit(10); - //appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(false); auto appsettings = TKikimrSettings().SetAppConfig(appConfig); @@ -1831,11 +1812,11 @@ Y_UNIT_TEST_SUITE(KqpJoin) { ("04","1","07"), ("04","2","08"), ("05","1","09"), - ("05","2","10"), + ("05","2","10"), ("06","1","11"), - ("06","2","12"), + ("06","2","12"), ("07","1","13"), - ("07","2","14"), + ("07","2","14"), ("09","1","15"), ("09","2","16"); @@ -1866,11 +1847,11 @@ Y_UNIT_TEST_SUITE(KqpJoin) { (NULL,"1","01"), (NULL,"2","02"), ("02","1","03"), - ("02","1","04"), + ("02","1","04"), ("02","2","05"), ("02","2","06"), ("03","1","07"), - ("03","2","08"), + ("03","2","08"), ("09","1","09"), ("09","2","10"); )", TTxControl::BeginTx().CommitTx()).ExtractValueSync(); diff --git a/ydb/core/kqp/ut/opt/kqp_extract_predicate_unpack_ut.cpp b/ydb/core/kqp/ut/opt/kqp_extract_predicate_unpack_ut.cpp index fac1d7e373..4d32b2dbc3 100644 --- a/ydb/core/kqp/ut/opt/kqp_extract_predicate_unpack_ut.cpp +++ b/ydb/core/kqp/ut/opt/kqp_extract_predicate_unpack_ut.cpp @@ -150,12 +150,10 @@ Y_UNIT_TEST_SUITE(KqpExtractPredicateLookup) { void Test( const TString& query, const TString& answer, - bool enableKqpDataQueryStreamLookup, THashSet<TString> allowScans = {}, NYdb::TParams params = TParamsBuilder().Build()) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(enableKqpDataQueryStreamLookup); TKikimrSettings settings; settings.SetDomainRoot(KikimrDefaultUtDomainRoot); settings.SetAppConfig(appConfig); @@ -193,10 +191,8 @@ void Test( } } -void TestRange(const TString& query, const TString& answer, ui64 rowsRead, int stagesCount = 1, bool streamLookup = true) { +void TestRange(const TString& query, const TString& answer, ui64 rowsRead, int stagesCount = 1) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(streamLookup); - auto settings = TKikimrSettings() .SetAppConfig(appConfig); @@ -245,8 +241,7 @@ Y_UNIT_TEST(OverflowLookup) { )", R"([])", 0, - 2, - false); + 2); TestRange( R"( @@ -394,7 +389,7 @@ Y_UNIT_TEST(ComplexRange) { 2); } -Y_UNIT_TEST_TWIN(PointJoin, EnableKqpDataQueryStreamLookup) { +Y_UNIT_TEST(PointJoin) { Test( R"( DECLARE $p as Int32; @@ -408,7 +403,6 @@ Y_UNIT_TEST_TWIN(PointJoin, EnableKqpDataQueryStreamLookup) { [[2];[102];["Value1"];[102];["Value22"]]; [[2];[103];["Value3"];[103];["Value23"]] ])", - EnableKqpDataQueryStreamLookup, {"/Root/SimpleKey"}, TParamsBuilder().AddParam("$p").Int32(1).Build().Build()); @@ -424,7 +418,6 @@ Y_UNIT_TEST_TWIN(PointJoin, EnableKqpDataQueryStreamLookup) { R"([ [[3u];[103];["Value2"];[103];["Value23"]] ])", - EnableKqpDataQueryStreamLookup, {"/Root/SimpleKey"}, TParamsBuilder().AddParam("$p").Int32(3).Build().Build()); @@ -439,7 +432,6 @@ Y_UNIT_TEST_TWIN(PointJoin, EnableKqpDataQueryStreamLookup) { )", R"([ ])", - EnableKqpDataQueryStreamLookup, {"/Root/SimpleKey"}, TParamsBuilder().AddParam("$p").Int32(-2).Build().Build()); @@ -455,7 +447,6 @@ Y_UNIT_TEST_TWIN(PointJoin, EnableKqpDataQueryStreamLookup) { R"([ [[3u];[103];["Value2"];[103];["Value23"];["103-2"]] ])", - EnableKqpDataQueryStreamLookup, {"/Root/SimpleKey", "/Root/UintComplexKeyWithIndex/Index/indexImplTable"}, TParamsBuilder().AddParam("$p").Int32(3).Build().Build()); @@ -472,12 +463,11 @@ Y_UNIT_TEST_TWIN(PointJoin, EnableKqpDataQueryStreamLookup) { ["2";"102";["Value1"];"102";["Value22"]]; ["2";"103";["Value3"];"103";["Value23"]] ])", - EnableKqpDataQueryStreamLookup, {"/Root/PgKey"}, TParamsBuilder().AddParam("$p").Pg(TPgValue(TPgValue::VK_TEXT, "1", TPgType("pgint4"))).Build().Build()); } -Y_UNIT_TEST_TWIN(SqlInJoin, EnableKqpDataQueryStreamLookup) { +Y_UNIT_TEST(SqlInJoin) { Test( R"( DECLARE $p AS Int32; @@ -490,7 +480,6 @@ Y_UNIT_TEST_TWIN(SqlInJoin, EnableKqpDataQueryStreamLookup) { [[2];[102];["Value1"]]; [[2];[103];["Value3"]] ])", - EnableKqpDataQueryStreamLookup, {"/Root/SimpleKey"}, TParamsBuilder().AddParam("$p").Int32(1).Build().Build()); @@ -504,7 +493,6 @@ Y_UNIT_TEST_TWIN(SqlInJoin, EnableKqpDataQueryStreamLookup) { R"([ [[3u];[103];["Value2"]] ])", - EnableKqpDataQueryStreamLookup, {"/Root/SimpleKey"}, TParamsBuilder().AddParam("$p").Int32(3).Build().Build()); @@ -517,7 +505,6 @@ Y_UNIT_TEST_TWIN(SqlInJoin, EnableKqpDataQueryStreamLookup) { )", R"([ ])", - EnableKqpDataQueryStreamLookup, {"/Root/SimpleKey"}, TParamsBuilder().AddParam("$p").Int32(-2).Build().Build()); @@ -531,7 +518,6 @@ Y_UNIT_TEST_TWIN(SqlInJoin, EnableKqpDataQueryStreamLookup) { R"([ [[3u];[103];["Value2"];["103-2"]] ])", - EnableKqpDataQueryStreamLookup, {"/Root/SimpleKey", "/Root/UintComplexKeyWithIndex/Index/indexImplTable"}, TParamsBuilder().AddParam("$p").Int32(3).Build().Build()); @@ -547,7 +533,6 @@ Y_UNIT_TEST_TWIN(SqlInJoin, EnableKqpDataQueryStreamLookup) { ["2";"102";["Value1"]]; ["2";"103";["Value3"]] ])", - EnableKqpDataQueryStreamLookup, {"/Root/PgKey"}, TParamsBuilder().AddParam("$p").Pg(TPgValue(TPgValue::VK_TEXT, "1", TPgType("pgint4"))).Build().Build()); } diff --git a/ydb/core/kqp/ut/opt/kqp_ne_ut.cpp b/ydb/core/kqp/ut/opt/kqp_ne_ut.cpp index a0dc58429b..280667bf24 100644 --- a/ydb/core/kqp/ut/opt/kqp_ne_ut.cpp +++ b/ydb/core/kqp/ut/opt/kqp_ne_ut.cpp @@ -262,10 +262,6 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { UNIT_ASSERT_VALUES_EQUAL(1, stats.query_phases().size()); // no LiteralExecuter phase UNIT_ASSERT_VALUES_EQUAL(1, stats.query_phases()[0].table_access().size()); UNIT_ASSERT_VALUES_EQUAL("/Root/EightShard", stats.query_phases()[0].table_access()[0].name()); - if (!settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(1, stats.query_phases()[0].affected_shards()); - UNIT_ASSERT_VALUES_EQUAL(1, stats.query_phases()[0].table_access()[0].partitions_count()); - } params = kikimr.GetTableClient().GetParamsBuilder() .AddParam("$key").Uint64(330).Build() @@ -280,10 +276,6 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { UNIT_ASSERT_VALUES_EQUAL(1, stats.query_phases().size()); // no LiteralExecuter phase UNIT_ASSERT_VALUES_EQUAL(1, stats.query_phases()[0].table_access().size()); UNIT_ASSERT_VALUES_EQUAL("/Root/EightShard", stats.query_phases()[0].table_access()[0].name()); - if (!settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(1, stats.query_phases()[0].affected_shards()); - UNIT_ASSERT_VALUES_EQUAL(1, stats.query_phases()[0].table_access()[0].partitions_count()); - } } Y_UNIT_TEST(PkSelect2) { @@ -1306,10 +1298,6 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { } UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(phase).table_access().size(), 1); - if (!settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(phase).affected_shards(), 2); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(phase).table_access(0).partitions_count(), 2); - } UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(phase).table_access(0).name(), "/Root/EightShard"); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(phase).table_access(0).reads().rows(), 2); UNIT_ASSERT(stats.query_phases(phase).table_access(0).reads().bytes() > 0); @@ -1574,21 +1562,12 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { } } } else { - if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); - } else { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 3); - } + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/Join1"); ui32 index = 1; - if (!settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(1).table_access().size(), 0); - index = 2; - } - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(index).table_access().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(index).table_access(0).name(), "/Root/Join2"); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(index).table_access(0).reads().rows(), 4); @@ -2020,10 +1999,6 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 1); - if (!serverSettings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).affected_shards(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).partitions_count(), 1); - } UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).name(), "/Root/EightShard"); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).updates().rows(), 0); @@ -3631,7 +3606,6 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { Y_UNIT_TEST_TWIN(StreamLookupForDataQuery, StreamLookupJoin) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(true); appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamIdxLookupJoin(StreamLookupJoin); TKikimrRunner kikimr(TKikimrSettings().SetAppConfig(appConfig)); auto db = kikimr.GetTableClient(); @@ -4162,7 +4136,7 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { create table demo_ref2(id text, code text, some text, primary key(id), index ix_code global on (code)); )").GetValueSync()); } - + auto query = R"( select ba_0.id, ba_0.some, r_1.id, r_1.some, r_1.code, @@ -4343,9 +4317,9 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { querySettings.CollectQueryStats(ECollectQueryStatsMode::Profile); TString query = R"( - SELECT Key, Data FROM `/Root/EightShard` - WHERE Text = "Value1" - ORDER BY Key + SELECT Key, Data FROM `/Root/EightShard` + WHERE Text = "Value1" + ORDER BY Key LIMIT 1; )"; diff --git a/ydb/core/kqp/ut/opt/kqp_ranges_ut.cpp b/ydb/core/kqp/ut/opt/kqp_ranges_ut.cpp index 87457cf4e2..6e7f712601 100644 --- a/ydb/core/kqp/ut/opt/kqp_ranges_ut.cpp +++ b/ydb/core/kqp/ut/opt/kqp_ranges_ut.cpp @@ -862,11 +862,6 @@ Y_UNIT_TEST_SUITE(KqpRanges) { UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).reads().rows(), 1); - - if (!settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).affected_shards(), 1); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(0).table_access(0).partitions_count(), 1); - } } Y_UNIT_TEST(DuplicateKeyPredicateLiteral) { @@ -1094,11 +1089,6 @@ Y_UNIT_TEST_SUITE(KqpRanges) { } UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(phase).table_access().size(), 1); UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(phase).table_access(0).reads().rows(), 3); - - if (!settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(phase).affected_shards(), 4); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases(phase).table_access(0).partitions_count(), 4); - } } Y_UNIT_TEST(LiteralOrCompisite) { diff --git a/ydb/core/kqp/ut/opt/kqp_sqlin_ut.cpp b/ydb/core/kqp/ut/opt/kqp_sqlin_ut.cpp index 876c431802..a988e0cf7c 100644 --- a/ydb/core/kqp/ut/opt/kqp_sqlin_ut.cpp +++ b/ydb/core/kqp/ut/opt/kqp_sqlin_ut.cpp @@ -19,13 +19,10 @@ const char* FormatPragma(bool disableOpt) { const bool DisableOpt = true; const bool EnableOpt = false; -TKikimrRunner GetKikimrRunner(bool enableKqpDataQueryStreamLookup = true) { +TKikimrRunner GetKikimrRunner() { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(enableKqpDataQueryStreamLookup); - auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig); - return {serverSettings}; } @@ -540,7 +537,7 @@ Y_UNIT_TEST_SUITE(KqpSqlIn) { [[1u];[100500u];["Just Jack"]]; [[4u];[77u];["Boss"]]] )"); - + AssertTableReads(result, "/Root/Test", 3); } @@ -578,8 +575,8 @@ Y_UNIT_TEST_SUITE(KqpSqlIn) { AssertTableReads(result, "/Root/SecondaryKeys", 2); } - Y_UNIT_TEST_TWIN(SecondaryIndex_PgKey, EnableKqpDataQueryStreamLookup) { - TKikimrRunner kikimr = GetKikimrRunner(EnableKqpDataQueryStreamLookup); + Y_UNIT_TEST(SecondaryIndex_PgKey) { + TKikimrRunner kikimr = GetKikimrRunner(); auto db = kikimr.GetTableClient(); auto session = db.CreateSession().GetValueSync().GetSession(); @@ -915,7 +912,7 @@ Y_UNIT_TEST_SUITE(KqpSqlIn) { .EndList().Build().Build(); auto result = ExecQueryAndTestResult(session, query, params, R"([[["Payload1"]];[["Payload2"]]])"); - + AssertTableReads(result, "/Root/SecondaryComplexKeys/Index/indexImplTable", 2); AssertTableReads(result, "/Root/SecondaryComplexKeys", 2); } diff --git a/ydb/core/kqp/ut/perf/kqp_query_perf_ut.cpp b/ydb/core/kqp/ut/perf/kqp_query_perf_ut.cpp index b7ef8f640c..eeadaf267b 100644 --- a/ydb/core/kqp/ut/perf/kqp_query_perf_ut.cpp +++ b/ydb/core/kqp/ut/perf/kqp_query_perf_ut.cpp @@ -278,7 +278,6 @@ Y_UNIT_TEST_SUITE(KqpQueryPerf) { Y_UNIT_TEST_QUAD(IndexLookupJoin, EnableStreamLookup, QueryService) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(false); appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamIdxLookupJoin(EnableStreamLookup); auto settings = TKikimrSettings() .SetAppConfig(appConfig); @@ -316,7 +315,7 @@ Y_UNIT_TEST_SUITE(KqpQueryPerf) { .ExpectedReads = EnableStreamLookup ? 13 : 10, }); - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), EnableStreamLookup ? 1 : 3); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), EnableStreamLookup ? 1 : 2); } Y_UNIT_TEST_TWIN(Upsert, QueryService) { @@ -611,10 +610,8 @@ Y_UNIT_TEST_SUITE(KqpQueryPerf) { if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamIdxLookupJoin()) { UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 1); - } else if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); } else { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 3); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 2); } } @@ -638,10 +635,8 @@ Y_UNIT_TEST_SUITE(KqpQueryPerf) { if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamIdxLookupJoin()) { UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 1); - } else if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 3); } else { - UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 5); + UNIT_ASSERT_VALUES_EQUAL(stats.query_phases().size(), 3); } } diff --git a/ydb/core/kqp/ut/query/kqp_explain_ut.cpp b/ydb/core/kqp/ut/query/kqp_explain_ut.cpp index dc594ebc9b..218a9e49e6 100644 --- a/ydb/core/kqp/ut/query/kqp_explain_ut.cpp +++ b/ydb/core/kqp/ut/query/kqp_explain_ut.cpp @@ -489,13 +489,7 @@ Y_UNIT_TEST_SUITE(KqpExplain) { node = FindPlanNodeByKv(plan, "Name", "TableFullScan"); UNIT_ASSERT_EQUAL(node.GetMapSafe().at("Table").GetStringSafe(), "KeyValue"); - - if (settings.AppConfig.GetTableServiceConfig().GetEnableKqpDataQueryStreamLookup()) { - node = FindPlanNodeByKv(plan, "Node Type", "TableLookup"); - } else { - node = FindPlanNodeByKv(plan, "Name", "TablePointLookup"); - } - + node = FindPlanNodeByKv(plan, "Node Type", "TableLookup"); if (node.IsDefined()) { UNIT_ASSERT_EQUAL(node.GetMapSafe().at("Table").GetStringSafe(), "KeyValue"); } @@ -894,7 +888,6 @@ Y_UNIT_TEST_SUITE(KqpExplain) { Y_UNIT_TEST(MultiJoinCteLinks) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(false); appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamIdxLookupJoin(false); auto settings = TKikimrSettings() .SetAppConfig(appConfig); @@ -924,7 +917,7 @@ Y_UNIT_TEST_SUITE(KqpExplain) { auto cteLink1 = FindPlanNodeByKv( plan, "Subplan Name", - "CTE precompute_1_0" + "CTE precompute_0_0" ); UNIT_ASSERT(cteLink1.IsDefined()); diff --git a/ydb/core/kqp/ut/query/kqp_limits_ut.cpp b/ydb/core/kqp/ut/query/kqp_limits_ut.cpp index ac78ebc00c..bca95aa56d 100644 --- a/ydb/core/kqp/ut/query/kqp_limits_ut.cpp +++ b/ydb/core/kqp/ut/query/kqp_limits_ut.cpp @@ -762,9 +762,8 @@ Y_UNIT_TEST_SUITE(KqpLimits) { WaitForZeroReadIterators(kikimr.GetTestServer(), "/Root/EightShard"); } - void DoCancelAfterRo(bool follower, bool streamLookup, bool dependedRead) { + void DoCancelAfterRo(bool follower, bool dependedRead) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(streamLookup); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() @@ -879,23 +878,15 @@ Y_UNIT_TEST_SUITE(KqpLimits) { Y_UNIT_TEST(CancelAfterRoTx) { // false, false has no sense since we use TEvRead to read without followers - DoCancelAfterRo(false, true, false); - } - - Y_UNIT_TEST(CancelAfterRoTxWithFollowerLegacy) { - DoCancelAfterRo(true, false, false); - } - - Y_UNIT_TEST(CancelAfterRoTxWithFollowerLegacyDependedRead) { - DoCancelAfterRo(true, false, true); + DoCancelAfterRo(false, false); } Y_UNIT_TEST(CancelAfterRoTxWithFollowerStreamLookup) { - DoCancelAfterRo(true, true, false); + DoCancelAfterRo(true, false); } Y_UNIT_TEST(CancelAfterRoTxWithFollowerStreamLookupDepededRead) { - DoCancelAfterRo(true, true, true); + DoCancelAfterRo(true, true); } Y_UNIT_TEST(QueryExecTimeout) { diff --git a/ydb/core/kqp/ut/query/kqp_stats_ut.cpp b/ydb/core/kqp/ut/query/kqp_stats_ut.cpp index 828564d13d..5763397cb1 100644 --- a/ydb/core/kqp/ut/query/kqp_stats_ut.cpp +++ b/ydb/core/kqp/ut/query/kqp_stats_ut.cpp @@ -104,7 +104,6 @@ TCollectedStreamResult JoinStatsBasic( NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamIdxLookupJoin(StreamLookupJoin); appConfig.MutableTableServiceConfig()->SetEnableKqpScanQuerySourceRead(true); - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(true); auto settings = TKikimrSettings() .SetAppConfig(appConfig); @@ -409,7 +408,6 @@ Y_UNIT_TEST(StatsProfile) { Y_UNIT_TEST_TWIN(StreamLookupStats, StreamLookupJoin) { NKikimrConfig::TAppConfig app; app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamIdxLookupJoin(StreamLookupJoin); - app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(true); TKikimrRunner kikimr(TKikimrSettings().SetAppConfig(app)); auto db = kikimr.GetTableClient(); diff --git a/ydb/core/kqp/ut/scan/kqp_scan_ut.cpp b/ydb/core/kqp/ut/scan/kqp_scan_ut.cpp index de6367f97e..9ece5942a0 100644 --- a/ydb/core/kqp/ut/scan/kqp_scan_ut.cpp +++ b/ydb/core/kqp/ut/scan/kqp_scan_ut.cpp @@ -2373,7 +2373,6 @@ Y_UNIT_TEST_SUITE(KqpScan) { Y_UNIT_TEST(StreamLookupTryGetDataBeforeSchemeInitialization) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(true); TPortManager tp; ui16 mbusport = tp.GetPort(2134); diff --git a/ydb/core/kqp/ut/service/kqp_qs_queries_ut.cpp b/ydb/core/kqp/ut/service/kqp_qs_queries_ut.cpp index 96b94e91f4..26586cdfc8 100644 --- a/ydb/core/kqp/ut/service/kqp_qs_queries_ut.cpp +++ b/ydb/core/kqp/ut/service/kqp_qs_queries_ut.cpp @@ -4506,7 +4506,6 @@ Y_UNIT_TEST_SUITE(KqpQueryService) { void Execute() { AppConfig.MutableTableServiceConfig()->SetEnableOlapSink(IsOlap); AppConfig.MutableTableServiceConfig()->SetEnableOltpSink(!IsOlap); - AppConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(true); auto settings = TKikimrSettings().SetAppConfig(AppConfig).SetWithSampleTables(false); Kikimr = std::make_unique<TKikimrRunner>(settings); @@ -5778,7 +5777,6 @@ Y_UNIT_TEST_SUITE(KqpQueryService) { appConfig.MutableTableServiceConfig()->SetEnableOlapSink(true); appConfig.MutableTableServiceConfig()->SetEnableOltpSink(false); appConfig.MutableTableServiceConfig()->SetEnableHtapTx(false); - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(false); auto settings = TKikimrSettings() .SetAppConfig(appConfig) diff --git a/ydb/core/kqp/ut/tx/kqp_mvcc_ut.cpp b/ydb/core/kqp/ut/tx/kqp_mvcc_ut.cpp index e32f0803db..c22fc24dad 100644 --- a/ydb/core/kqp/ut/tx/kqp_mvcc_ut.cpp +++ b/ydb/core/kqp/ut/tx/kqp_mvcc_ut.cpp @@ -114,7 +114,6 @@ Y_UNIT_TEST_SUITE(KqpSnapshotRead) { Y_UNIT_TEST_TWIN(ReadOnlyTxCommitsOnConcurrentWrite, withSink) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnableOltpSink(withSink); - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(true); TKikimrRunner kikimr(TKikimrSettings() .SetAppConfig(appConfig) ); @@ -333,7 +332,6 @@ Y_UNIT_TEST_SUITE(KqpSnapshotRead) { Y_UNIT_TEST_TWIN(ReadWriteTxFailsOnConcurrentWrite3, withSink) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnableOltpSink(withSink); - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(true); TKikimrRunner kikimr( TKikimrSettings() .SetAppConfig(appConfig) diff --git a/ydb/core/kqp/ut/tx/kqp_sink_common.h b/ydb/core/kqp/ut/tx/kqp_sink_common.h index d7e9075a1e..b29633af9b 100644 --- a/ydb/core/kqp/ut/tx/kqp_sink_common.h +++ b/ydb/core/kqp/ut/tx/kqp_sink_common.h @@ -26,7 +26,6 @@ public: AppConfig.MutableTableServiceConfig()->SetEnableOlapSink(!DisableSinks); AppConfig.MutableTableServiceConfig()->SetEnableOltpSink(!DisableSinks); AppConfig.MutableTableServiceConfig()->SetEnableSnapshotIsolationRW(true); - AppConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(true); auto settings = TKikimrSettings().SetAppConfig(AppConfig).SetWithSampleTables(false); if (FastSnapshotExpiration) { settings.SetKeepSnapshotTimeout(TDuration::Seconds(1)); diff --git a/ydb/core/kqp/ut/yql/kqp_yql_ut.cpp b/ydb/core/kqp/ut/yql/kqp_yql_ut.cpp index 390f194010..a3d38fb8c7 100644 --- a/ydb/core/kqp/ut/yql/kqp_yql_ut.cpp +++ b/ydb/core/kqp/ut/yql/kqp_yql_ut.cpp @@ -968,9 +968,8 @@ Y_UNIT_TEST_SUITE(KqpYql) { } } - Y_UNIT_TEST_TWIN(PgIntPrimaryKey, EnableKqpDataQueryStreamLookup) { + Y_UNIT_TEST(PgIntPrimaryKey) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(EnableKqpDataQueryStreamLookup); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) diff --git a/ydb/core/tx/datashard/datashard_ut_erase_rows.cpp b/ydb/core/tx/datashard/datashard_ut_erase_rows.cpp index 361988cbfc..384b0cf2c0 100644 --- a/ydb/core/tx/datashard/datashard_ut_erase_rows.cpp +++ b/ydb/core/tx/datashard/datashard_ut_erase_rows.cpp @@ -648,7 +648,7 @@ key = 4, value = 1902441600 key = 5, value = (empty maybe) )", true); } - + Y_UNIT_TEST(ConditionalEraseRowsShouldEraseOnTimestamp64) { ConditionalEraseShouldSuccess("Timestamp64", TUnit::AUTO, R"( UPSERT INTO `/Root/table-1` (key, value) VALUES @@ -788,12 +788,11 @@ key = 5, value = (pg null) } } - Y_UNIT_TEST_TWIN(ConditionalEraseRowsShouldBreakLocks, StreamLookup) { + Y_UNIT_TEST(ConditionalEraseRowsShouldBreakLocks) { using TEvResponse = TEvDataShard::TEvConditionalEraseRowsResponse; TPortManager pm; NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); TServerSettings serverSettings(pm.GetPort(2134)); serverSettings .SetAppConfig(appConfig) diff --git a/ydb/core/tx/datashard/datashard_ut_order.cpp b/ydb/core/tx/datashard/datashard_ut_order.cpp index 64dbf04f01..9146d93818 100644 --- a/ydb/core/tx/datashard/datashard_ut_order.cpp +++ b/ydb/core/tx/datashard/datashard_ut_order.cpp @@ -1222,10 +1222,9 @@ Y_UNIT_TEST(ScanFollowedByUpdate) { Y_UNIT_TEST_SUITE(DataShardOutOfOrder) { -Y_UNIT_TEST_TWIN(TestOutOfOrderLockLost, StreamLookup) { +Y_UNIT_TEST(TestOutOfOrderLockLost) { TPortManager pm; NKikimrConfig::TAppConfig app; - app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); TServerSettings serverSettings(pm.GetPort(2134)); serverSettings.SetDomainName("Root") .SetUseRealThreads(false) @@ -1350,10 +1349,9 @@ Y_UNIT_TEST_TWIN(TestOutOfOrderLockLost, StreamLookup) { } } -Y_UNIT_TEST_QUAD(TestOutOfOrderReadOnlyAllowed, StreamLookup, EvWrite) { +Y_UNIT_TEST_TWIN(TestOutOfOrderReadOnlyAllowed, EvWrite) { TPortManager pm; NKikimrConfig::TAppConfig app; - app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); app.MutableTableServiceConfig()->SetEnableOltpSink(EvWrite); TServerSettings serverSettings(pm.GetPort(2134)); serverSettings.SetDomainName("Root") @@ -1456,10 +1454,9 @@ Y_UNIT_TEST_QUAD(TestOutOfOrderReadOnlyAllowed, StreamLookup, EvWrite) { } } -Y_UNIT_TEST_QUAD(TestOutOfOrderNonConflictingWrites, StreamLookup, EvWrite) { +Y_UNIT_TEST_TWIN(TestOutOfOrderNonConflictingWrites, EvWrite) { TPortManager pm; NKikimrConfig::TAppConfig app; - app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); app.MutableTableServiceConfig()->SetEnableOltpSink(EvWrite); TServerSettings serverSettings(pm.GetPort(2134)); serverSettings.SetDomainName("Root") @@ -1571,10 +1568,9 @@ Y_UNIT_TEST_QUAD(TestOutOfOrderNonConflictingWrites, StreamLookup, EvWrite) { } } -Y_UNIT_TEST_TWIN(TestOutOfOrderRestartLocksReorderedWithoutBarrier, StreamLookup) { +Y_UNIT_TEST(TestOutOfOrderRestartLocksReorderedWithoutBarrier) { TPortManager pm; NKikimrConfig::TAppConfig app; - app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); TServerSettings serverSettings(pm.GetPort(2134)); serverSettings.SetDomainName("Root") .SetAppConfig(app) @@ -1707,10 +1703,9 @@ Y_UNIT_TEST_TWIN(TestOutOfOrderRestartLocksReorderedWithoutBarrier, StreamLookup } } -Y_UNIT_TEST_TWIN(TestOutOfOrderNoBarrierRestartImmediateLongTail, StreamLookup) { +Y_UNIT_TEST(TestOutOfOrderNoBarrierRestartImmediateLongTail) { TPortManager pm; NKikimrConfig::TAppConfig app; - app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); TServerSettings serverSettings(pm.GetPort(2134)); serverSettings.SetDomainName("Root") .SetAppConfig(app) @@ -2829,10 +2824,9 @@ Y_UNIT_TEST(TestSecondaryClearanceAfterShardRestartRace) { ExecSQL(server, sender, Q_("UPSERT INTO `/Root/table-1` (key, value) VALUES (4, 4);")); } -Y_UNIT_TEST_TWIN(TestShardRestartNoUndeterminedImmediate, StreamLookup) { +Y_UNIT_TEST(TestShardRestartNoUndeterminedImmediate) { TPortManager pm; NKikimrConfig::TAppConfig app; - app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); TServerSettings serverSettings(pm.GetPort(2134)); serverSettings.SetDomainName("Root") .SetUseRealThreads(false) @@ -2946,10 +2940,9 @@ Y_UNIT_TEST_TWIN(TestShardRestartNoUndeterminedImmediate, StreamLookup) { } } -Y_UNIT_TEST_QUAD(TestShardRestartPlannedCommitShouldSucceed, StreamLookup, EvWrite) { +Y_UNIT_TEST_TWIN(TestShardRestartPlannedCommitShouldSucceed, EvWrite) { TPortManager pm; NKikimrConfig::TAppConfig app; - app.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); app.MutableTableServiceConfig()->SetEnableOltpSink(EvWrite); TServerSettings serverSettings(pm.GetPort(2134)); serverSettings.SetDomainName("Root") diff --git a/ydb/core/tx/datashard/datashard_ut_upload_rows.cpp b/ydb/core/tx/datashard/datashard_ut_upload_rows.cpp index 23474b34dd..f24ba1d25a 100644 --- a/ydb/core/tx/datashard/datashard_ut_upload_rows.cpp +++ b/ydb/core/tx/datashard/datashard_ut_upload_rows.cpp @@ -198,9 +198,8 @@ Y_UNIT_TEST_SUITE(TTxDataShardUploadRows) { DoWaitUploadTestRows(server, sender, Ydb::StatusIds::SCHEME_ERROR); } - Y_UNIT_TEST_TWIN(TestUploadRowsLocks, StreamLookup) { + Y_UNIT_TEST(TestUploadRowsLocks) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(StreamLookup); TPortManager pm; TServerSettings serverSettings(pm.GetPort(2134)); diff --git a/ydb/services/ydb/ydb_table_split_ut.cpp b/ydb/services/ydb/ydb_table_split_ut.cpp index 6d883a4ef5..dcac04f287 100644 --- a/ydb/services/ydb/ydb_table_split_ut.cpp +++ b/ydb/services/ydb/ydb_table_split_ut.cpp @@ -367,7 +367,6 @@ Y_UNIT_TEST_SUITE(YdbTableSplit) { NKikimr::TAppData::TimeProvider = testTimeProvider; NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnableKqpDataQueryStreamLookup(false); TKikimrWithGrpcAndRootSchema server(appConfig); // Set min uptime before merge by load to 10h |