File: compression_extra.test

package info (click to toggle)
mysql-8.0 8.0.43-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,924 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,181; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,194; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (83 lines) | stat: -rw-r--r-- 2,587 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#
# WL#3549
#
# Additional tests
#
--source include/have_binlog_format_row.inc

--let $saved_binlog_transaction_compression_session = `SELECT @@SESSION.binlog_transaction_compression`
--let $saved_binlog_transaction_compression_level_zstd_session = `SELECT @@SESSION.binlog_transaction_compression_level_zstd`
--let $pfs_table = performance_schema.binary_log_transaction_compression_stats

#
# Test 1: Check that end_log_pos is the same for all events
# packed inside Transaction_payload_event
#

SET SESSION binlog_transaction_compression = ON;
CREATE TABLE t1(c1 INT PRIMARY KEY, data TEXT(30000));
CREATE TABLE t2(c1 INT PRIMARY KEY, data TEXT(30000));

RESET MASTER;

BEGIN;
INSERT INTO t1 VALUES (1, REPEAT ('a', 1000));
INSERT INTO t2 VALUES (1, REPEAT ('b', 1000));
COMMIT;

# 1 - Format_desc event, 2 - Previous_gtids event, 3 - Gtid event
--let $tple_elp= query_get_value(SHOW BINLOG EVENTS, End_log_pos, 4)

--let $i = 5

while ($i < 11)
{
  # 5 - Query, 6 - Table_map, 7 - Write_rows, 8 - Table_map, 9 - Write_rows, 10 - Xid
  if ($i == 5) { let $evt_expected = Query; }
  if ($i == 6) { let $evt_expected = Table_map; }
  if ($i == 7) { let $evt_expected = Write_rows; }
  if ($i == 8) { let $evt_expected = Table_map; }
  if ($i == 9) { let $evt_expected = Write_rows; }
  if ($i == 10) { let $evt_expected = Xid; }

  --let $evt_elp= query_get_value(SHOW BINLOG EVENTS, End_log_pos, $i)
  --let $assert_text = $evt_expected event has same end_log_pos as the Transaction_payload_event
  --let $assert_cond = $evt_elp = $tple_elp
  --source include/assert.inc

  --inc $i
}

DROP TABLE IF EXISTS t1, t2;
--replace_result $saved_binlog_transaction_compression_session SAVED
--eval SET SESSION binlog_transaction_compression = $saved_binlog_transaction_compression_session
RESET MASTER;
--eval TRUNCATE $pfs_table

#
# Test 2: coverage for the compression level
#

SET SESSION binlog_transaction_compression = ON;
CREATE TABLE t1(c1 INT PRIMARY KEY, data TEXT(30000));

BEGIN;
INSERT INTO t1 VALUES (1, REPEAT ('1', 1000));
COMMIT;

SET @@binlog_transaction_compression_level_zstd = 10;

BEGIN;
INSERT INTO t1 VALUES (2, REPEAT ('2', 1000));
COMMIT;

DROP TABLE t1;

--replace_result $saved_binlog_transaction_compression_session SAVED
--eval SET SESSION binlog_transaction_compression = $saved_binlog_transaction_compression_session

--replace_result $saved_binlog_transaction_compression_level_zstd_session SAVED
--eval SET SESSION binlog_transaction_compression_level_zstd = $saved_binlog_transaction_compression_level_zstd_session

--eval TRUNCATE $pfs_table
RESET MASTER;