aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniil Cherednik <dan.cherednik@gmail.com>2022-04-20 17:09:58 +0300
committerDaniil Cherednik <dan.cherednik@gmail.com>2022-04-20 17:09:58 +0300
commit9abb1ba6ed6c2852738c0f69367b9c0bff668676 (patch)
tree0c90645893f2f66cb1fa0eb787afafc11ae8b9e6
parent30b3498f9b682e9b2104e6917250edc182a082c8 (diff)
downloadydb-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.cpp29
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;