diff options
author | Daniil Cherednik <dan.cherednik@gmail.com> | 2022-04-20 17:09:58 +0300 |
---|---|---|
committer | Daniil Cherednik <dan.cherednik@gmail.com> | 2022-04-20 17:09:58 +0300 |
commit | 9abb1ba6ed6c2852738c0f69367b9c0bff668676 (patch) | |
tree | 0c90645893f2f66cb1fa0eb787afafc11ae8b9e6 | |
parent | 30b3498f9b682e9b2104e6917250edc182a082c8 (diff) | |
download | ydb-9abb1ba6ed6c2852738c0f69367b9c0bff668676.tar.gz |
ut to check cache invalidation in case of write request. YDBREQUESTS-1324
ref:551a4b70823a040b9236191d57065fef4cf05d9c
-rw-r--r-- | ydb/core/kqp/ut/kqp_scheme_ut.cpp | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/ydb/core/kqp/ut/kqp_scheme_ut.cpp b/ydb/core/kqp/ut/kqp_scheme_ut.cpp index d53ec535519..256635c6b5a 100644 --- a/ydb/core/kqp/ut/kqp_scheme_ut.cpp +++ b/ydb/core/kqp/ut/kqp_scheme_ut.cpp @@ -241,15 +241,23 @@ Y_UNIT_TEST_SUITE(KqpScheme) { }, 0, Inflight + 1, NPar::TLocalExecutor::WAIT_COMPLETE | NPar::TLocalExecutor::MED_PRIORITY); } - Y_UNIT_TEST_NEW_ENGINE(SchemaVersionMissmatch) { + template <bool UseNewEngine> + void SchemaVersionMissmatchWithTest(bool write) { TKikimrRunner kikimr; auto db = kikimr.GetTableClient(); auto session = db.CreateSession().GetValueSync().GetSession(); - const TString query = Q_(R"( - SELECT * FROM [/Root/KeyValue] WHERE Value = "New"; - )"); + TString query; + if (write) { + query = Q_(R"( + UPSERT INTO [/Root/KeyValue] (Key, Value) VALUES (10u, "New"); + )"); + } else { + query = Q_(R"( + SELECT * FROM [/Root/KeyValue] WHERE Value = "New"; + )"); + } NYdb::NTable::TExecDataQuerySettings execSettings; execSettings.KeepInQueryCache(true); @@ -257,9 +265,12 @@ Y_UNIT_TEST_SUITE(KqpScheme) { { auto result = session.ExecuteDataQuery(query, TTxControl::BeginTx().CommitTx(), - TExecDataQuerySettings().KeepInQueryCache(true)).ExtractValueSync(); + execSettings).ExtractValueSync(); UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); + + auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats()); + UNIT_ASSERT_VALUES_EQUAL(stats.compilation().from_cache(), false); } { @@ -293,6 +304,14 @@ Y_UNIT_TEST_SUITE(KqpScheme) { } } + Y_UNIT_TEST_NEW_ENGINE(SchemaVersionMissmatchWithRead) { + SchemaVersionMissmatchWithTest<UseNewEngine>(false); + } + + Y_UNIT_TEST_NEW_ENGINE(SchemaVersionMissmatchWithWrite) { + SchemaVersionMissmatchWithTest<UseNewEngine>(true); + } + void CheckInvalidationAfterDropCreateTable(bool withCompatSchema) { TKikimrRunner kikimr; |