@@ -18,27 +18,29 @@ namespace {
18
18
19
19
Y_UNIT_TEST_SUITE (KqpDataIntegrityTrails) {
20
20
Y_UNIT_TEST_TWIN (Upsert, LogEnabled) {
21
- TKikimrSettings serverSettings;
22
21
TStringStream ss;
23
- serverSettings.LogStream = &ss;
24
- TKikimrRunner kikimr (serverSettings);
22
+ {
23
+ TKikimrSettings serverSettings;
24
+ serverSettings.LogStream = &ss;
25
+ TKikimrRunner kikimr (serverSettings);
25
26
26
- if (LogEnabled) {
27
- kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
28
- }
29
-
30
- auto db = kikimr.GetTableClient ();
31
- auto session = db.CreateSession ().GetValueSync ().GetSession ();
27
+ if (LogEnabled) {
28
+ kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
29
+ }
30
+
31
+ auto db = kikimr.GetTableClient ();
32
+ auto session = db.CreateSession ().GetValueSync ().GetSession ();
32
33
33
- auto result = session.ExecuteDataQuery (R"(
34
- --!syntax_v1
34
+ auto result = session.ExecuteDataQuery (R"(
35
+ --!syntax_v1
35
36
36
- UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
37
- (3u, "Value3"),
38
- (101u, "Value101"),
39
- (201u, "Value201");
40
- )" , TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
41
- UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
37
+ UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
38
+ (3u, "Value3"),
39
+ (101u, "Value101"),
40
+ (201u, "Value201");
41
+ )" , TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
42
+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
43
+ }
42
44
43
45
// check executer logs
44
46
UNIT_ASSERT_VALUES_EQUAL (CountSubstr (ss.Str (), " DATA_INTEGRITY INFO: Component: Executer" ), LogEnabled ? 1 : 0 );
@@ -51,26 +53,28 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
51
53
}
52
54
53
55
Y_UNIT_TEST (UpsertEvWrite) {
54
- NKikimrConfig::TAppConfig AppConfig;
55
- AppConfig.MutableTableServiceConfig ()->SetEnableOltpSink (true );
56
- TKikimrSettings serverSettings = TKikimrSettings ().SetAppConfig (AppConfig);
57
56
TStringStream ss;
58
- serverSettings.LogStream = &ss;
59
- TKikimrRunner kikimr (serverSettings);
60
- kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
61
-
62
- auto db = kikimr.GetTableClient ();
63
- auto session = db.CreateSession ().GetValueSync ().GetSession ();
64
-
65
- auto result = session.ExecuteDataQuery (R"(
66
- --!syntax_v1
67
-
68
- UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
69
- (3u, "Value3"),
70
- (101u, "Value101"),
71
- (201u, "Value201");
72
- )" , TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
73
- UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
57
+ {
58
+ NKikimrConfig::TAppConfig AppConfig;
59
+ AppConfig.MutableTableServiceConfig ()->SetEnableOltpSink (true );
60
+ TKikimrSettings serverSettings = TKikimrSettings ().SetAppConfig (AppConfig);
61
+ serverSettings.LogStream = &ss;
62
+ TKikimrRunner kikimr (serverSettings);
63
+ kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
64
+
65
+ auto db = kikimr.GetTableClient ();
66
+ auto session = db.CreateSession ().GetValueSync ().GetSession ();
67
+
68
+ auto result = session.ExecuteDataQuery (R"(
69
+ --!syntax_v1
70
+
71
+ UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
72
+ (3u, "Value3"),
73
+ (101u, "Value101"),
74
+ (201u, "Value201");
75
+ )" , TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
76
+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
77
+ }
74
78
75
79
// check write actor logs
76
80
UNIT_ASSERT_VALUES_EQUAL (CountSubstr (ss.Str (), " DATA_INTEGRITY INFO: Component: WriteActor" ), 1 );
@@ -83,45 +87,47 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
83
87
}
84
88
85
89
Y_UNIT_TEST_TWIN (UpsertEvWriteQueryService, isOlap) {
86
- NKikimrConfig::TAppConfig AppConfig;
87
- if (!isOlap) {
88
- AppConfig.MutableTableServiceConfig ()->SetEnableOltpSink (true );
89
- } else {
90
- AppConfig.MutableTableServiceConfig ()->SetEnableOlapSink (true );
91
- }
92
- TKikimrSettings serverSettings = TKikimrSettings ().SetAppConfig (AppConfig);
93
90
TStringStream ss;
94
- serverSettings.LogStream = &ss;
95
- TKikimrRunner kikimr (serverSettings);
96
- kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
91
+ {
92
+ NKikimrConfig::TAppConfig AppConfig;
93
+ if (!isOlap) {
94
+ AppConfig.MutableTableServiceConfig ()->SetEnableOltpSink (true );
95
+ } else {
96
+ AppConfig.MutableTableServiceConfig ()->SetEnableOlapSink (true );
97
+ }
98
+ TKikimrSettings serverSettings = TKikimrSettings ().SetAppConfig (AppConfig);
99
+ serverSettings.LogStream = &ss;
100
+ TKikimrRunner kikimr (serverSettings);
101
+ kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
97
102
98
- auto db = kikimr.GetQueryClient ();
99
- auto session = db.GetSession ().GetValueSync ().GetSession ();
103
+ auto db = kikimr.GetQueryClient ();
104
+ auto session = db.GetSession ().GetValueSync ().GetSession ();
100
105
101
- {
102
- const TString query = Sprintf (R"(
103
- CREATE TABLE `/Root/test_evwrite` (
104
- Key Int64 NOT NULL,
105
- Value String,
106
- primary key (Key)
107
- ) WITH (STORE=%s);
108
- )" , isOlap ? " COLUMN" : " ROW" );
106
+ {
107
+ const TString query = Sprintf (R"(
108
+ CREATE TABLE `/Root/test_evwrite` (
109
+ Key Int64 NOT NULL,
110
+ Value String,
111
+ primary key (Key)
112
+ ) WITH (STORE=%s);
113
+ )" , isOlap ? " COLUMN" : " ROW" );
109
114
110
- auto result = session.ExecuteQuery (query, NYdb::NQuery::TTxControl::NoTx ()).ExtractValueSync ();
111
- UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
112
- }
115
+ auto result = session.ExecuteQuery (query, NYdb::NQuery::TTxControl::NoTx ()).ExtractValueSync ();
116
+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
117
+ }
113
118
114
- ss.Clear ();
119
+ ss.Clear ();
115
120
116
- auto result = session.ExecuteQuery (R"(
117
- --!syntax_v1
121
+ auto result = session.ExecuteQuery (R"(
122
+ --!syntax_v1
118
123
119
- UPSERT INTO `/Root/test_evwrite` (Key, Value) VALUES
120
- (3u, "Value3"),
121
- (101u, "Value101"),
122
- (201u, "Value201");
123
- )" , NYdb::NQuery::TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
124
- UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
124
+ UPSERT INTO `/Root/test_evwrite` (Key, Value) VALUES
125
+ (3u, "Value3"),
126
+ (101u, "Value101"),
127
+ (201u, "Value201");
128
+ )" , NYdb::NQuery::TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
129
+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
130
+ }
125
131
126
132
if (!isOlap) {
127
133
// check write actor logs
@@ -148,24 +154,26 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
148
154
}
149
155
150
156
Y_UNIT_TEST (Ddl) {
151
- TKikimrSettings serverSettings;
152
157
TStringStream ss;
153
- serverSettings.LogStream = &ss;
154
- TKikimrRunner kikimr (serverSettings);
155
- kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
156
- auto db = kikimr.GetTableClient ();
157
- auto session = db.CreateSession ().GetValueSync ().GetSession ();
158
-
159
- auto result = session.ExecuteSchemeQuery (R"(
160
- --!syntax_v1
161
-
162
- CREATE TABLE `/Root/Tmp` (
163
- Key Uint64,
164
- Value String,
165
- PRIMARY KEY (Key)
166
- );
167
- )" ).ExtractValueSync ();
168
- UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
158
+ {
159
+ TKikimrSettings serverSettings;
160
+ serverSettings.LogStream = &ss;
161
+ TKikimrRunner kikimr (serverSettings);
162
+ kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
163
+ auto db = kikimr.GetTableClient ();
164
+ auto session = db.CreateSession ().GetValueSync ().GetSession ();
165
+
166
+ auto result = session.ExecuteSchemeQuery (R"(
167
+ --!syntax_v1
168
+
169
+ CREATE TABLE `/Root/Tmp` (
170
+ Key Uint64,
171
+ Value String,
172
+ PRIMARY KEY (Key)
173
+ );
174
+ )" ).ExtractValueSync ();
175
+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
176
+ }
169
177
170
178
// check executer logs
171
179
UNIT_ASSERT_VALUES_EQUAL (CountSubstr (ss.Str (), " DATA_INTEGRITY INFO: Component: Executer" ), 0 );
@@ -178,20 +186,22 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
178
186
}
179
187
180
188
Y_UNIT_TEST (Select) {
181
- TKikimrSettings serverSettings;
182
189
TStringStream ss;
183
- serverSettings.LogStream = &ss;
184
- TKikimrRunner kikimr (serverSettings);
185
- kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
186
- auto db = kikimr.GetTableClient ();
187
- auto session = db.CreateSession ().GetValueSync ().GetSession ();
190
+ {
191
+ TKikimrSettings serverSettings;
192
+ serverSettings.LogStream = &ss;
193
+ TKikimrRunner kikimr (serverSettings);
194
+ kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
195
+ auto db = kikimr.GetTableClient ();
196
+ auto session = db.CreateSession ().GetValueSync ().GetSession ();
188
197
189
- auto result = session.ExecuteDataQuery (R"(
190
- --!syntax_v1
198
+ auto result = session.ExecuteDataQuery (R"(
199
+ --!syntax_v1
191
200
192
- SELECT * FROM `/Root/KeyValue`;
193
- )" , TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
194
- UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
201
+ SELECT * FROM `/Root/KeyValue`;
202
+ )" , TTxControl::BeginTx ().CommitTx ()).ExtractValueSync ();
203
+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
204
+ }
195
205
196
206
// check executer logs (should be empty, because executer only logs modification operations)
197
207
UNIT_ASSERT_VALUES_EQUAL (CountSubstr (ss.Str (), " DATA_INTEGRITY INFO: Component: Executer" ), 0 );
@@ -204,30 +214,32 @@ Y_UNIT_TEST_SUITE(KqpDataIntegrityTrails) {
204
214
}
205
215
206
216
Y_UNIT_TEST_TWIN (UpsertViaLegacyScripting, Streaming) {
207
- TKikimrSettings serverSettings;
208
217
TStringStream ss;
209
- serverSettings.LogStream = &ss;
210
- TKikimrRunner kikimr (serverSettings);
211
- kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
212
- NYdb::NScripting::TScriptingClient client (kikimr.GetDriver ());
213
-
214
-
215
- const auto query = R"(
216
- --!syntax_v1
217
-
218
- UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
219
- (3u, "Value3"),
220
- (101u, "Value101"),
221
- (201u, "Value201");
222
- )" ;
223
-
224
- if (Streaming) {
225
- auto result = client.StreamExecuteYqlScript (query).GetValueSync ();
226
- UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
227
- CollectStreamResult (result);
228
- } else {
229
- auto result = client.ExecuteYqlScript (query).GetValueSync ();
230
- UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
218
+ {
219
+ TKikimrSettings serverSettings;
220
+ serverSettings.LogStream = &ss;
221
+ TKikimrRunner kikimr (serverSettings);
222
+ kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::DATA_INTEGRITY, NLog::PRI_TRACE);
223
+ NYdb::NScripting::TScriptingClient client (kikimr.GetDriver ());
224
+
225
+
226
+ const auto query = R"(
227
+ --!syntax_v1
228
+
229
+ UPSERT INTO `/Root/KeyValue` (Key, Value) VALUES
230
+ (3u, "Value3"),
231
+ (101u, "Value101"),
232
+ (201u, "Value201");
233
+ )" ;
234
+
235
+ if (Streaming) {
236
+ auto result = client.StreamExecuteYqlScript (query).GetValueSync ();
237
+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
238
+ CollectStreamResult (result);
239
+ } else {
240
+ auto result = client.ExecuteYqlScript (query).GetValueSync ();
241
+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
242
+ }
231
243
}
232
244
233
245
// check executer logs
0 commit comments