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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
#
# MDEV-21921 Make transaction_isolation and transaction_read_only into
# system variables
#
SET @saved_global_isolation= @@global.transaction_isolation;
SET @saved_global_read_only= @@global.transaction_read_only;
# Case 1: Check the influence of --transaction_* on
# @@session.transaction_* and @@global.transaction_*,
# @@session.tx_*, @@global.tx_*.
SELECT @@session.transaction_isolation, @@global.transaction_isolation,
@@session.tx_isolation, @@global.tx_isolation;
@@session.transaction_isolation @@global.transaction_isolation @@session.tx_isolation @@global.tx_isolation
SERIALIZABLE SERIALIZABLE SERIALIZABLE SERIALIZABLE
SHOW GLOBAL VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation SERIALIZABLE
tx_isolation SERIALIZABLE
SHOW SESSION VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation SERIALIZABLE
tx_isolation SERIALIZABLE
SELECT @@session.transaction_read_only, @@global.transaction_read_only,
@@session.tx_read_only, @@global.tx_read_only;
@@session.transaction_read_only @@global.transaction_read_only @@session.tx_read_only @@global.tx_read_only
1 1 1 1
SHOW GLOBAL VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only ON
tx_read_only ON
SHOW SESSION VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only ON
tx_read_only ON
# Case 2: Check that the change to tx_* is reflected to transaction_*.
SET tx_isolation= 'REPEATABLE-READ';
Warnings:
Warning 1287 '@@tx_isolation' is deprecated and will be removed in a future release. Please use '@@transaction_isolation' instead
SET @@global.tx_isolation= 'SERIALIZABLE';
Warnings:
Warning 1287 '@@tx_isolation' is deprecated and will be removed in a future release. Please use '@@transaction_isolation' instead
SELECT @@session.tx_isolation, @@global.tx_isolation,
@@session.transaction_isolation, @@global.transaction_isolation;
@@session.tx_isolation @@global.tx_isolation @@session.transaction_isolation @@global.transaction_isolation
REPEATABLE-READ SERIALIZABLE REPEATABLE-READ SERIALIZABLE
SHOW GLOBAL VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation SERIALIZABLE
tx_isolation SERIALIZABLE
SHOW SESSION VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation REPEATABLE-READ
tx_isolation REPEATABLE-READ
SET STATEMENT tx_isolation= 'SERIALIZABLE' FOR SHOW SESSION VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation SERIALIZABLE
tx_isolation SERIALIZABLE
Warnings:
Warning 1287 '@@tx_isolation' is deprecated and will be removed in a future release. Please use '@@transaction_isolation' instead
Warning 1287 '@@tx_isolation' is deprecated and will be removed in a future release. Please use '@@transaction_isolation' instead
SHOW SESSION VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation REPEATABLE-READ
tx_isolation REPEATABLE-READ
SET tx_read_only= OFF;
Warnings:
Warning 1287 '@@tx_read_only' is deprecated and will be removed in a future release. Please use '@@transaction_read_only' instead
SET @@global.tx_read_only= ON;
Warnings:
Warning 1287 '@@tx_read_only' is deprecated and will be removed in a future release. Please use '@@transaction_read_only' instead
SELECT @@session.tx_read_only, @@global.tx_read_only,
@@session.transaction_read_only, @@global.transaction_read_only;
@@session.tx_read_only @@global.tx_read_only @@session.transaction_read_only @@global.transaction_read_only
0 1 0 1
SHOW GLOBAL VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only ON
tx_read_only ON
SHOW SESSION VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only OFF
tx_read_only OFF
SET STATEMENT tx_read_only= ON FOR SHOW SESSION VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only ON
tx_read_only ON
Warnings:
Warning 1287 '@@tx_read_only' is deprecated and will be removed in a future release. Please use '@@transaction_read_only' instead
Warning 1287 '@@tx_read_only' is deprecated and will be removed in a future release. Please use '@@transaction_read_only' instead
SHOW SESSION VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only OFF
tx_read_only OFF
# Case 3: Check that the change to transaction_* is reflected to tx_*.
SET transaction_isolation= 'SERIALIZABLE';
SET @@global.transaction_isolation= 'REPEATABLE-READ';
SELECT @@session.tx_isolation, @@global.tx_isolation,
@@session.transaction_isolation, @@global.transaction_isolation;
@@session.tx_isolation @@global.tx_isolation @@session.transaction_isolation @@global.transaction_isolation
SERIALIZABLE REPEATABLE-READ SERIALIZABLE REPEATABLE-READ
SHOW GLOBAL VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation REPEATABLE-READ
tx_isolation REPEATABLE-READ
SHOW SESSION VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation SERIALIZABLE
tx_isolation SERIALIZABLE
SET STATEMENT transaction_isolation= 'REPEATABLE-READ' FOR SHOW SESSION VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation REPEATABLE-READ
tx_isolation REPEATABLE-READ
SHOW SESSION VARIABLES LIKE '%_isolation';
Variable_name Value
transaction_isolation SERIALIZABLE
tx_isolation SERIALIZABLE
SET transaction_read_only= ON;
SET @@global.transaction_read_only= OFF;
SELECT @@session.tx_read_only, @@global.tx_read_only,
@@session.transaction_read_only, @@global.transaction_read_only;
@@session.tx_read_only @@global.tx_read_only @@session.transaction_read_only @@global.transaction_read_only
1 0 1 0
SHOW GLOBAL VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only OFF
tx_read_only OFF
SHOW SESSION VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only ON
tx_read_only ON
SET STATEMENT transaction_read_only= OFF FOR SHOW SESSION VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only OFF
tx_read_only OFF
SHOW SESSION VARIABLES LIKE '%_read_only';
Variable_name Value
transaction_read_only ON
tx_read_only ON
SET @@global.transaction_isolation= @saved_global_isolation;
SET @@global.transaction_read_only= @saved_global_read_only;
|