@@ -180,6 +180,15 @@ t1 CREATE TABLE `t1` (
180
180
PRIMARY KEY (`c1`),
181
181
KEY `c2d` (`c2`)
182
182
) ENGINE=InnoDB DEFAULT CHARSET=latin1 STATS_PERSISTENT=1
183
+ SET @merge_encrypt_0=
184
+ (SELECT variable_value FROM information_schema.global_status
185
+ WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
186
+ SET @merge_decrypt_0=
187
+ (SELECT variable_value FROM information_schema.global_status
188
+ WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
189
+ SET @rowlog_encrypt_0=
190
+ (SELECT variable_value FROM information_schema.global_status
191
+ WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
183
192
SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c2e_created WAIT_FOR dml2_done';
184
193
SET lock_wait_timeout = 10;
185
194
ALTER TABLE t1 DROP INDEX c2d, ADD INDEX c2e(c2),
@@ -209,6 +218,22 @@ BEGIN;
209
218
UPDATE t1 SET c2 = c2 + 1;
210
219
DELETE FROM t1;
211
220
ROLLBACK;
221
+ BEGIN;
222
+ DELETE FROM t1;
223
+ ROLLBACK;
224
+ UPDATE t1 SET c2 = c2 + 1;
225
+ BEGIN;
226
+ UPDATE t1 SET c2 = c2 + 1;
227
+ DELETE FROM t1;
228
+ ROLLBACK;
229
+ BEGIN;
230
+ DELETE FROM t1;
231
+ ROLLBACK;
232
+ UPDATE t1 SET c2 = c2 + 1;
233
+ BEGIN;
234
+ UPDATE t1 SET c2 = c2 + 1;
235
+ DELETE FROM t1;
236
+ ROLLBACK;
212
237
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
213
238
name count
214
239
ddl_background_drop_indexes 0
@@ -220,6 +245,22 @@ INNER JOIN INFORMATION_SCHEMA.INNODB_SYS_FIELDS sf
220
245
ON si.index_id = sf.index_id WHERE si.name = '?c2e';
221
246
name pos
222
247
c2 0
248
+ SET @merge_encrypt_1=
249
+ (SELECT variable_value FROM information_schema.global_status
250
+ WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
251
+ SET @merge_decrypt_1=
252
+ (SELECT variable_value FROM information_schema.global_status
253
+ WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
254
+ SET @rowlog_encrypt_1=
255
+ (SELECT variable_value FROM information_schema.global_status
256
+ WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
257
+ SELECT
258
+ (@merge_encrypt_1-@merge_encrypt_0)-
259
+ (@merge_decrypt_1-@merge_decrypt_0) as sort_balance,
260
+ @merge_encrypt_1>@merge_encrypt_0, @merge_decrypt_1>@merge_decrypt_0,
261
+ @rowlog_encrypt_1>@rowlog_encrypt_0;
262
+ sort_balance @merge_encrypt_1>@merge_encrypt_0 @merge_decrypt_1>@merge_decrypt_0 @rowlog_encrypt_1>@rowlog_encrypt_0
263
+ 0 0 0 0
223
264
SET DEBUG_SYNC = 'now SIGNAL dml2_done';
224
265
ERROR HY000: Creating index 'c2e' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.
225
266
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
@@ -245,6 +286,18 @@ ddl_background_drop_indexes 0
245
286
ddl_background_drop_tables 0
246
287
ddl_online_create_index 0
247
288
ddl_pending_alter_table 0
289
+ SET @merge_encrypt_1=
290
+ (SELECT variable_value FROM information_schema.global_status
291
+ WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
292
+ SET @merge_decrypt_1=
293
+ (SELECT variable_value FROM information_schema.global_status
294
+ WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
295
+ SET @rowlog_encrypt_1=
296
+ (SELECT variable_value FROM information_schema.global_status
297
+ WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
298
+ SET @rowlog_decrypt_1=
299
+ (SELECT variable_value FROM information_schema.global_status
300
+ WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
248
301
SET DEBUG_SYNC = 'row_log_apply_before SIGNAL c2f_created WAIT_FOR dml3_done';
249
302
ALTER TABLE t1 ADD INDEX c2f(c2);
250
303
SET DEBUG_SYNC = 'now WAIT_FOR c2f_created';
@@ -262,6 +315,14 @@ BEGIN;
262
315
UPDATE t1 SET c2 = c2 + 1;
263
316
DELETE FROM t1;
264
317
ROLLBACK;
318
+ BEGIN;
319
+ INSERT INTO t1 SELECT 320 + c1, c2, c3 FROM t1 WHERE c1 > 160;
320
+ DELETE FROM t1 WHERE c1 > 320;
321
+ ROLLBACK;
322
+ BEGIN;
323
+ UPDATE t1 SET c2 = c2 + 1;
324
+ DELETE FROM t1;
325
+ ROLLBACK;
265
326
SELECT name, count FROM INFORMATION_SCHEMA.INNODB_METRICS WHERE subsystem = 'ddl';
266
327
name count
267
328
ddl_background_drop_indexes 0
@@ -278,6 +339,32 @@ ddl_background_drop_indexes 0
278
339
ddl_background_drop_tables 0
279
340
ddl_online_create_index 0
280
341
ddl_pending_alter_table 0
342
+ SET @merge_encrypt_2=
343
+ (SELECT variable_value FROM information_schema.global_status
344
+ WHERE variable_name = 'innodb_encryption_n_merge_blocks_encrypted');
345
+ SET @merge_decrypt_2=
346
+ (SELECT variable_value FROM information_schema.global_status
347
+ WHERE variable_name = 'innodb_encryption_n_merge_blocks_decrypted');
348
+ SET @rowlog_encrypt_2=
349
+ (SELECT variable_value FROM information_schema.global_status
350
+ WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_encrypted');
351
+ SET @rowlog_decrypt_2=
352
+ (SELECT variable_value FROM information_schema.global_status
353
+ WHERE variable_name = 'innodb_encryption_n_rowlog_blocks_decrypted');
354
+ SELECT
355
+ (@merge_encrypt_2-@merge_encrypt_1)-
356
+ (@merge_decrypt_2-@merge_decrypt_1) as sort_balance,
357
+ (@rowlog_encrypt_2-@rowlog_encrypt_1)-
358
+ (@rowlog_decrypt_2-@rowlog_decrypt_1) as log_balance;
359
+ sort_balance log_balance
360
+ 0 0
361
+ SELECT
362
+ @merge_encrypt_2-@merge_encrypt_1>0 as sort_encrypted,
363
+ @merge_decrypt_2-@merge_decrypt_1>0 as sort_decrypted,
364
+ @rowlog_encrypt_2-@rowlog_encrypt_1>0 as log_encrypted,
365
+ @rowlog_decrypt_2-@rowlog_decrypt_1>0 as log_decrypted;
366
+ sort_encrypted sort_decrypted log_encrypted log_decrypted
367
+ 0 0 0 0
281
368
SELECT COUNT(c22f) FROM t1;
282
369
COUNT(c22f)
283
370
320
0 commit comments