remove @@system_versioning_innodb_algorithm_simple
and delete few garbage-in-garbage-out tests
This commit is contained in:
parent
b9c70b889c
commit
33366b1098
@ -38,14 +38,14 @@
|
|||||||
--sort-buffer-size=#
|
--sort-buffer-size=#
|
||||||
Each thread that needs to do a sort allocates a buffer of
|
Each thread that needs to do a sort allocates a buffer of
|
||||||
@@ -1190,6 +1197,7 @@ The following options may be given as the first argument:
|
@@ -1190,6 +1197,7 @@ The following options may be given as the first argument:
|
||||||
EMPTY_STRING_IS_NULL
|
EMPTY_STRING_IS_NULL, SIMULTANEOUS_ASSIGNMENT
|
||||||
--stack-trace Print a symbolic stack trace on failure
|
--stack-trace Print a symbolic stack trace on failure
|
||||||
(Defaults to on; use --skip-stack-trace to disable.)
|
(Defaults to on; use --skip-stack-trace to disable.)
|
||||||
+ --standalone Dummy option to start as a standalone program (NT).
|
+ --standalone Dummy option to start as a standalone program (NT).
|
||||||
--standard-compliant-cte
|
--standard-compliant-cte
|
||||||
Allow only CTEs compliant to SQL standard
|
Allow only CTEs compliant to SQL standard
|
||||||
(Defaults to on; use --skip-standard-compliant-cte to disable.)
|
(Defaults to on; use --skip-standard-compliant-cte to disable.)
|
||||||
@@ -1261,6 +1269,11 @@ The following options may be given as the first argument:
|
@@ -1257,6 +1265,11 @@ The following options may be given as the first argument:
|
||||||
--thread-pool-max-threads=#
|
--thread-pool-max-threads=#
|
||||||
Maximum allowed number of worker threads in the thread
|
Maximum allowed number of worker threads in the thread
|
||||||
pool
|
pool
|
||||||
@ -57,7 +57,7 @@
|
|||||||
--thread-pool-oversubscribe=#
|
--thread-pool-oversubscribe=#
|
||||||
How many additional active worker threads in a group are
|
How many additional active worker threads in a group are
|
||||||
allowed.
|
allowed.
|
||||||
@@ -1299,8 +1312,8 @@ The following options may be given as the first argument:
|
@@ -1295,8 +1308,8 @@ The following options may be given as the first argument:
|
||||||
automatically convert it to an on-disk MyISAM or Aria
|
automatically convert it to an on-disk MyISAM or Aria
|
||||||
table.
|
table.
|
||||||
-t, --tmpdir=name Path for temporary files. Several paths may be specified,
|
-t, --tmpdir=name Path for temporary files. Several paths may be specified,
|
||||||
@ -68,7 +68,7 @@
|
|||||||
--transaction-alloc-block-size=#
|
--transaction-alloc-block-size=#
|
||||||
Allocation block size for transactions to be stored in
|
Allocation block size for transactions to be stored in
|
||||||
binary log
|
binary log
|
||||||
@@ -1434,7 +1447,6 @@ key-cache-block-size 1024
|
@@ -1430,7 +1443,6 @@ key-cache-block-size 1024
|
||||||
key-cache-division-limit 100
|
key-cache-division-limit 100
|
||||||
key-cache-file-hash-size 512
|
key-cache-file-hash-size 512
|
||||||
key-cache-segments 0
|
key-cache-segments 0
|
||||||
@ -76,7 +76,7 @@
|
|||||||
lc-messages en_US
|
lc-messages en_US
|
||||||
lc-messages-dir MYSQL_SHAREDIR/
|
lc-messages-dir MYSQL_SHAREDIR/
|
||||||
lc-time-names en_US
|
lc-time-names en_US
|
||||||
@@ -1506,6 +1518,7 @@ myisam-sort-buffer-size 134216704
|
@@ -1502,6 +1514,7 @@ myisam-sort-buffer-size 134216704
|
||||||
myisam-stats-method NULLS_UNEQUAL
|
myisam-stats-method NULLS_UNEQUAL
|
||||||
myisam-use-mmap FALSE
|
myisam-use-mmap FALSE
|
||||||
mysql56-temporal-format TRUE
|
mysql56-temporal-format TRUE
|
||||||
@ -84,7 +84,7 @@
|
|||||||
net-buffer-length 16384
|
net-buffer-length 16384
|
||||||
net-read-timeout 30
|
net-read-timeout 30
|
||||||
net-retry-count 10
|
net-retry-count 10
|
||||||
@@ -1616,6 +1629,8 @@ session-track-schema TRUE
|
@@ -1612,6 +1625,8 @@ session-track-schema TRUE
|
||||||
session-track-state-change FALSE
|
session-track-state-change FALSE
|
||||||
session-track-system-variables autocommit,character_set_client,character_set_connection,character_set_results,time_zone
|
session-track-system-variables autocommit,character_set_client,character_set_connection,character_set_results,time_zone
|
||||||
session-track-transaction-info OFF
|
session-track-transaction-info OFF
|
||||||
@ -93,7 +93,7 @@
|
|||||||
show-slave-auth-info FALSE
|
show-slave-auth-info FALSE
|
||||||
silent-startup FALSE
|
silent-startup FALSE
|
||||||
skip-grant-tables TRUE
|
skip-grant-tables TRUE
|
||||||
@@ -1642,6 +1657,7 @@ slave-transaction-retry-interval 0
|
@@ -1638,6 +1653,7 @@ slave-transaction-retry-interval 0
|
||||||
slave-type-conversions
|
slave-type-conversions
|
||||||
slow-launch-time 2
|
slow-launch-time 2
|
||||||
slow-query-log FALSE
|
slow-query-log FALSE
|
||||||
@ -101,10 +101,10 @@
|
|||||||
sort-buffer-size 2097152
|
sort-buffer-size 2097152
|
||||||
sql-mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
|
sql-mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
|
||||||
stack-trace TRUE
|
stack-trace TRUE
|
||||||
@@ -1657,9 +1673,9 @@ sync-relay-log-info 10000
|
@@ -1652,9 +1668,9 @@ sync-relay-log 10000
|
||||||
|
sync-relay-log-info 10000
|
||||||
sysdate-is-now FALSE
|
sysdate-is-now FALSE
|
||||||
system-versioning-alter-history ERROR
|
system-versioning-alter-history ERROR
|
||||||
system-versioning-innodb-algorithm-simple TRUE
|
|
||||||
-table-cache 431
|
-table-cache 431
|
||||||
+table-cache 2000
|
+table-cache 2000
|
||||||
table-definition-cache 400
|
table-definition-cache 400
|
||||||
@ -113,7 +113,7 @@
|
|||||||
table-open-cache-instances 8
|
table-open-cache-instances 8
|
||||||
tc-heuristic-recover OFF
|
tc-heuristic-recover OFF
|
||||||
tcp-keepalive-interval 0
|
tcp-keepalive-interval 0
|
||||||
@@ -1668,6 +1684,8 @@ tcp-keepalive-time 0
|
@@ -1663,6 +1679,8 @@ tcp-keepalive-time 0
|
||||||
thread-cache-size 151
|
thread-cache-size 151
|
||||||
thread-pool-idle-timeout 60
|
thread-pool-idle-timeout 60
|
||||||
thread-pool-max-threads 65536
|
thread-pool-max-threads 65536
|
||||||
|
@ -1223,10 +1223,6 @@ The following options may be given as the first argument:
|
|||||||
Versioning ALTER TABLE mode. ERROR: Fail ALTER with
|
Versioning ALTER TABLE mode. ERROR: Fail ALTER with
|
||||||
error; KEEP: Keep historical system rows and subject them
|
error; KEEP: Keep historical system rows and subject them
|
||||||
to ALTER;
|
to ALTER;
|
||||||
--system-versioning-innodb-algorithm-simple
|
|
||||||
Use simple algorithm of timestamp handling in InnoDB
|
|
||||||
instead of TRX_SEES
|
|
||||||
(Defaults to on; use --skip-system-versioning-innodb-algorithm-simple to disable.)
|
|
||||||
--table-cache=# Deprecated; use --table-open-cache instead.
|
--table-cache=# Deprecated; use --table-open-cache instead.
|
||||||
--table-definition-cache=#
|
--table-definition-cache=#
|
||||||
The number of cached table definitions
|
The number of cached table definitions
|
||||||
@ -1656,7 +1652,6 @@ sync-relay-log 10000
|
|||||||
sync-relay-log-info 10000
|
sync-relay-log-info 10000
|
||||||
sysdate-is-now FALSE
|
sysdate-is-now FALSE
|
||||||
system-versioning-alter-history ERROR
|
system-versioning-alter-history ERROR
|
||||||
system-versioning-innodb-algorithm-simple TRUE
|
|
||||||
table-cache 431
|
table-cache 431
|
||||||
table-definition-cache 400
|
table-definition-cache 400
|
||||||
table-open-cache 431
|
table-open-cache 431
|
||||||
|
@ -4086,20 +4086,6 @@ NUMERIC_BLOCK_SIZE NULL
|
|||||||
ENUM_VALUE_LIST DEFAULT
|
ENUM_VALUE_LIST DEFAULT
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT NULL
|
COMMAND_LINE_ARGUMENT NULL
|
||||||
VARIABLE_NAME SYSTEM_VERSIONING_INNODB_ALGORITHM_SIMPLE
|
|
||||||
SESSION_VALUE ON
|
|
||||||
GLOBAL_VALUE ON
|
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
|
||||||
DEFAULT_VALUE ON
|
|
||||||
VARIABLE_SCOPE SESSION
|
|
||||||
VARIABLE_TYPE BOOLEAN
|
|
||||||
VARIABLE_COMMENT Use simple algorithm of timestamp handling in InnoDB instead of TRX_SEES
|
|
||||||
NUMERIC_MIN_VALUE NULL
|
|
||||||
NUMERIC_MAX_VALUE NULL
|
|
||||||
NUMERIC_BLOCK_SIZE NULL
|
|
||||||
ENUM_VALUE_LIST OFF,ON
|
|
||||||
READ_ONLY NO
|
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
|
||||||
VARIABLE_NAME TABLE_DEFINITION_CACHE
|
VARIABLE_NAME TABLE_DEFINITION_CACHE
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 400
|
GLOBAL_VALUE 400
|
||||||
|
@ -5038,20 +5038,6 @@ NUMERIC_BLOCK_SIZE NULL
|
|||||||
ENUM_VALUE_LIST DEFAULT
|
ENUM_VALUE_LIST DEFAULT
|
||||||
READ_ONLY NO
|
READ_ONLY NO
|
||||||
COMMAND_LINE_ARGUMENT NULL
|
COMMAND_LINE_ARGUMENT NULL
|
||||||
VARIABLE_NAME SYSTEM_VERSIONING_INNODB_ALGORITHM_SIMPLE
|
|
||||||
SESSION_VALUE ON
|
|
||||||
GLOBAL_VALUE ON
|
|
||||||
GLOBAL_VALUE_ORIGIN COMPILE-TIME
|
|
||||||
DEFAULT_VALUE ON
|
|
||||||
VARIABLE_SCOPE SESSION
|
|
||||||
VARIABLE_TYPE BOOLEAN
|
|
||||||
VARIABLE_COMMENT Use simple algorithm of timestamp handling in InnoDB instead of TRX_SEES
|
|
||||||
NUMERIC_MIN_VALUE NULL
|
|
||||||
NUMERIC_MAX_VALUE NULL
|
|
||||||
NUMERIC_BLOCK_SIZE NULL
|
|
||||||
ENUM_VALUE_LIST OFF,ON
|
|
||||||
READ_ONLY NO
|
|
||||||
COMMAND_LINE_ARGUMENT OPTIONAL
|
|
||||||
VARIABLE_NAME TABLE_DEFINITION_CACHE
|
VARIABLE_NAME TABLE_DEFINITION_CACHE
|
||||||
SESSION_VALUE NULL
|
SESSION_VALUE NULL
|
||||||
GLOBAL_VALUE 400
|
GLOBAL_VALUE 400
|
||||||
|
@ -330,25 +330,14 @@ trx_start_good
|
|||||||
select x from t1 for system_time as of timestamp @ts;
|
select x from t1 for system_time as of timestamp @ts;
|
||||||
x
|
x
|
||||||
1
|
1
|
||||||
select x from t1 for system_time as of timestamp unix_timestamp(@ts);
|
|
||||||
x
|
|
||||||
1
|
|
||||||
select x from t1 for system_time as of timestamp @trx_start;
|
|
||||||
x
|
|
||||||
set @ts= timestamp'1-1-1 0:0:0';
|
set @ts= timestamp'1-1-1 0:0:0';
|
||||||
## TRANSACTION specifier
|
## TRANSACTION specifier
|
||||||
select x from t1 for system_time as of transaction @ts;
|
|
||||||
x
|
|
||||||
select x from t1 for system_time as of transaction unix_timestamp(@ts);
|
|
||||||
x
|
|
||||||
select x from t1 for system_time as of transaction @trx_start;
|
select x from t1 for system_time as of transaction @trx_start;
|
||||||
x
|
x
|
||||||
1
|
1
|
||||||
## no specifier (auto-detection)
|
## no specifier (auto-detection)
|
||||||
select x from t1 for system_time as of @ts;
|
select x from t1 for system_time as of @ts;
|
||||||
x
|
x
|
||||||
select x from t1 for system_time as of unix_timestamp(@ts);
|
|
||||||
x
|
|
||||||
select x from t1 for system_time as of @trx_start;
|
select x from t1 for system_time as of @trx_start;
|
||||||
x
|
x
|
||||||
1
|
1
|
||||||
|
@ -103,32 +103,6 @@ select @trx_id1 < @trx_id2, @trx_id2 < @trx_id3;
|
|||||||
select @ts1 < @ts2, @ts2 < @ts3;
|
select @ts1 < @ts2, @ts2 < @ts3;
|
||||||
@ts1 < @ts2 @ts2 < @ts3
|
@ts1 < @ts2 @ts2 < @ts3
|
||||||
1 1
|
1 1
|
||||||
# MVCC is not resolved
|
|
||||||
select * from t1 for system_time as of transaction @trx_id1;
|
|
||||||
x
|
|
||||||
1
|
|
||||||
select * from t1 for system_time as of timestamp @ts1;
|
|
||||||
x
|
|
||||||
3
|
|
||||||
select * from t1 for system_time as of transaction @trx_id2;
|
|
||||||
x
|
|
||||||
1
|
|
||||||
2
|
|
||||||
select * from t1 for system_time as of timestamp @ts2;
|
|
||||||
x
|
|
||||||
2
|
|
||||||
3
|
|
||||||
select * from t1 for system_time as of transaction @trx_id3;
|
|
||||||
x
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
select * from t1 for system_time as of timestamp @ts3;
|
|
||||||
x
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
set system_versioning_innodb_algorithm_simple= off;
|
|
||||||
# MVCC is resolved
|
# MVCC is resolved
|
||||||
select * from t1 for system_time as of transaction @trx_id1;
|
select * from t1 for system_time as of transaction @trx_id1;
|
||||||
x
|
x
|
||||||
|
@ -216,19 +216,14 @@ select @trx_start < unix_timestamp(@ts) - 100 as trx_start_good;
|
|||||||
|
|
||||||
--echo ## TIMESTAMP specifier
|
--echo ## TIMESTAMP specifier
|
||||||
select x from t1 for system_time as of timestamp @ts;
|
select x from t1 for system_time as of timestamp @ts;
|
||||||
select x from t1 for system_time as of timestamp unix_timestamp(@ts);
|
|
||||||
select x from t1 for system_time as of timestamp @trx_start;
|
|
||||||
|
|
||||||
set @ts= timestamp'1-1-1 0:0:0';
|
set @ts= timestamp'1-1-1 0:0:0';
|
||||||
|
|
||||||
--echo ## TRANSACTION specifier
|
--echo ## TRANSACTION specifier
|
||||||
select x from t1 for system_time as of transaction @ts;
|
|
||||||
select x from t1 for system_time as of transaction unix_timestamp(@ts);
|
|
||||||
select x from t1 for system_time as of transaction @trx_start;
|
select x from t1 for system_time as of transaction @trx_start;
|
||||||
|
|
||||||
--echo ## no specifier (auto-detection)
|
--echo ## no specifier (auto-detection)
|
||||||
select x from t1 for system_time as of @ts;
|
select x from t1 for system_time as of @ts;
|
||||||
select x from t1 for system_time as of unix_timestamp(@ts);
|
|
||||||
select x from t1 for system_time as of @trx_start;
|
select x from t1 for system_time as of @trx_start;
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,15 +108,6 @@ select sys_start from t1 where x = 3 into @trx_id3;
|
|||||||
select @trx_id1 < @trx_id2, @trx_id2 < @trx_id3;
|
select @trx_id1 < @trx_id2, @trx_id2 < @trx_id3;
|
||||||
select @ts1 < @ts2, @ts2 < @ts3;
|
select @ts1 < @ts2, @ts2 < @ts3;
|
||||||
|
|
||||||
--echo # MVCC is not resolved
|
|
||||||
select * from t1 for system_time as of transaction @trx_id1;
|
|
||||||
select * from t1 for system_time as of timestamp @ts1;
|
|
||||||
select * from t1 for system_time as of transaction @trx_id2;
|
|
||||||
select * from t1 for system_time as of timestamp @ts2;
|
|
||||||
select * from t1 for system_time as of transaction @trx_id3;
|
|
||||||
select * from t1 for system_time as of timestamp @ts3;
|
|
||||||
|
|
||||||
set system_versioning_innodb_algorithm_simple= off;
|
|
||||||
--echo # MVCC is resolved
|
--echo # MVCC is resolved
|
||||||
select * from t1 for system_time as of transaction @trx_id1;
|
select * from t1 for system_time as of transaction @trx_id1;
|
||||||
select * from t1 for system_time as of timestamp @ts1;
|
select * from t1 for system_time as of timestamp @ts1;
|
||||||
|
@ -726,7 +726,6 @@ typedef struct system_variables
|
|||||||
uint in_subquery_conversion_threshold;
|
uint in_subquery_conversion_threshold;
|
||||||
|
|
||||||
vers_asof_timestamp_t vers_asof_timestamp;
|
vers_asof_timestamp_t vers_asof_timestamp;
|
||||||
my_bool vers_innodb_algorithm_simple;
|
|
||||||
ulong vers_alter_history;
|
ulong vers_alter_history;
|
||||||
} SV;
|
} SV;
|
||||||
|
|
||||||
|
@ -865,8 +865,7 @@ int SELECT_LEX::vers_setup_conds(THD *thd, TABLE_LIST *tables, COND **where_expr
|
|||||||
// have uint64 type of sys_trx_(start|end) field.
|
// have uint64 type of sys_trx_(start|end) field.
|
||||||
// They need special handling.
|
// They need special handling.
|
||||||
TABLE *t= table->table;
|
TABLE *t= table->table;
|
||||||
if (t->versioned(VERS_TIMESTAMP) ||
|
if (t->versioned(VERS_TIMESTAMP))
|
||||||
thd->variables.vers_innodb_algorithm_simple)
|
|
||||||
{
|
{
|
||||||
if (vers_conditions)
|
if (vers_conditions)
|
||||||
{
|
{
|
||||||
|
@ -396,12 +396,6 @@ static Sys_var_vers_asof Sys_vers_asof_timestamp(
|
|||||||
SESSION_VAR(vers_asof_timestamp.type), NO_CMD_LINE,
|
SESSION_VAR(vers_asof_timestamp.type), NO_CMD_LINE,
|
||||||
Sys_var_vers_asof::asof_keywords, DEFAULT(SYSTEM_TIME_UNSPECIFIED));
|
Sys_var_vers_asof::asof_keywords, DEFAULT(SYSTEM_TIME_UNSPECIFIED));
|
||||||
|
|
||||||
static Sys_var_mybool Sys_vers_innodb_algorithm_simple(
|
|
||||||
"system_versioning_innodb_algorithm_simple",
|
|
||||||
"Use simple algorithm of timestamp handling in InnoDB instead of TRX_SEES",
|
|
||||||
SESSION_VAR(vers_innodb_algorithm_simple), CMD_LINE(OPT_ARG),
|
|
||||||
DEFAULT(TRUE));
|
|
||||||
|
|
||||||
static const char *vers_alter_history_keywords[]= {"ERROR", "KEEP",/* "SURVIVE", "DROP",*/ NULL};
|
static const char *vers_alter_history_keywords[]= {"ERROR", "KEEP",/* "SURVIVE", "DROP",*/ NULL};
|
||||||
static Sys_var_enum Sys_vers_alter_history(
|
static Sys_var_enum Sys_vers_alter_history(
|
||||||
"system_versioning_alter_history", "Versioning ALTER TABLE mode. "
|
"system_versioning_alter_history", "Versioning ALTER TABLE mode. "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user