Skip to content

Commit 368ef14

Browse files
committed
Fixes
1 parent 58391dd commit 368ef14

File tree

1 file changed

+96
-8
lines changed

1 file changed

+96
-8
lines changed

ydb/core/kqp/ut/service/kqp_qs_queries_ut.cpp

Lines changed: 96 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1054,6 +1054,8 @@ Y_UNIT_TEST_SUITE(KqpQueryService) {
10541054
serverSettings.SetWithSampleTables(false).SetEnableTempTables(true));
10551055
auto clientConfig = NGRpcProxy::TGRpcClientConfig(kikimr.GetEndpoint());
10561056
auto client = kikimr.GetQueryClient();
1057+
auto settings = NYdb::NQuery::TExecuteQuerySettings()
1058+
.StatsMode(NYdb::NQuery::EStatsMode::Basic);
10571059
{
10581060
auto session = client.GetSession().GetValueSync().GetSession();
10591061
auto id = session.GetId();
@@ -1062,13 +1064,63 @@ Y_UNIT_TEST_SUITE(KqpQueryService) {
10621064
const auto query = Q_(R"(
10631065
--!syntax_v1
10641066
CREATE TEMP TABLE Temp (
1065-
Key Uint64 NOT NULL,
1066-
Value String,
1067+
Key Int32 NOT NULL,
1068+
Value Int32,
10671069
PRIMARY KEY (Key)
10681070
);)");
10691071

1070-
auto result = session.ExecuteQuery(query, NYdb::NQuery::TTxControl::NoTx()).ExtractValueSync();
1072+
auto result =
1073+
session.ExecuteQuery(query, NYdb::NQuery::TTxControl::NoTx(), settings).ExtractValueSync();
10711074
UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString());
1075+
auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats());
1076+
UNIT_ASSERT_VALUES_EQUAL(stats.compilation().from_cache(), false);
1077+
}
1078+
1079+
{
1080+
const auto query = Q_(R"(
1081+
--!syntax_v1
1082+
ALTER TABLE Temp DROP COLUMN Value;
1083+
)");
1084+
auto result =
1085+
session.ExecuteQuery(query, NYdb::NQuery::TTxControl::NoTx(), settings).ExtractValueSync();
1086+
UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString());
1087+
auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats());
1088+
UNIT_ASSERT_VALUES_EQUAL(stats.compilation().from_cache(), false);
1089+
}
1090+
1091+
{
1092+
const auto query = Q_(R"(
1093+
--!syntax_v1
1094+
DROP TABLE Temp;
1095+
)");
1096+
1097+
auto result =
1098+
session.ExecuteQuery(query, NYdb::NQuery::TTxControl::NoTx(), settings).ExtractValueSync();
1099+
UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString());
1100+
auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats());
1101+
UNIT_ASSERT_VALUES_EQUAL(stats.compilation().from_cache(), false);
1102+
}
1103+
1104+
{
1105+
const auto query = Q_(R"(
1106+
--!syntax_v1
1107+
CREATE TEMP TABLE Temp (
1108+
Key Int32 NOT NULL,
1109+
Value Int32,
1110+
PRIMARY KEY (Key)
1111+
);)");
1112+
1113+
auto result =
1114+
session.ExecuteQuery(query, NYdb::NQuery::TTxControl::NoTx(), settings).ExtractValueSync();
1115+
UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString());
1116+
auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats());
1117+
UNIT_ASSERT_VALUES_EQUAL(stats.compilation().from_cache(), false);
1118+
1119+
auto resultInsert = session.ExecuteQuery(R"(
1120+
UPSERT INTO Temp (Key, Value) VALUES (1, 1);
1121+
)", NYdb::NQuery::TTxControl::BeginTx().CommitTx(), settings).ExtractValueSync();
1122+
UNIT_ASSERT_VALUES_EQUAL_C(
1123+
resultInsert.GetStatus(), EStatus::SUCCESS, resultInsert.GetIssues().ToString());
10721124
}
10731125

10741126
{
@@ -1078,26 +1130,62 @@ Y_UNIT_TEST_SUITE(KqpQueryService) {
10781130
)");
10791131

10801132
auto result = session.ExecuteQuery(
1081-
query, NYdb::NQuery::TTxControl::BeginTx().CommitTx()).ExtractValueSync();
1133+
query, NYdb::NQuery::TTxControl::BeginTx().CommitTx(), settings).ExtractValueSync();
10821134
UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString());
1135+
auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats());
1136+
UNIT_ASSERT_VALUES_EQUAL(stats.compilation().from_cache(), false);
1137+
1138+
UNIT_ASSERT_C(!result.GetResultSets().empty(), "results are empty");
1139+
CompareYson(R"([[1;[1]]])", FormatResultSetYson(result.GetResultSet(0)));
10831140
}
10841141

10851142
{
1086-
auto result = session.ExecuteSchemeQuery(R"(
1087-
ALTER TABLE Temp RENAME TO TempAlter;
1143+
auto result = session.ExecuteQuery(R"(
1144+
ALTER TABLE Temp DROP COLUMN Value;
10881145
)", NYdb::NQuery::TTxControl::NoTx(), settings).ExtractValueSync();
10891146
UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString());
1147+
auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats());
1148+
UNIT_ASSERT_VALUES_EQUAL(stats.compilation().from_cache(), false);
10901149
}
10911150

10921151
{
10931152
const auto query = Q_(R"(
10941153
--!syntax_v1
1095-
SELECT * FROM TempAlter;
1154+
SELECT * FROM Temp;
10961155
)");
10971156

10981157
auto result = session.ExecuteQuery(
1099-
query, NYdb::NQuery::TTxControl::BeginTx().CommitTx()).ExtractValueSync();
1158+
query, NYdb::NQuery::TTxControl::BeginTx().CommitTx(), settings).ExtractValueSync();
11001159
UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString());
1160+
auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats());
1161+
UNIT_ASSERT_VALUES_EQUAL(stats.compilation().from_cache(), false);
1162+
1163+
UNIT_ASSERT_C(!result.GetResultSets().empty(), "results are empty");
1164+
CompareYson(R"([[1]])", FormatResultSetYson(result.GetResultSet(0)));
1165+
}
1166+
1167+
{
1168+
const auto query = Q_(R"(
1169+
--!syntax_v1
1170+
DROP TABLE Temp;
1171+
)");
1172+
1173+
auto result =
1174+
session.ExecuteQuery(query, NYdb::NQuery::TTxControl::NoTx(), settings).ExtractValueSync();
1175+
UNIT_ASSERT_C(result.IsSuccess(), result.GetIssues().ToString());
1176+
auto stats = NYdb::TProtoAccessor::GetProto(*result.GetStats());
1177+
UNIT_ASSERT_VALUES_EQUAL(stats.compilation().from_cache(), false);
1178+
}
1179+
1180+
{
1181+
const auto querySelect = Q_(R"(
1182+
--!syntax_v1
1183+
SELECT * FROM Temp;
1184+
)");
1185+
1186+
auto resultSelect = client.ExecuteQuery(
1187+
querySelect, NYdb::NQuery::TTxControl::BeginTx().CommitTx()).ExtractValueSync();
1188+
UNIT_ASSERT(!resultSelect.IsSuccess());
11011189
}
11021190

11031191
bool allDoneOk = true;

0 commit comments

Comments
 (0)