Commit 90a3c971 authored by Sergei Golubchik's avatar Sergei Golubchik

merge

parents ece56ac5 91b82a0f
#!/bin/sh
#
# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
......@@ -11,8 +11,8 @@
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
# this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St,
# Fifth Floor, Boston, MA 02110-1301 USA
#
# we assume this script is in storage/innobase/
......
......@@ -148,12 +148,12 @@ IF(UNIX)
ENDIF()
# Remove libaio dependency from mysqld
SET(XTRADB_PREFER_STATIC_LIBAIO 1)
#SET(XTRADB_PREFER_STATIC_LIBAIO 1)
# Unfortunately, linking shared libmysqld with static aio
# does not work, unless we add also dynamic one. This also means
# libmysqld.so will depend on libaio.so
SET(LIBMYSQLD_SO_EXTRA_LIBS aio)
#SET(LIBMYSQLD_SO_EXTRA_LIBS aio)
ENDIF()
# Enable fast mutexes on Linux
......
......@@ -128,6 +128,7 @@ MACRO(MYSQL_ADD_PLUGIN)
IF(ARG_RECOMPILE_FOR_EMBEDDED OR NOT _SKIP_PIC)
# Recompile some plugins for embedded
ADD_CONVENIENCE_LIBRARY(${target}_embedded ${SOURCES})
RESTRICT_SYMBOL_EXPORTS(${target}_embedded)
DTRACE_INSTRUMENT(${target}_embedded)
IF(ARG_RECOMPILE_FOR_EMBEDDED)
SET_TARGET_PROPERTIES(${target}_embedded
......
......@@ -2,6 +2,7 @@ usr/lib/mysql/plugin/auth_pam.so
usr/lib/mysql/plugin/auth_socket.so
usr/lib/mysql/plugin/ha_sequence.so
usr/lib/mysql/plugin/ha_sphinx.so
usr/lib/mysql/plugin/ha_xtradb.so
usr/lib/mysql/plugin/handlersocket.so
usr/lib/mysql/plugin/locales.so
usr/lib/mysql/plugin/metadata_lock_info.so
......
usr/lib/mysql/plugin/auth_pam.so
usr/lib/mysql/plugin/auth_socket.so
usr/lib/mysql/plugin/ha_sequence.so
usr/lib/mysql/plugin/ha_sphinx.so
usr/lib/mysql/plugin/ha_xtradb.so
usr/lib/mysql/plugin/handlersocket.so
usr/lib/mysql/plugin/locales.so
usr/lib/mysql/plugin/metadata_lock_info.so
......
......@@ -622,15 +622,6 @@ void **thd_ha_data(const MYSQL_THD thd, const struct handlerton *hton);
void thd_storage_lock_wait(MYSQL_THD thd, long long value);
int thd_tx_isolation(const MYSQL_THD thd);
int thd_tx_is_read_only(const MYSQL_THD thd);
#if MARIA_PLUGIN_INTERFACE_VERSION < 0x0200
/**
TODO: This function is for API compatibility, remove it eventually.
All engines should switch to use thd_get_error_context_description()
plugin service function.
*/
char *thd_security_context(MYSQL_THD thd, char *buffer, unsigned int length,
unsigned int max_query_len);
#endif
/**
Create a temporary file.
......
......@@ -303,8 +303,6 @@ void **thd_ha_data(const void* thd, const struct handlerton *hton);
void thd_storage_lock_wait(void* thd, long long value);
int thd_tx_isolation(const void* thd);
int thd_tx_is_read_only(const void* thd);
char *thd_security_context(void* thd, char *buffer, unsigned int length,
unsigned int max_query_len);
int mysql_tmpfile(const char *prefix);
unsigned long thd_get_thread_id(const void* thd);
void thd_get_xid(const void* thd, MYSQL_XID *xid);
......
......@@ -303,8 +303,6 @@ void **thd_ha_data(const void* thd, const struct handlerton *hton);
void thd_storage_lock_wait(void* thd, long long value);
int thd_tx_isolation(const void* thd);
int thd_tx_is_read_only(const void* thd);
char *thd_security_context(void* thd, char *buffer, unsigned int length,
unsigned int max_query_len);
int mysql_tmpfile(const char *prefix);
unsigned long thd_get_thread_id(const void* thd);
void thd_get_xid(const void* thd, MYSQL_XID *xid);
......
......@@ -256,8 +256,6 @@ void **thd_ha_data(const void* thd, const struct handlerton *hton);
void thd_storage_lock_wait(void* thd, long long value);
int thd_tx_isolation(const void* thd);
int thd_tx_is_read_only(const void* thd);
char *thd_security_context(void* thd, char *buffer, unsigned int length,
unsigned int max_query_len);
int mysql_tmpfile(const char *prefix);
unsigned long thd_get_thread_id(const void* thd);
void thd_get_xid(const void* thd, MYSQL_XID *xid);
......
......@@ -9,6 +9,7 @@ innodb-buffer-page
innodb-buffer-page-lru
innodb-sys-foreign
innodb-sys-foreign-col
innodb-metrics
[xtradb_plugin]
ignore-builtin-innodb
......@@ -21,8 +22,9 @@ innodb-buffer-page
innodb-buffer-page-lru
innodb-sys-foreign
innodb-sys-foreign-col
innodb-metrics
[xtradb]
[innodb]
innodb
innodb-cmpmem
innodb-trx
......@@ -32,3 +34,4 @@ innodb-buffer-page
innodb-buffer-page-lru
innodb-sys-foreign
innodb-sys-foreign-col
innodb-metrics
--plugin-load=$SEMISYNC_MASTER_SO
--plugin-load=$SEMISYNC_SLAVE_SO
--plugin-load-add=$SEMISYNC_MASTER_SO
--plugin-load-add=$SEMISYNC_SLAVE_SO
--loose-rpl-semi-sync-master
--loose-rpl-semi-sync-slave
......@@ -5,12 +5,9 @@ innodb
innodb-cmpmem
innodb-trx
innodb-sys-index
loose-xtradb-admin-command
[xtradb]
innodb
innodb-cmpmem
innodb-trx
innodb-sys-index
loose-xtradb-admin-command
-- require r/is_embedded.require
disable_query_log;
select version() like '%embedded%' as 'have_embedded';
enable_query_log;
if (`SELECT VERSION() NOT LIKE '%embedded%'`)
{
--skip Test requires: embedded server
}
if (`select convert(@@version_compile_os using latin1) LIKE 'Linux' = 0`)
{
skip Need Linux;
}
......@@ -250,6 +250,7 @@ sub load_suite_object {
unless (defined $suites{$suitename}) {
if (-f "$suitedir/suite.pm") {
$suite= do "$suitedir/suite.pm";
mtr_error("Cannot load $suitedir/suite.pm: $@") if $@;
unless (ref $suite) {
my $comment = $suite;
$suite = My::Suite->new();
......
......@@ -177,14 +177,12 @@ my @DEFAULT_SUITES= qw(
maria-
multi_source-
optimizer_unfixed_bugs-
oqgraph-
parts-
percona-
perfschema-
plugins-
roles-
rpl-
sphinx-
sys_vars-
unit-
vcol-
......@@ -397,11 +395,6 @@ sub main {
executable_setup();
if (!$opt_suites) {
$opt_suites= join ',', collect_default_suites(@DEFAULT_SUITES);
}
mtr_report("Using suites: $opt_suites") unless @opt_cases;
# --debug[-common] implies we run debug server
$opt_debug_server= 1 if $opt_debug || $opt_debug_common;
......@@ -414,16 +407,22 @@ sub main {
{
# Run the mysqld to find out what features are available
collect_mysqld_features();
mysql_install_db(default_mysqld(), "$opt_vardir/install.db");
}
check_ndbcluster_support();
check_ssl_support();
check_debug_support();
if (!$opt_suites) {
$opt_suites= join ',', collect_default_suites(@DEFAULT_SUITES);
}
mtr_report("Using suites: $opt_suites") unless @opt_cases;
mtr_report("Collecting tests...");
my $tests= collect_test_cases($opt_reorder, $opt_suites, \@opt_cases, \@opt_skip_test_list);
mark_time_used('collect');
mysql_install_db(default_mysqld(), "$opt_vardir/install.db") unless using_extern();
if ($opt_dry_run)
{
for (@$tests) {
......@@ -4824,6 +4823,7 @@ sub extract_warning_lines ($$) {
qr|Plugin 'FEEDBACK' init function returned error|,
qr|Plugin 'FEEDBACK' registration as a INFORMATION SCHEMA failed|,
qr|'log-bin-use-v1-row-events' is MySQL 5.6 compatible option|,
qr|InnoDB: Setting thread \d+ nice to \d+ failed, current nice \d+, errno 13|, # setpriority() fails under valgrind
);
my $matched_lines= [];
......
......@@ -57,7 +57,6 @@ TRIGGERS TRIGGER_SCHEMA
USER_PRIVILEGES GRANTEE
USER_STATISTICS USER
VIEWS TABLE_SCHEMA
XTRADB_ADMIN_COMMAND result_message
SELECT t.table_name, c1.column_name
FROM information_schema.tables t
INNER JOIN
......@@ -112,4 +111,3 @@ TRIGGERS TRIGGER_SCHEMA
USER_PRIVILEGES GRANTEE
USER_STATISTICS USER
VIEWS TABLE_SCHEMA
XTRADB_ADMIN_COMMAND result_message
......@@ -477,7 +477,11 @@ drop table t1;
create table t1 (a int null, primary key(a));
alter table t1 add constraint constraint_1 unique (a);
alter table t1 add constraint unique key_1(a);
Warnings:
Note 1831 Duplicate index 'key_1' defined on the table 'test.t1'. This is deprecated and will be disallowed in a future release.
alter table t1 add constraint constraint_2 unique key_2(a);
Warnings:
Note 1831 Duplicate index 'key_2' defined on the table 'test.t1'. This is deprecated and will be disallowed in a future release.
show create table t1;
Table Create Table
t1 CREATE TABLE `t1` (
......@@ -709,6 +713,7 @@ max_questions select,insert,update,references
max_connections select,insert,update,references
max_user_connections select,insert,update,references
authentication_string select,insert,update,references
password_expired select,insert,update,references
is_role select,insert,update,references
use test;
create function sub1(i int) returns int
......@@ -816,6 +821,14 @@ information_schema ROUTINES ROUTINE_COMMENT
information_schema TRIGGERS ACTION_CONDITION
information_schema TRIGGERS ACTION_STATEMENT
information_schema VIEWS VIEW_DEFINITION
performance_schema events_statements_current SQL_TEXT
performance_schema events_statements_current DIGEST_TEXT
performance_schema events_statements_history SQL_TEXT
performance_schema events_statements_history DIGEST_TEXT
performance_schema events_statements_history_long SQL_TEXT
performance_schema events_statements_history_long DIGEST_TEXT
performance_schema events_statements_summary_by_digest DIGEST_TEXT
performance_schema threads PROCESSLIST_INFO
select table_name, column_name, data_type from information_schema.columns
where data_type = 'datetime' and table_name not like 'innodb_%';
table_name column_name data_type
......
......@@ -16,27 +16,21 @@ FILES
GLOBAL_STATUS
GLOBAL_VARIABLES
INDEX_STATISTICS
INNODB_BUFFER_POOL_PAGES
INNODB_BUFFER_POOL_PAGES_BLOB
INNODB_BUFFER_POOL_PAGES_INDEX
INNODB_CHANGED_PAGES
INNODB_CMP
INNODB_CMPMEM
INNODB_CMPMEM_RESET
INNODB_CMP_PER_INDEX
INNODB_CMP_RESET
INNODB_INDEX_STATS
INNODB_LOCKS
INNODB_LOCK_WAITS
INNODB_RSEG
INNODB_SYS_COLUMNS
INNODB_SYS_FIELDS
INNODB_SYS_FOREIGN
INNODB_SYS_FOREIGN_COLS
INNODB_SYS_INDEXES
INNODB_SYS_STATS
INNODB_SYS_TABLES
INNODB_SYS_TABLESTATS
INNODB_TABLE_STATS
INNODB_TRX
KEY_CACHES
KEY_COLUMN_USAGE
......@@ -61,7 +55,9 @@ TRIGGERS
USER_PRIVILEGES
USER_STATISTICS
VIEWS
XTRADB_ADMIN_COMMAND
XTRADB_INTERNAL_HASH_TABLES
XTRADB_READ_VIEW
XTRADB_RSEG
SELECT t.table_name, c1.column_name
FROM information_schema.tables t
INNER JOIN
......@@ -92,27 +88,21 @@ FILES TABLE_SCHEMA
GLOBAL_STATUS VARIABLE_NAME
GLOBAL_VARIABLES VARIABLE_NAME
INDEX_STATISTICS TABLE_SCHEMA
INNODB_BUFFER_POOL_PAGES page_type
INNODB_BUFFER_POOL_PAGES_BLOB space_id
INNODB_BUFFER_POOL_PAGES_INDEX index_id
INNODB_CHANGED_PAGES space_id
INNODB_CMP page_size
INNODB_CMPMEM page_size
INNODB_CMPMEM_RESET page_size
INNODB_CMP_PER_INDEX database_name
INNODB_CMP_RESET page_size
INNODB_INDEX_STATS table_schema
INNODB_LOCKS lock_id
INNODB_LOCK_WAITS requesting_trx_id
INNODB_RSEG rseg_id
INNODB_SYS_COLUMNS TABLE_ID
INNODB_SYS_FIELDS INDEX_ID
INNODB_SYS_FOREIGN ID
INNODB_SYS_FOREIGN_COLS ID
INNODB_SYS_INDEXES INDEX_ID
INNODB_SYS_STATS INDEX_ID
INNODB_SYS_TABLES SCHEMA
INNODB_SYS_TABLESTATS SCHEMA
INNODB_TABLE_STATS table_schema
INNODB_SYS_TABLES TABLE_ID
INNODB_SYS_TABLESTATS TABLE_ID
INNODB_TRX trx_id
KEY_CACHES KEY_CACHE_NAME
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
......@@ -137,7 +127,9 @@ TRIGGERS TRIGGER_SCHEMA
USER_PRIVILEGES GRANTEE
USER_STATISTICS USER
VIEWS TABLE_SCHEMA
XTRADB_ADMIN_COMMAND result_message
XTRADB_INTERNAL_HASH_TABLES INTERNAL_HASH_TABLE_NAME
XTRADB_READ_VIEW READ_VIEW_UNDO_NUMBER
XTRADB_RSEG rseg_id
SELECT t.table_name, c1.column_name
FROM information_schema.tables t
INNER JOIN
......@@ -168,27 +160,21 @@ FILES TABLE_SCHEMA
GLOBAL_STATUS VARIABLE_NAME
GLOBAL_VARIABLES VARIABLE_NAME
INDEX_STATISTICS TABLE_SCHEMA
INNODB_BUFFER_POOL_PAGES page_type
INNODB_BUFFER_POOL_PAGES_BLOB space_id
INNODB_BUFFER_POOL_PAGES_INDEX index_id
INNODB_CHANGED_PAGES space_id
INNODB_CMP page_size
INNODB_CMPMEM page_size
INNODB_CMPMEM_RESET page_size
INNODB_CMP_PER_INDEX database_name
INNODB_CMP_RESET page_size
INNODB_INDEX_STATS table_schema
INNODB_LOCKS lock_id
INNODB_LOCK_WAITS requesting_trx_id
INNODB_RSEG rseg_id
INNODB_SYS_COLUMNS TABLE_ID
INNODB_SYS_FIELDS INDEX_ID
INNODB_SYS_FOREIGN ID
INNODB_SYS_FOREIGN_COLS ID
INNODB_SYS_INDEXES INDEX_ID
INNODB_SYS_STATS INDEX_ID
INNODB_SYS_TABLES SCHEMA
INNODB_SYS_TABLESTATS SCHEMA
INNODB_TABLE_STATS table_schema
INNODB_SYS_TABLES TABLE_ID
INNODB_SYS_TABLESTATS TABLE_ID
INNODB_TRX trx_id
KEY_CACHES KEY_CACHE_NAME
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
......@@ -213,11 +199,13 @@ TRIGGERS TRIGGER_SCHEMA
USER_PRIVILEGES GRANTEE
USER_STATISTICS USER
VIEWS TABLE_SCHEMA
XTRADB_ADMIN_COMMAND result_message
select 1 as f1 from information_schema.tables where "ALL_PLUGINS"=
XTRADB_INTERNAL_HASH_TABLES INTERNAL_HASH_TABLE_NAME
XTRADB_READ_VIEW READ_VIEW_UNDO_NUMBER
XTRADB_RSEG rseg_id
select 1 as "must be 1" from information_schema.tables where "ACCOUNTS"=
(select cast(table_name as char) from information_schema.tables
order by table_name limit 1) limit 1;
f1
must be 1
1
select t.table_name, group_concat(t.table_schema, '.', t.table_name),
count(*) as num1
......@@ -249,27 +237,21 @@ FILES information_schema.FILES 1
GLOBAL_STATUS information_schema.GLOBAL_STATUS 1
GLOBAL_VARIABLES information_schema.GLOBAL_VARIABLES 1
INDEX_STATISTICS information_schema.INDEX_STATISTICS 1
INNODB_BUFFER_POOL_PAGES information_schema.INNODB_BUFFER_POOL_PAGES 1
INNODB_BUFFER_POOL_PAGES_BLOB information_schema.INNODB_BUFFER_POOL_PAGES_BLOB 1
INNODB_BUFFER_POOL_PAGES_INDEX information_schema.INNODB_BUFFER_POOL_PAGES_INDEX 1
INNODB_CHANGED_PAGES information_schema.INNODB_CHANGED_PAGES 1
INNODB_CMP information_schema.INNODB_CMP 1
INNODB_CMPMEM information_schema.INNODB_CMPMEM 1
INNODB_CMPMEM_RESET information_schema.INNODB_CMPMEM_RESET 1
INNODB_CMP_PER_INDEX information_schema.INNODB_CMP_PER_INDEX 1
INNODB_CMP_RESET information_schema.INNODB_CMP_RESET 1
INNODB_INDEX_STATS information_schema.INNODB_INDEX_STATS 1
INNODB_LOCKS information_schema.INNODB_LOCKS 1
INNODB_LOCK_WAITS information_schema.INNODB_LOCK_WAITS 1
INNODB_RSEG information_schema.INNODB_RSEG 1
INNODB_SYS_COLUMNS information_schema.INNODB_SYS_COLUMNS 1
INNODB_SYS_FIELDS information_schema.INNODB_SYS_FIELDS 1
INNODB_SYS_FOREIGN information_schema.INNODB_SYS_FOREIGN 1
INNODB_SYS_FOREIGN_COLS information_schema.INNODB_SYS_FOREIGN_COLS 1
INNODB_SYS_INDEXES information_schema.INNODB_SYS_INDEXES 1
INNODB_SYS_STATS information_schema.INNODB_SYS_STATS 1
INNODB_SYS_TABLES information_schema.INNODB_SYS_TABLES 1
INNODB_SYS_TABLESTATS information_schema.INNODB_SYS_TABLESTATS 1
INNODB_TABLE_STATS information_schema.INNODB_TABLE_STATS 1
INNODB_TRX information_schema.INNODB_TRX 1
KEY_CACHES information_schema.KEY_CACHES 1
KEY_COLUMN_USAGE information_schema.KEY_COLUMN_USAGE 1
......@@ -294,6 +276,9 @@ TRIGGERS information_schema.TRIGGERS 1
USER_PRIVILEGES information_schema.USER_PRIVILEGES 1
USER_STATISTICS information_schema.USER_STATISTICS 1
VIEWS information_schema.VIEWS 1
XTRADB_INTERNAL_HASH_TABLES information_schema.XTRADB_INTERNAL_HASH_TABLES 1
XTRADB_READ_VIEW information_schema.XTRADB_READ_VIEW 1
XTRADB_RSEG information_schema.XTRADB_RSEG 1
+---------------------------------------+
+---------------------------------------+
+---------------------------------------+
......@@ -314,27 +299,21 @@ Database: information_schema
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| INDEX_STATISTICS |
| INNODB_BUFFER_POOL_PAGES |
| INNODB_BUFFER_POOL_PAGES_BLOB |
| INNODB_BUFFER_POOL_PAGES_INDEX |
| INNODB_CHANGED_PAGES |
| INNODB_CMP |
| INNODB_CMPMEM |
| INNODB_CMPMEM_RESET |
| INNODB_CMP_PER_INDEX |
| INNODB_CMP_RESET |
| INNODB_INDEX_STATS |
| INNODB_LOCKS |
| INNODB_LOCK_WAITS |
| INNODB_RSEG |
| INNODB_SYS_COLUMNS |
| INNODB_SYS_FIELDS |
| INNODB_SYS_FOREIGN |
| INNODB_SYS_FOREIGN_COLS |
| INNODB_SYS_INDEXES |
| INNODB_SYS_STATS |
| INNODB_SYS_TABLES |
| INNODB_SYS_TABLESTATS |
| INNODB_TABLE_STATS |
| INNODB_TRX |
| KEY_CACHES |
| KEY_COLUMN_USAGE |
......@@ -359,7 +338,9 @@ Database: information_schema
| USER_PRIVILEGES |
| USER_STATISTICS |
| VIEWS |
| XTRADB_ADMIN_COMMAND |
| XTRADB_INTERNAL_HASH_TABLES |
| XTRADB_READ_VIEW |
| XTRADB_RSEG |
+---------------------------------------+
+---------------------------------------+
+---------------------------------------+
......@@ -380,27 +361,21 @@ Database: INFORMATION_SCHEMA
| GLOBAL_STATUS |
| GLOBAL_VARIABLES |
| INDEX_STATISTICS |
| INNODB_BUFFER_POOL_PAGES |
| INNODB_BUFFER_POOL_PAGES_BLOB |
| INNODB_BUFFER_POOL_PAGES_INDEX |
| INNODB_CHANGED_PAGES |
| INNODB_CMP |
| INNODB_CMPMEM |
| INNODB_CMPMEM_RESET |
| INNODB_CMP_PER_INDEX |
| INNODB_CMP_RESET |
| INNODB_INDEX_STATS |
| INNODB_LOCKS |
| INNODB_LOCK_WAITS |
| INNODB_RSEG |
| INNODB_SYS_COLUMNS |
| INNODB_SYS_FIELDS |
| INNODB_SYS_FOREIGN |
| INNODB_SYS_FOREIGN_COLS |
| INNODB_SYS_INDEXES |
| INNODB_SYS_STATS |
| INNODB_SYS_TABLES |
| INNODB_SYS_TABLESTATS |
| INNODB_TABLE_STATS |
| INNODB_TRX |
| KEY_CACHES |
| KEY_COLUMN_USAGE |
......@@ -425,7 +400,9 @@ Database: INFORMATION_SCHEMA
| USER_PRIVILEGES |
| USER_STATISTICS |
| VIEWS |
| XTRADB_ADMIN_COMMAND |
| XTRADB_INTERNAL_HASH_TABLES |
| XTRADB_READ_VIEW |
| XTRADB_RSEG |
+--------------------+
+--------------------+
+--------------------+
......@@ -434,5 +411,5 @@ Wildcard: inf_rmation_schema
| information_schema |
SELECT table_schema, count(*) FROM information_schema.TABLES WHERE table_schema IN ('mysql', 'INFORMATION_SCHEMA', 'test', 'mysqltest') AND table_name<>'ndb_binlog_index' AND table_name<>'ndb_apply_status' GROUP BY TABLE_SCHEMA;
table_schema count(*)
information_schema 61
mysql 28
information_schema 57
mysql 30
--- r/innodb_bug878769.result 2011-11-22 18:50:25.000000000 +0100
+++ r/innodb_bug878769.reject 2012-02-07 12:45:07.000000000 +0100
@@ -39,7 +39,7 @@
GROUP BY 1,2;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 index col_int_key col_int_key 5 NULL 12 Using where; Using index; Using temporary; Using filesort
-1 SIMPLE t1 ref col_int_key col_int_key 5 test.t2.col_int_key 1 Using join buffer (flat, BKA join); Key-ordered Rowid-ordered scan
+1 SIMPLE t1 ref col_int_key col_int_key 5 test.t2.col_int_key 1
SELECT t1.col_time_key, t1.col_varchar_key
FROM t2 STRAIGHT_JOIN t1 ON t1.col_int_key = t2.col_int_key
GROUP BY 1,2;
--- r/innodb_icp.result 2013-07-16 17:01:00.000000000 +0400
+++ r/innodb_icp,innodb_plugin.reject 2013-07-16 17:16:53.000000000 +0400
@@ -213,7 +213,7 @@
EXPLAIN
SELECT c1 FROM t3 WHERE c1 >= 'c-1004=w' and c1 <= 'c-1006=w' and i1 > 2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t3 range c1 c1 12 NULL 2 Using index condition; Using where
+1 SIMPLE t3 range c1 c1 12 NULL 2 Using where
SELECT c1 FROM t3 WHERE c1 >= 'c-1004=w' and c1 <= 'c-1006=w' and i1 > 2;
c1
EXPLAIN
@@ -637,7 +637,7 @@
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
ORDER BY a;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range b b 13 NULL 2 Using where; Rowid-ordered scan; Using filesort
+1 SIMPLE t1 range b b 13 NULL 2 Using where; Using filesort
SELECT * FROM t1
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
ORDER BY a;
@@ -649,7 +649,7 @@
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
ORDER BY a;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range b b 13 NULL 2 Using index condition; Using where; Rowid-ordered scan; Using filesort
+1 SIMPLE t1 range b b 13 NULL 2 Using where; Using filesort
SELECT * FROM t1
WHERE NOT(b = 'Texas') AND b BETWEEN 'wy' AND 'y' OR b = 'Pennsylvania'
ORDER BY a;
@@ -825,15 +825,15 @@
4 4
show status like "Handler_icp%";
Variable_name Value
-Handler_icp_attempts 2
-Handler_icp_match 1
+Handler_icp_attempts 0
+Handler_icp_match 0
SELECT * FROM t1 WHERE (c2='3' or c2='4') and c2 % 2 = 0 ;
c1 c2
4 4
show status like "Handler_icp%";
Variable_name Value
-Handler_icp_attempts 2
-Handler_icp_match 1
+Handler_icp_attempts 0
+Handler_icp_match 0
DROP TABLE t1;
create table t1 (a int,b char(5),primary key (a), key (b(1)));
insert into t1 values ('a','b');
@@ -868,7 +868,7 @@
EXPLAIN
SELECT * FROM t1 FORCE INDEX(idx1) WHERE (c1='aa' AND c2='x') OR (c1='a' AND c2='y');
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 range idx1 idx1 10 NULL 2 Using index condition; Using where
+1 SIMPLE t1 range idx1 idx1 10 NULL 2 Using where
SELECT * FROM t1 FORCE INDEX(idx1) WHERE (c1='aa' AND c2='x') OR (c1='a' AND c2='y');
c1 c2
aa x
--- r/innodb_mrr_cpk.result 2012-02-23 15:57:49.000000000 +0100
+++ r/innodb_mrr_cpk,innodb_plugin.reject 2012-02-23 19:44:57.000000000 +0100
@@ -27,13 +27,13 @@
explain select * from t1, t2 where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 eq_ref PRIMARY PRIMARY 8 test.t2.a 1 Using join buffer (flat, BKA join); Key-ordered scan
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 8 test.t2.a 1
This output must be sorted by value of t1.a:
select * from t1, t2 where t1.a=t2.a;
a b filler a
a-1010=A b-1010=B filler a-1010=A
-a-1020=A b-1020=B filler a-1020=A
a-1030=A b-1030=B filler a-1030=A
+a-1020=A b-1020=B filler a-1020=A
drop table t1, t2;
create table t1(
a char(8) character set utf8, b int, filler char(100),
@@ -49,24 +49,24 @@
explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1 Using join buffer (flat, BKA join); Key-ordered scan
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
a b filler a b
a-1010=A 1010 filler a-1010=A 1010
-a-1020=A 1020 filler a-1020=A 1020
a-1030=A 1030 filler a-1030=A 1030
+a-1020=A 1020 filler a-1020=A 1020
insert into t2 values ('a-1030=A', 1030), ('a-1020=A', 1020);
explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 5 Using where
-1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1 Using join buffer (flat, BKA join); Key-ordered scan
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 28 test.t2.a,test.t2.b 1
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
a b filler a b
a-1010=A 1010 filler a-1010=A 1010
-a-1020=A 1020 filler a-1020=A 1020
-a-1020=A 1020 filler a-1020=A 1020
a-1030=A 1030 filler a-1030=A 1030
+a-1020=A 1020 filler a-1020=A 1020
a-1030=A 1030 filler a-1030=A 1030
+a-1020=A 1020 filler a-1020=A 1020
drop table t1, t2;
create table t1(
a varchar(8) character set utf8, b int, filler char(100),
@@ -82,21 +82,21 @@
explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 eq_ref PRIMARY PRIMARY 30 test.t2.a,test.t2.b 1 Using where; Using join buffer (flat, BKA join); Key-ordered scan
+1 SIMPLE t1 eq_ref PRIMARY PRIMARY 30 test.t2.a,test.t2.b 1 Using where
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
a b filler a b
a-1010=A 1010 filler a-1010=A 1010
-a-1020=A 1020 filler a-1020=A 1020
a-1030=A 1030 filler a-1030=A 1030
+a-1020=A 1020 filler a-1020=A 1020
explain select * from t1, t2 where t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 ref PRIMARY PRIMARY 26 test.t2.a 1 Using where; Using join buffer (flat, BKA join); Key-ordered scan
+1 SIMPLE t1 ref PRIMARY PRIMARY 26 test.t2.a 1 Using where
select * from t1, t2 where t1.a=t2.a;
a b filler a b
a-1010=A 1010 filler a-1010=A 1010
-a-1020=A 1020 filler a-1020=A 1020
a-1030=A 1030 filler a-1030=A 1030
+a-1020=A 1020 filler a-1020=A 1020
drop table t1, t2;
create table t1 (a int, b int, c int, filler char(100), primary key(a,b,c));
insert into t1 select A.a, B.a, C.a, 'filler' from t0 A, t0 B, t0 C;
@@ -111,15 +111,15 @@
explain select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 ref PRIMARY PRIMARY 8 test.t2.a,test.t2.b 1 Using join buffer (flat, BKA join); Key-ordered scan
+1 SIMPLE t1 ref PRIMARY PRIMARY 8 test.t2.a,test.t2.b 1
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
a b c filler a b
+11 33 124 filler 11 33
+11 33 125 filler 11 33
+11 22 1234 filler 11 22
11 11 11 filler 11 11
11 11 12 filler 11 11
11 11 13 filler 11 11
-11 22 1234 filler 11 22
-11 33 124 filler 11 33
-11 33 125 filler 11 33
set join_cache_level=0;
select * from t1, t2 where t1.a=t2.a and t1.b=t2.b;
a b c filler a b
@@ -133,14 +133,14 @@
explain select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where; Using join buffer (flat, BKA join); Key-ordered scan
+1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where
select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100;
a b c filler a b
set optimizer_switch='index_condition_pushdown=off';
explain select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using where
-1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where; Using join buffer (flat, BKA join); Key-ordered scan
+1 SIMPLE t1 ref PRIMARY PRIMARY 4 test.t2.a 1 Using where
select * from t1, t2 where t1.a=t2.a and t2.b + t1.b > 100;
a b c filler a b
set optimizer_switch='index_condition_pushdown=on';
--- r/subselect_sj2_jcl6.result 2012-04-07 12:45:03.000000000 +0200
+++ r/subselect_sj2_jcl6,innodb_plugin.reject 2012-04-07 13:10:38.000000000 +0200
@@ -1009,7 +1009,7 @@
1 PRIMARY t2 ALL a NULL NULL NULL 38
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 8 func,func 1
2 MATERIALIZED alias1 ALL a NULL NULL NULL 19 Using where
-2 MATERIALIZED alias2 ref a a 4 test.alias1.a 1 Using where; Using join buffer (flat, BKA join); Key-ordered Rowid-ordered scan
+2 MATERIALIZED alias2 ref a a 4 test.alias1.a 1 Using where
SELECT * FROM t2
WHERE (a, a) IN (SELECT alias2.b, alias2.a FROM t1 AS alias1, t1 AS alias2
WHERE
......@@ -8,8 +8,14 @@ sub skip_combinations {
# disable innodb/xtradb combinatons for configurations that were not built
push @combinations, 'innodb_plugin' unless $ENV{HA_INNODB_SO};
push @combinations, 'xtradb_plugin' unless $ENV{HA_XTRADB_SO};
push @combinations, 'xtradb' unless $::mysqld_variables{'innodb'} eq "ON";
# if something is compiled in, it's innodb. xtradb is MODULE_ONLY:
push @combinations, 'innodb' unless $::mysqld_variables{'innodb'} eq "ON";
push @combinations, 'xtradb';
# XtraDB is RECOMPILE_FOR_EMBEDDED, ha_xtradb.so cannot work with embedded server
push @combinations, 'xtradb_plugin' if not $ENV{HA_XTRADB_SO}
or $::opt_embedded_server;
my %skip = ( 'include/have_innodb.combinations' => [ @combinations ],
'include/have_xtradb.combinations' => [ @combinations ]);
......
......@@ -2,8 +2,8 @@ package My::Suite::Archive;
@ISA = qw(My::Suite);
return ("Need Archive engine" unless $ENV{HA_ARCHIVE_SO} or
$::mysqld_variables{'archive'} eq "ON");
return "Need Archive engine" unless $ENV{HA_ARCHIVE_SO} or
$::mysqld_variables{'archive'} eq "ON";
bless { };
......@@ -429,7 +429,20 @@ def information_schema VIEWS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL
def information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext select
def information_schema XTRADB_ADMIN_COMMAND result_message 1 NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024) select
def information_schema XTRADB_INTERNAL_HASH_TABLES CONSTANT_MEMORY 3 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema XTRADB_INTERNAL_HASH_TABLES INTERNAL_HASH_TABLE_NAME 1 NO varchar 100 300 NULL NULL NULL utf8 utf8_general_ci varchar(100) select
def information_schema XTRADB_INTERNAL_HASH_TABLES TOTAL_MEMORY 2 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema XTRADB_INTERNAL_HASH_TABLES VARIABLE_MEMORY 4 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema XTRADB_READ_VIEW READ_VIEW_LOW_LIMIT_TRX_ID 4 NO varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) select
def information_schema XTRADB_READ_VIEW READ_VIEW_LOW_LIMIT_TRX_NUMBER 2 NO varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) select
def information_schema XTRADB_READ_VIEW READ_VIEW_UNDO_NUMBER 1 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema XTRADB_READ_VIEW READ_VIEW_UPPER_LIMIT_TRX_ID 3 NO varchar 18 54 NULL NULL NULL utf8 utf8_general_ci varchar(18) select
def information_schema XTRADB_RSEG curr_size 6 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema XTRADB_RSEG max_size 5 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema XTRADB_RSEG page_no 4 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema XTRADB_RSEG rseg_id 1 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema XTRADB_RSEG space_id 2 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
def information_schema XTRADB_RSEG zip_size 3 0 NO bigint NULL NULL 20 0 NULL NULL NULL bigint(21) unsigned select
##########################################################################
# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
##########################################################################
......@@ -917,4 +930,17 @@ NULL information_schema USER_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL
3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
3.0000 information_schema VIEWS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema VIEWS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema XTRADB_ADMIN_COMMAND result_message varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
3.0000 information_schema XTRADB_INTERNAL_HASH_TABLES INTERNAL_HASH_TABLE_NAME varchar 100 300 utf8 utf8_general_ci varchar(100)
NULL information_schema XTRADB_INTERNAL_HASH_TABLES TOTAL_MEMORY bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema XTRADB_INTERNAL_HASH_TABLES CONSTANT_MEMORY bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema XTRADB_INTERNAL_HASH_TABLES VARIABLE_MEMORY bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema XTRADB_READ_VIEW READ_VIEW_UNDO_NUMBER bigint NULL NULL NULL NULL bigint(21) unsigned
3.0000 information_schema XTRADB_READ_VIEW READ_VIEW_LOW_LIMIT_TRX_NUMBER varchar 18 54 utf8 utf8_general_ci varchar(18)
3.0000 information_schema XTRADB_READ_VIEW READ_VIEW_UPPER_LIMIT_TRX_ID varchar 18 54 utf8 utf8_general_ci varchar(18)
3.0000 information_schema XTRADB_READ_VIEW READ_VIEW_LOW_LIMIT_TRX_ID varchar 18 54 utf8 utf8_general_ci varchar(18)
NULL information_schema XTRADB_RSEG rseg_id bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema XTRADB_RSEG space_id bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema XTRADB_RSEG zip_size bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema XTRADB_RSEG page_no bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema XTRADB_RSEG max_size bigint NULL NULL NULL NULL bigint(21) unsigned
NULL information_schema XTRADB_RSEG curr_size bigint NULL NULL NULL NULL bigint(21) unsigned
......@@ -429,7 +429,6 @@ def information_schema VIEWS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL NULL
def information_schema VIEWS TABLE_NAME 3 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema VIEWS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL NULL utf8 utf8_general_ci varchar(64)
def information_schema VIEWS VIEW_DEFINITION 4 NULL NO longtext 4294967295 4294967295 NULL NULL NULL utf8 utf8_general_ci longtext
def information_schema XTRADB_ADMIN_COMMAND result_message 1 NO varchar 1024 3072 NULL NULL NULL utf8 utf8_general_ci varchar(1024)
##########################################################################
# Show the quotient of CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH
##########################################################################
......@@ -917,4 +916,3 @@ NULL information_schema USER_STATISTICS EMPTY_QUERIES bigint NULL NULL NULL NULL
3.0000 information_schema VIEWS SECURITY_TYPE varchar 7 21 utf8 utf8_general_ci varchar(7)
3.0000 information_schema VIEWS CHARACTER_SET_CLIENT varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema VIEWS COLLATION_CONNECTION varchar 32 96 utf8 utf8_general_ci varchar(32)
3.0000 information_schema XTRADB_ADMIN_COMMAND result_message varchar 1024 3072 utf8 utf8_general_ci varchar(1024)
......@@ -13,12 +13,8 @@
# 2008-06-06 mleich Create this variant for the embedded server
#
--source include/have_xtradb.inc
if (`SELECT VERSION() NOT LIKE '%embedded%'`)
{
--skip Test requires: embedded server
}
--source include/have_innodb.inc
--source include/is_embedded.inc
let $my_where = WHERE table_schema = 'information_schema'
AND table_name <> 'profiling' AND table_name not like 'innodb_%';
......
......@@ -11,6 +11,6 @@
let $engine_type= InnoDB;
--source include/have_innodb.inc
--vertical_results
--replace_regex /XtraDB engine based on InnoDB plugin. //
--replace_regex /Percona-XtraDB, //
eval SELECT * FROM information_schema.engines
WHERE ENGINE = '$engine_type';
drop table if exists t1;
SET @@SESSION.AUTO_INCREMENT_INCREMENT=1, @@SESSION.AUTO_INCREMENT_OFFSET=1;
CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (null);
......@@ -14,14 +13,15 @@ d1
2
INSERT INTO t1 VALUES(null);
ALTER TABLE t1 AUTO_INCREMENT = 3;
affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`d1` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`d1`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
INSERT INTO t1 VALUES(null);
ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
INSERT INTO t1 VALUES(null);
SELECT * FROM t1;
d1
......@@ -29,4 +29,5 @@ d1
2
3
4
5
DROP TABLE t1;
......@@ -967,12 +967,8 @@ ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2);
ERROR HY000: Failed to add the foreign key constaint. Missing index for constraint 'fk_t2_ca' in the referenced table 't1'
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1);
affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0
ALTER TABLE t2 DROP FOREIGN KEY fk_t2_ca;
affected rows: 0
info: Records: 0 Duplicates: 0 Warnings: 0
FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=INPLACE;
ERROR HY000: Failed to add the foreign key constraint on table 't2'. Incorrect options in FOREIGN KEY constraint 'test/fk_t2_ca'
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=COPY;
ERROR HY000: Can't create table `test`.`#sql-temporary` (errno: 150 "Foreign key constraint is incorrectly formed")
......
-- source include/have_innodb.inc
# embedded server ignores 'delayed', so skip this
# embedded server does not support restarting
-- source include/not_embedded.inc
--disable_warnings
drop table if exists t1;
--enable_warnings
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
#
# 44030: Error: (1500) Couldn't read the MAX(ID) autoinc value from
......@@ -31,9 +32,12 @@ INSERT INTO t1 VALUES(null);
# and effectively set AUTO_INCREMENT to 4, because while copying
# it would write values 1,2,3 to the column.
# WL#5534 makes this an in-place ALTER, setting AUTO_INCREMENT=3 for real.
# However, to keep compatibility with ALGORITHM=COPY MySQL 5.6.11 will
# go back to the original behaviour, setting AUTO_INCREMENT to 4.
--enable_info
ALTER TABLE t1 AUTO_INCREMENT = 3;
--disable_info
SHOW CREATE TABLE t1;
-- error ER_DUP_ENTRY
INSERT INTO t1 VALUES(null);
INSERT INTO t1 VALUES(null);
SELECT * FROM t1;
......
-- source include/have_innodb.inc
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
let $innodb_file_format_orig=`select @@innodb_file_format`;
let $innodb_file_format_max_orig=`select @@innodb_file_format_max`;
......@@ -445,10 +450,9 @@ ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c1,c2);
# FIXME (WL#6251 problem): this should fail, like the ALGORITHM=COPY below
--error ER_FK_INCORRECT_OPTION
ALTER TABLE t2 ADD CONSTRAINT fk_t2_ca
FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1);
ALTER TABLE t2 DROP FOREIGN KEY fk_t2_ca;
FOREIGN KEY (c3,c2) REFERENCES t1(c2,c1), ALGORITHM=INPLACE;
# mysqltest first does replace_regex, then replace_result
--replace_regex /#sql-[0-9a-f_]*`/#sql-temporary`/
......
......@@ -120,8 +120,8 @@ Function MATCH ... AGAINST() is used to do a search
Full-text search in MySQL implements vector space model
select * from t1 where MATCH(a,b) AGAINST("+search +(support vector)" IN BOOLEAN MODE);
a b
MySQL has now support for full-text search
Full-text search in MySQL implements vector space model
MySQL has now support for full-text search
select * from t1 where MATCH(a,b) AGAINST("+search -(support vector)" IN BOOLEAN MODE);
a b
Function MATCH ... AGAINST() is used to do a search
......@@ -164,6 +164,7 @@ select * from t1 where MATCH a,b AGAINST ('"text i"' IN BOOLEAN MODE);
a b
select * from t1 where MATCH a,b AGAINST ('"xt indexes"' IN BOOLEAN MODE);
a b
Full-text indexes are called collections
select * from t1 where MATCH a,b AGAINST ('+(support collections) +foobar*' IN BOOLEAN MODE);
a b
select * from t1 where MATCH a,b AGAINST ('+(+(support collections)) +foobar*' IN BOOLEAN MODE);
......@@ -201,6 +202,8 @@ a
aaa10 bbb20
select * from t1 where match a against ("+(+aaa* +bbb1*)" in boolean mode);
a
aaa20 bbb15
aaa30 bbb10
select * from t1 where match a against ("(+aaa* +bbb1*)" in boolean mode);
a
aaa20 bbb15
......@@ -395,6 +398,7 @@ a
testword''
SELECT a FROM t1 WHERE MATCH a AGAINST('testword\'\'' IN BOOLEAN MODE);
a
testword''
INSERT INTO t1 VALUES('test\'s');
SELECT a FROM t1 WHERE MATCH a AGAINST('test' IN BOOLEAN MODE);
a
......@@ -440,7 +444,6 @@ CREATE TABLE t1(a VARCHAR(20), FULLTEXT(a)) ENGINE = InnoDB;
INSERT INTO t1 VALUES('Offside'),('City Of God');
SELECT a FROM t1 WHERE MATCH a AGAINST ('+city of*' IN BOOLEAN MODE);
a
Offside
City Of God
SELECT a FROM t1 WHERE MATCH a AGAINST ('+city (of*)' IN BOOLEAN MODE);
a
......@@ -448,7 +451,6 @@ Offside
City Of God
SELECT a FROM t1 WHERE MATCH a AGAINST ('+city* of*' IN BOOLEAN MODE);
a
Offside
City Of God
DROP TABLE t1;
create table t1(a text,b date,fulltext index(a)) ENGINE = InnoDB;
......
......@@ -239,5 +239,6 @@ CREATE TABLE t1(a VARCHAR(255), FULLTEXT(a)) ENGINE = INNODB DEFAULT CHARSET=utf
INSERT INTO t1 VALUES('„MySQL“');
SELECT a FROM t1 WHERE MATCH a AGAINST('“MySQL„' IN BOOLEAN MODE);
a
„MySQL“
DROP TABLE t1;
SET NAMES latin1;
......@@ -13,7 +13,6 @@ insert t1 values ('aaaaaa cccccc');
select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
b
aaaaaa bbbbbb cccccc
bbbbbb cccccc
aaaaaa cccccc
set ft_boolean_syntax=' +-><()~*:""&|';
ERROR HY000: Variable 'ft_boolean_syntax' is a GLOBAL variable and should be set with SET GLOBAL
......@@ -21,16 +20,14 @@ set global ft_boolean_syntax=' +-><()~*:""&|';
select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
b
aaaaaa bbbbbb cccccc
bbbbbb cccccc
aaaaaa cccccc
set global ft_boolean_syntax='@ -><()~*:""&|';
select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
b
aaaaaa bbbbbb cccccc
bbbbbb cccccc
aaaaaa cccccc
select * from t1 where match b against ('+aaaaaa @bbbbbb' in boolean mode);
b
ERROR 42000: syntax error, unexpected '@', expecting $end
set global ft_boolean_syntax='@ -><()~*:""@|';
ERROR 42000: Variable 'ft_boolean_syntax' can't be set to the value of '@ -><()~*:""@|'
set global ft_boolean_syntax='+ -><()~*:""@!|';
......
......@@ -134,12 +134,33 @@ SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('YourSQL + (+MySQL - (Tricks Security))' IN BOOLEAN MODE);
id title body
5 MySQL vs. YourSQL In the following database comparison ...
1 MySQL Tutorial DBMS stands for DataBase ...
2 How To Use MySQL Well After you went through a ...
3 Optimizing MySQL In this tutorial we will show ...
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('(+MySQL - (Tricks Security)) - YourSQL' IN BOOLEAN MODE);
id title body
1 MySQL Tutorial DBMS stands for DataBase ...
2 How To Use MySQL Well After you went through a ...
3 Optimizing MySQL In this tutorial we will show ...
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - Security&DBMS' IN BOOLEAN MODE);
id title body
2 How To Use MySQL Well After you went through a ...
3 Optimizing MySQL In this tutorial we will show ...
4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
5 MySQL vs. YourSQL In the following database comparison ...
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - (Security DBMS)' IN BOOLEAN MODE);
id title body
2 How To Use MySQL Well After you went through a ...
3 Optimizing MySQL In this tutorial we will show ...
4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
5 MySQL vs. YourSQL In the following database comparison ...
SELECT * FROM articles WHERE MATCH (title,body) AGAINST (' - Security&DBMS + YourSQL' IN BOOLEAN MODE);
id title body
5 MySQL vs. YourSQL In the following database comparison ...
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+YourSQL - Security&DBMS' IN BOOLEAN MODE);
id title body
5 MySQL vs. YourSQL In the following database comparison ...
SELECT COUNT(*) FROM articles
WHERE MATCH (title,body)
AGAINST ('database' WITH QUERY EXPANSION);
......
......@@ -476,6 +476,7 @@ insert into t50 (s2) values ('FGHIJ'),('KLMNO'),('VÐƷWİ'),('ABCD*');
select * from t50 where match(s2) against ('abcd*' in natural language
mode);
id s2
4 ABCD*
select * from t50 where match(s2) against ('abcd*' in boolean mode);
id s2
4 ABCD*
......@@ -659,16 +660,16 @@ Warnings:
Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
INSERT INTO t1 VALUES (1,'ペペペ'),(2,'テテテ'),(3,'ルルル'),(4,'グググ');
DROP TABLE t1;
"----------Test15a--------"
CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_CI) ENGINE = MyISAM;
"----------Test15---------"
CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_520_CI) ENGINE = MyISAM;
CREATE FULLTEXT INDEX i ON t1 (s1);
INSERT INTO t1 VALUES
('a'),('b'),('c'),('d'),('ÓÓÓÓ'),('OOOO'),(NULL),('ÓÓÓÓ ÓÓÓÓ'),('OOOOOOOO');
SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('OOOO' COLLATE UTF8_UNICODE_CI);
('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL');
SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
s1
ÓÓÓÓ
OOOO
ÓÓÓÓ ÓÓÓÓ
ŁŁŁŁ
LLLL
ŁŁŁŁ ŁŁŁŁ
DROP TABLE if EXISTS t2;
Warnings:
Note 1051 Unknown table 'test.t2'
......@@ -677,10 +678,10 @@ CREATE FULLTEXT INDEX i ON t2 ( s1);
Warnings:
Warning 124 InnoDB rebuilding table to add column FTS_DOC_ID
INSERT INTO t2 VALUES
('a'),('b'),('c'),('d'),('ÓÓÓÓ'),('OOOO'),(NULL),('ÓÓÓÓ ÓÓÓÓ'),('OOOOOOOO');
SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('OOOO' COLLATE UTF8_UNICODE_CI);
('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL');
SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
s1
OOOO
LLLL
DROP TABLE t1,t2;
"----------Test16---------"
CREATE TABLE t1 (s1 INT, s2 VARCHAR(50) CHARACTER SET UTF8) ENGINE = InnoDB;
......@@ -1237,3 +1238,192 @@ DROP TABLE `A B`;
CREATE TABLE `t-26`(a VARCHAR(10),FULLTEXT KEY(a)) ENGINE=INNODB;
INSERT INTO `t-26` VALUES('117');
DROP TABLE `t-26`;
CREATE TABLE `t1` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`content` TEXT NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT INDEX `IDX_CONTEXT_FULLTEXT`(`content`)
)
ENGINE = InnoDB;
insert into t1 (content)
values
('This is a story which has has a complicated phrase structure here in the
middle'),
('This is a story which doesn''t have that text'),
('This is a story that has complicated the phrase structure');
select * from t1
where match(content) against('"complicated phrase structure"' in boolean
mode);
id content
1 This is a story which has has a complicated phrase structure here in the
middle
select * from t1
where match(content) against('+"complicated phrase structure"' in boolean
mode);
id content
1 This is a story which has has a complicated phrase structure here in the
middle
select * from t1
where match(content) against('"complicated the phrase structure"' in boolean
mode);
id content
3 This is a story that has complicated the phrase structure
select * from t1 where match(content) against('+"this is a story which" +"complicated the phrase structure"' in boolean mode);
id content
select * from t1 where match(content) against('"the complicated the phrase structure"' in boolean mode);
id content
3 This is a story that has complicated the phrase structure
select * from t1 where match(content) against('"complicated a phrase structure"' in boolean mode);
id content
DROP TABLE t1;
CREATE TABLE my (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
c VARCHAR(32), FULLTEXT(c)) ENGINE = INNODB;
INSERT INTO my (c) VALUES ('green-iguana');
SELECT * FROM my WHERE MATCH(c) AGAINST ('green-iguana');
id c
1 green-iguana
DROP TABLE my;
CREATE TABLE ift (
`a` int(11) NOT NULL,
`b` text,
PRIMARY KEY (`a`),
FULLTEXT KEY `b` (`b`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO ift values (1, "skip");
INSERT INTO ift values (2, "skip and networking");
INSERT INTO ift values (3, "--skip-networking");
INSERT INTO ift values (4, "-donot--skip-networking");
SELECT * FROM ift WHERE MATCH (b) AGAINST ('--skip-networking');
a b
2 skip and networking
3 --skip-networking
4 -donot--skip-networking
1 skip
SELECT * FROM ift WHERE MATCH (b) AGAINST ('skip-networking');
a b
2 skip and networking
3 --skip-networking
4 -donot--skip-networking
1 skip
SELECT * FROM ift WHERE MATCH (b) AGAINST ('----');
a b
SELECT * FROM ift WHERE MATCH (b) AGAINST ('-donot--skip-networking');
a b
4 -donot--skip-networking
2 skip and networking
3 --skip-networking
1 skip
DROP TABLE ift;
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body)
) ENGINE=InnoDB;
INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...') ,
('How To Use MySQL Well','After you went through a ...'),
('Optimizing MySQL','In this tutorial we will show ...'),
('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
('MySQL vs. YourSQL','In the following database comparison ...'),
('( that''s me )','When configured properly, MySQL ...');
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('( yours''s* )' IN BOOLEAN MODE);
id title body
5 MySQL vs. YourSQL In the following database comparison ...
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('s*' IN BOOLEAN MODE);
id title body
1 MySQL Tutorial DBMS stands for DataBase ...
3 Optimizing MySQL In this tutorial we will show ...
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('stands\'] | * | show[@database' IN NATURAL LANGUAGE MODE);
id title body
1 MySQL Tutorial DBMS stands for DataBase ...
3 Optimizing MySQL In this tutorial we will show ...
5 MySQL vs. YourSQL In the following database comparison ...
DROP TABLE articles;
CREATE TABLE t1(a TEXT CHARACTER SET LATIN1, FULLTEXT INDEX(a)) ENGINE=INNODB;
SELECT * FROM t1 WHERE MATCH(a) AGAINST("*");
ERROR 42000: syntax error, unexpected $end, expecting FTS_TERM or FTS_NUMB or '*'
DROP TABLE t1;
CREATE TABLE t1 (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
a VARCHAR(200),
FULLTEXT (a)
) ENGINE= InnoDB;
INSERT INTO t1 (a) VALUES
('Do you know MySQL is a good database'),
('How to build a good database'),
('Do you know'),
('Do you know MySQL'),
('How to use MySQL'),
('Do you feel good'),
('MySQL is good'),
('MySQL is good to know'),
('What is database');
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql"' IN BOOLEAN MODE);
id a
1 Do you know MySQL is a good database
4 Do you know MySQL
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql")' IN BOOLEAN MODE);
id a
1 Do you know MySQL is a good database
4 Do you know MySQL
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('("know mysql" good)' IN BOOLEAN MODE);
id a
1 Do you know MySQL is a good database
4 Do you know MySQL
2 How to build a good database
6 Do you feel good
7 MySQL is good
8 MySQL is good to know
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" good)' IN BOOLEAN MODE);
id a
1 Do you know MySQL is a good database
4 Do you know MySQL
2 How to build a good database
6 Do you feel good
7 MySQL is good
8 MySQL is good to know
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('(good "know mysql")' IN BOOLEAN MODE);
id a
1 Do you know MySQL is a good database
4 Do you know MySQL
2 How to build a good database
6 Do you feel good
7 MySQL is good
8 MySQL is good to know
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+(good "know mysql")' IN BOOLEAN MODE);
id a
1 Do you know MySQL is a good database
4 Do you know MySQL
2 How to build a good database
6 Do you feel good
7 MySQL is good
8 MySQL is good to know
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" "good database")' IN BOOLEAN MODE);
id a
1 Do you know MySQL is a good database
2 How to build a good database
4 Do you know MySQL
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql" +"good database"' IN BOOLEAN MODE);
id a
1 Do you know MySQL is a good database
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@4' IN BOOLEAN MODE);
id a
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@8' IN BOOLEAN MODE);
id a
1 Do you know MySQL is a good database
DROP TABLE t1;
CREATE TABLE t1 (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
a VARCHAR(200),
FULLTEXT (a)
) ENGINE= InnoDB;
INSERT INTO t1 (a) VALUES
('know mysql good database');
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"good database"' IN BOOLEAN MODE);
id a
1 know mysql good database
DROP TABLE t1;
......@@ -485,7 +485,7 @@ select * from t1 where MATCH(a,b) AGAINST("+tutorial +VÐƷWİ" IN BOOLEAN MODE)
id a b
1 MySQL Tutorial DBMS stands for DataBase VÐƷWİ...
select * from t1 where MATCH(a,b) AGAINST("+-VÐƷWİ" IN BOOLEAN MODE);
id a b
ERROR 42000: syntax error, unexpected '-'
select * from t1 where MATCH(a,b) AGAINST("+Mysql +(tricks never)" IN BOOLEAN MODE);
id a b
4 1001 MySQL Tricks 1. Never run mysqld as root. 2. ...
......@@ -669,11 +669,13 @@ SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("+tutorial +(Мога τίποτα)" I
id a b
SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("あさきゆめみじ ゑひもせず");
id a b
7 いろはにほへど ちりぬる あさきゆめみじ ゑひもせず
SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("ちりぬる" WITH QUERY EXPANSION);
id a b
7 いろはにほへど ちりぬる あさきゆめみじ ゑひもせず
SELECT * FROM t1 WHERE MATCH(a,b) AGAINST ("+あさきゆめみじ +ゑひもせず" IN BOOLEAN MODE);
id a b
7 いろはにほへど ちりぬる あさきゆめみじ ゑひもせず
SELECT * FROM t1 WHERE MATCH(a,b) AGAINST("うゐのおく*" IN BOOLEAN MODE);
id a b
6 うゐのおくやま けふこえて
......
......@@ -51,6 +51,7 @@ SELECT * FROM t1
WHERE MATCH (a,b)
AGAINST ('"request docteam@oraclehelp.com"@10' IN BOOLEAN MODE);
id a b
4 MySQL Tutorial request docteam@oraclehelp.com ...
SELECT * FROM t1
WHERE MATCH (a,b)
AGAINST ('"1255 minute"@1' IN BOOLEAN MODE);
......
......@@ -4,6 +4,11 @@
--source include/have_innodb.inc
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
--disable_warnings
drop table if exists t1,t2,t3;
--enable_warnings
......
......@@ -11,6 +11,11 @@
DROP TABLE IF EXISTS t1;
--enable_warnings
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
CREATE TABLE t1 (
i int(10) unsigned not null auto_increment primary key,
a varchar(255) not null,
......
......@@ -7,6 +7,10 @@
drop table if exists t1;
--enable_warnings
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
# Save ft_boolean_syntax variable
let $saved_ft_boolean_syntax=`select @@global.ft_boolean_syntax`;
......@@ -27,6 +31,8 @@ set global ft_boolean_syntax=' +-><()~*:""&|';
select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
set global ft_boolean_syntax='@ -><()~*:""&|';
select * from t1 where match b against ('+aaaaaa bbbbbb' in boolean mode);
--error ER_PARSE_ERROR
select * from t1 where match b against ('+aaaaaa @bbbbbb' in boolean mode);
-- error 1231
set global ft_boolean_syntax='@ -><()~*:""@|';
......
......@@ -2,6 +2,11 @@
-- source include/have_innodb.inc
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
# Create FTS table
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
......@@ -113,6 +118,16 @@ SELECT * FROM articles WHERE MATCH (title,body)
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('(+MySQL - (Tricks Security)) - YourSQL' IN BOOLEAN MODE);
# Test non-word delimiter combined with negate "-" operator
# This should return the same result as 'mysql - (Security DBMS)'
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - Security&DBMS' IN BOOLEAN MODE);
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('mysql - (Security DBMS)' IN BOOLEAN MODE);
# Again, the operator sequence should not matter
SELECT * FROM articles WHERE MATCH (title,body) AGAINST (' - Security&DBMS + YourSQL' IN BOOLEAN MODE);
SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('+YourSQL - Security&DBMS' IN BOOLEAN MODE);
# Test query expansion
SELECT COUNT(*) FROM articles
WHERE MATCH (title,body)
......
......@@ -9,6 +9,11 @@ let collation=UTF8_UNICODE_CI;
drop table if exists t1;
--enable_warnings
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
# Create FTS table
CREATE TABLE t1 (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
......@@ -600,35 +605,18 @@ INSERT INTO t1 VALUES (1,'ペペペ'),(2,'テテテ'),(3,'ルルル'),(4,'ググ
DROP TABLE t1;
# TODO: uncomment this when utf8_unicode_520_ci is merged
#--echo "----------Test15---------"
#CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_520_CI) ENGINE = MyISAM;
#CREATE FULLTEXT INDEX i ON t1 (s1);
#INSERT INTO t1 VALUES
#('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL');
#SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
#DROP TABLE if EXISTS t2;
#CREATE TABLE t2 (s1 VARCHAR(60) CHARACTER SET UTF8 COLLATE UTF8_POLISH_CI) ENGINE = InnoDB;
#CREATE FULLTEXT INDEX i ON t2 ( s1);
#INSERT INTO t2 VALUES
#('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL');
#SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
#--disable_warnings
#DROP TABLE t1,t2;
#--enable_warnings
--echo "----------Test15a--------"
CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_CI) ENGINE = MyISAM;
--echo "----------Test15---------"
CREATE TABLE t1 (s1 VARCHAR (60) CHARACTER SET UTF8 COLLATE UTF8_UNICODE_520_CI) ENGINE = MyISAM;
CREATE FULLTEXT INDEX i ON t1 (s1);
INSERT INTO t1 VALUES
('a'),('b'),('c'),('d'),('ÓÓÓÓ'),('OOOO'),(NULL),('ÓÓÓÓ ÓÓÓÓ'),('OOOOOOOO');
SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('OOOO' COLLATE UTF8_UNICODE_CI);
('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL');
SELECT * FROM t1 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
DROP TABLE if EXISTS t2;
CREATE TABLE t2 (s1 VARCHAR(60) CHARACTER SET UTF8 COLLATE UTF8_POLISH_CI) ENGINE = InnoDB;
CREATE FULLTEXT INDEX i ON t2 ( s1);
INSERT INTO t2 VALUES
('a'),('b'),('c'),('d'),('ÓÓÓÓ'),('OOOO'),(NULL),('ÓÓÓÓ ÓÓÓÓ'),('OOOOOOOO');
SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('OOOO' COLLATE UTF8_UNICODE_CI);
('a'),('b'),('c'),('d'),('ŁŁŁŁ'),('LLLL'),(NULL),('ŁŁŁŁ ŁŁŁŁ'),('LLLLLLLL');
SELECT * FROM t2 WHERE MATCH(s1) AGAINST ('LLLL' COLLATE UTF8_UNICODE_520_CI);
--disable_warnings
DROP TABLE t1,t2;
--enable_warnings
......@@ -1179,3 +1167,170 @@ DROP TABLE `A B`;
CREATE TABLE `t-26`(a VARCHAR(10),FULLTEXT KEY(a)) ENGINE=INNODB;
INSERT INTO `t-26` VALUES('117');
DROP TABLE `t-26`;
# Test on phrase search with stopwords contained in the search string
CREATE TABLE `t1` (
`id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`content` TEXT NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT INDEX `IDX_CONTEXT_FULLTEXT`(`content`)
)
ENGINE = InnoDB;
insert into t1 (content)
values
('This is a story which has has a complicated phrase structure here in the
middle'),
('This is a story which doesn''t have that text'),
('This is a story that has complicated the phrase structure');
select * from t1
where match(content) against('"complicated phrase structure"' in boolean
mode);
# Test single phrase search with "+" symbol, one row should be returned
select * from t1
where match(content) against('+"complicated phrase structure"' in boolean
mode);
# Test phrase search with stopwords in between, one row should be returned
select * from t1
where match(content) against('"complicated the phrase structure"' in boolean
mode);
# Test phrase search with multiple "+" symbols
select * from t1 where match(content) against('+"this is a story which" +"complicated the phrase structure"' in boolean mode);
# Test phrase search with leading word is a stopword, such stopword would be
# ignored
select * from t1 where match(content) against('"the complicated the phrase structure"' in boolean mode);
# Test phrase search with non-matching stopword in between, no row should be
# returned
select * from t1 where match(content) against('"complicated a phrase structure"' in boolean mode);
DROP TABLE t1;
CREATE TABLE my (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
c VARCHAR(32), FULLTEXT(c)) ENGINE = INNODB;
INSERT INTO my (c) VALUES ('green-iguana');
SELECT * FROM my WHERE MATCH(c) AGAINST ('green-iguana');
DROP TABLE my;
CREATE TABLE ift (
`a` int(11) NOT NULL,
`b` text,
PRIMARY KEY (`a`),
FULLTEXT KEY `b` (`b`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO ift values (1, "skip");
INSERT INTO ift values (2, "skip and networking");
INSERT INTO ift values (3, "--skip-networking");
INSERT INTO ift values (4, "-donot--skip-networking");
SELECT * FROM ift WHERE MATCH (b) AGAINST ('--skip-networking');
SELECT * FROM ift WHERE MATCH (b) AGAINST ('skip-networking');
SELECT * FROM ift WHERE MATCH (b) AGAINST ('----');
SELECT * FROM ift WHERE MATCH (b) AGAINST ('-donot--skip-networking');
DROP TABLE ift;
# Test special cases of wildword.
# Create FTS table
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
body TEXT,
FULLTEXT (title,body)
) ENGINE=InnoDB;
# Insert six rows
INSERT INTO articles (title,body) VALUES
('MySQL Tutorial','DBMS stands for DataBase ...') ,
('How To Use MySQL Well','After you went through a ...'),
('Optimizing MySQL','In this tutorial we will show ...'),
('1001 MySQL Tricks','1. Never run mysqld as root. 2. ...'),
('MySQL vs. YourSQL','In the following database comparison ...'),
('( that''s me )','When configured properly, MySQL ...');
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('( yours''s* )' IN BOOLEAN MODE);
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('s*' IN BOOLEAN MODE);
SELECT * FROM articles WHERE MATCH (title,body)
AGAINST ('stands\'] | * | show[@database' IN NATURAL LANGUAGE MODE);
DROP TABLE articles;
# Test for BUG#16429688 - FTS: SYNTAX ERROR, UNEXPECTED '*', EXPECTING $END
CREATE TABLE t1(a TEXT CHARACTER SET LATIN1, FULLTEXT INDEX(a)) ENGINE=INNODB;
--error ER_PARSE_ERROR
SELECT * FROM t1 WHERE MATCH(a) AGAINST("*");
DROP TABLE t1;
# Test for BUG#16516193 - LITERAL PHRASES CANNOT BE COMBINED WITH + OR - OPERATOR
# Create FTS table
CREATE TABLE t1 (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
a VARCHAR(200),
FULLTEXT (a)
) ENGINE= InnoDB;
# Insert rows
INSERT INTO t1 (a) VALUES
('Do you know MySQL is a good database'),
('How to build a good database'),
('Do you know'),
('Do you know MySQL'),
('How to use MySQL'),
('Do you feel good'),
('MySQL is good'),
('MySQL is good to know'),
('What is database');
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql"' IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql")' IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('("know mysql" good)' IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" good)' IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('(good "know mysql")' IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+(good "know mysql")' IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+("know mysql" "good database")' IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know mysql" +"good database"' IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@4' IN BOOLEAN MODE);
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"know database"@8' IN BOOLEAN MODE);
# Drop table
DROP TABLE t1;
# Test for BUG#16885178 - INNODB FULLTEXT PHRASE SEARCH VALGRIND ERROR
CREATE TABLE t1 (
id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
a VARCHAR(200),
FULLTEXT (a)
) ENGINE= InnoDB;
# Insert a special row
INSERT INTO t1 (a) VALUES
('know mysql good database');
# This phrase search fails in valgrind test before the fix.
SELECT * FROM t1 WHERE MATCH (a) AGAINST ('+"good database"' IN BOOLEAN MODE);
DROP TABLE t1;
......@@ -3,6 +3,11 @@
#-------------------------------------------------------------------------------
--source include/have_innodb.inc
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
--disable_warnings
drop table if exists t2,t1;
--enable_warnings
......@@ -475,6 +480,7 @@ SELECT * FROM t1 WHERE MATCH (a,b)
# boolean mode
select * from t1 where MATCH(a,b) AGAINST("+tutorial +VÐƷWİ" IN BOOLEAN MODE);
--error ER_PARSE_ERROR
select * from t1 where MATCH(a,b) AGAINST("+-VÐƷWİ" IN BOOLEAN MODE);
select * from t1 where MATCH(a,b) AGAINST("+Mysql +(tricks never)" IN BOOLEAN MODE);
select * from t1 where MATCH(a,b) AGAINST("+mysql -(tricks never)" IN BOOLEAN MODE);
......
......@@ -3,6 +3,11 @@
# and try search default words
--source include/have_innodb.inc
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
--disable_warnings
drop table if exists t1;
--enable_warnings
......
DROP TABLE IF EXISTS t1;
SET GLOBAL innodb_file_per_table=ON;
SHOW VARIABLES LIKE 'innodb_lazy_drop_table';
Variable_name Value
innodb_lazy_drop_table 0
SET GLOBAL innodb_lazy_drop_table=1;
SHOW VARIABLES LIKE 'innodb_lazy_drop_table';
Variable_name Value
innodb_lazy_drop_table 1
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
DROP TABLE t1;
SET GLOBAL innodb_lazy_drop_table=default;
SET GLOBAL innodb_file_per_table=default;
# Test for 'innodb_lazy_drop_table' variable
--source include/have_xtradb.inc
--disable_warnings
DROP TABLE IF EXISTS t1;
--enable_warnings
SET GLOBAL innodb_file_per_table=ON;
SHOW VARIABLES LIKE 'innodb_lazy_drop_table';
SET GLOBAL innodb_lazy_drop_table=1;
SHOW VARIABLES LIKE 'innodb_lazy_drop_table';
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
DROP TABLE t1;
SET GLOBAL innodb_lazy_drop_table=default;
SET GLOBAL innodb_file_per_table=default;
drop table if exists t1;
Warnings:
Note 1051 Unknown table 't1'
Note 1051 Unknown table 'test.t1'
select @@version_comment limit 1 ;
@@version_comment
Source distribution
......
show variables like 'innodb_doublewrite%';
Variable_name Value
innodb_doublewrite ON
innodb_doublewrite_file ib_doublewrite
--source include/have_xtradb.inc
show variables like 'innodb_doublewrite%';
......@@ -45,7 +45,7 @@ BEGIN;
CREATE TABLE t2 (a INT) ENGINE=InnoDB;
ERROR HY000: Can't create table `test`.`t2` (errno: 131 "Command not supported by database")
DROP TABLE t1;
ERROR 42S02: Unknown table 't1'
ERROR 42S02: Unknown table 'test.t1'
TRUNCATE TABLE t1;
ERROR HY000: Got error 131 "Command not supported by database" during COMMIT
ALTER TABLE t1 ENGINE=MyISAM;
......
show variables like 'innodb_use_sys_stats%';
Variable_name Value
innodb_use_sys_stats_table ON
--source include/have_xtradb.inc
show variables like 'innodb_use_sys_stats%';
select * from information_schema.XTRADB_ADMIN_COMMAND;
result_message
No XTRA_* command in the SQL statement. Please add /*!XTRA_xxxx*/ to the SQL.
select * from information_schema.XTRADB_ADMIN_COMMAND /*!XTRA_HELLO*/;
result_message
Hello!
--source include/have_xtradb.inc
select * from information_schema.XTRADB_ADMIN_COMMAND;
select * from information_schema.XTRADB_ADMIN_COMMAND /*!XTRA_HELLO*/;
--plugin-load=$HA_CASSANDRA_SO --loose-cassandra=on
--plugin-load-add=$HA_CASSANDRA_SO --loose-cassandra=on
--plugin-load=$HA_CASSANDRA_SO --loose-cassandra=on
--plugin-load-add=$HA_CASSANDRA_SO --loose-cassandra=on
--loose-locale
--plugin-load=$LOCALES_SO
--plugin-load-add=$LOCALES_SO
--loose-query_cache_info
--plugin-load=$QUERY_CACHE_INFO_SO
--plugin-load-add=$QUERY_CACHE_INFO_SO
......@@ -315,7 +315,7 @@ CREATE TABLE `t``1` ( `a``` INT PRIMARY KEY) ENGINE=innodb;
CREATE TABLE `t``2` ( `b``` INT PRIMARY KEY, `c``` INT NOT NULL,
FOREIGN KEY fk (`c```) REFERENCES `t``1`(`a```)) ENGINE=innodb;
TRUNCATE `t``1`;
ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`db1``; select 'oops!'`.`t``2`, CONSTRAINT `t@00602_ibfk_1` FOREIGN KEY (`c```) REFERENCES `db1``; select 'oops!'`.`t``1` (`a```))
ERROR 42000: Cannot truncate a table referenced in a foreign key constraint (`db1``; select 'oops!'`.`t``2`, CONSTRAINT `t``2_ibfk_1` FOREIGN KEY (`c```) REFERENCES `db1``; select 'oops!'`.`t``1` (`a```))
DROP TABLE `t``2`;
DROP TABLE `t``1`;
*** Test correct quoting of DELETE FROM statement binlogged for HEAP table that is emptied due to server restart
......
......@@ -2,6 +2,11 @@
--source include/have_binlog_format_statement.inc
--source include/master-slave.inc
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in InnoDB 5.6.10 or earlier
}
# MDEV-382: multiple SQL injections in replication code.
# Test previous SQL injection attack against binlog for SAVEPOINT statement.
......
SET @start_value = @@GLOBAL.innodb_cleaner_eviction_factor;
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
@@GLOBAL.innodb_cleaner_eviction_factor
0
SELECT @@SESSION.innodb_cleaner_eviction_factor;
ERROR HY000: Variable 'innodb_cleaner_eviction_factor' is a GLOBAL variable
SET GLOBAL innodb_cleaner_eviction_factor='OFF';
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
@@GLOBAL.innodb_cleaner_eviction_factor
0
SET GLOBAL innodb_cleaner_eviction_factor='ON';
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
@@GLOBAL.innodb_cleaner_eviction_factor
1
SET GLOBAL innodb_cleaner_eviction_factor=0;
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
@@GLOBAL.innodb_cleaner_eviction_factor
0
SET GLOBAL innodb_cleaner_eviction_factor=1;
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
@@GLOBAL.innodb_cleaner_eviction_factor
1
SET GLOBAL innodb_cleaner_eviction_factor=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_eviction_factor'
SET GLOBAL innodb_cleaner_eviction_factor=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_eviction_factor'
SET GLOBAL innodb_cleaner_eviction_factor=2;
ERROR 42000: Variable 'innodb_cleaner_eviction_factor' can't be set to the value of '2'
SET GLOBAL innodb_cleaner_eviction_factor='foo';
ERROR 42000: Variable 'innodb_cleaner_eviction_factor' can't be set to the value of 'foo'
SET GLOBAL innodb_cleaner_eviction_factor = @start_value;
SET @start_value = @@GLOBAL.innodb_cleaner_flush_chunk_size;
SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
@@GLOBAL.innodb_cleaner_flush_chunk_size
100
SELECT @@SESSION.innodb_cleaner_flush_chunk_size;
ERROR HY000: Variable 'innodb_cleaner_flush_chunk_size' is a GLOBAL variable
SET GLOBAL innodb_cleaner_flush_chunk_size=1;
SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
@@GLOBAL.innodb_cleaner_flush_chunk_size
1
SET GLOBAL innodb_cleaner_flush_chunk_size=1000;
SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
@@GLOBAL.innodb_cleaner_flush_chunk_size
1000
SET GLOBAL innodb_cleaner_flush_chunk_size=4294967295;
SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
@@GLOBAL.innodb_cleaner_flush_chunk_size
4294967295
SET GLOBAL innodb_cleaner_flush_chunk_size=0;
Warnings:
Warning 1292 Truncated incorrect innodb_cleaner_flush_chunk_size value: '0'
SELECT @@GLOBAL.innodb_cleaner_flush_chunk_size;
@@GLOBAL.innodb_cleaner_flush_chunk_size
1
SET GLOBAL innodb_cleaner_flush_chunk_size=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_flush_chunk_size'
SET GLOBAL innodb_cleaner_flush_chunk_size=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_flush_chunk_size'
SET GLOBAL innodb_cleaner_flush_chunk_size='foo';
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_flush_chunk_size'
SET GLOBAL innodb_cleaner_flush_chunk_size = @start_value;
SET @start_value = @@GLOBAL.innodb_cleaner_free_list_lwm;
SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
@@GLOBAL.innodb_cleaner_free_list_lwm
10
SELECT @@SESSION.innodb_cleaner_free_list_lwm;
ERROR HY000: Variable 'innodb_cleaner_free_list_lwm' is a GLOBAL variable
SET GLOBAL innodb_cleaner_free_list_lwm=0;
SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
@@GLOBAL.innodb_cleaner_free_list_lwm
0
SET GLOBAL innodb_cleaner_free_list_lwm=1;
SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
@@GLOBAL.innodb_cleaner_free_list_lwm
1
SET GLOBAL innodb_cleaner_free_list_lwm=99;
SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
@@GLOBAL.innodb_cleaner_free_list_lwm
99
SET GLOBAL innodb_cleaner_free_list_lwm=100;
SELECT @@GLOBAL.innodb_cleaner_free_list_lwm;
@@GLOBAL.innodb_cleaner_free_list_lwm
100
SET GLOBAL innodb_cleaner_free_list_lwm=101;
Warnings:
Warning 1292 Truncated incorrect innodb_cleaner_free_list_lwm value: '101'
SELECT @@innodb_cleaner_free_list_lwm;
@@innodb_cleaner_free_list_lwm
100
SET GLOBAL innodb_cleaner_free_list_lwm=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_free_list_lwm'
SET GLOBAL innodb_cleaner_free_list_lwm=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_free_list_lwm'
SET GLOBAL innodb_cleaner_free_list_lwm='foo';
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_free_list_lwm'
SET GLOBAL innodb_cleaner_free_list_lwm = @start_value;
SET @start_value = @@GLOBAL.innodb_cleaner_lru_chunk_size;
SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
@@GLOBAL.innodb_cleaner_lru_chunk_size
100
SELECT @@SESSION.innodb_cleaner_lru_chunk_size;
ERROR HY000: Variable 'innodb_cleaner_lru_chunk_size' is a GLOBAL variable
SET GLOBAL innodb_cleaner_lru_chunk_size=1;
SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
@@GLOBAL.innodb_cleaner_lru_chunk_size
1
SET GLOBAL innodb_cleaner_lru_chunk_size=1000;
SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
@@GLOBAL.innodb_cleaner_lru_chunk_size
1000
SET GLOBAL innodb_cleaner_lru_chunk_size=4294967295;
SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
@@GLOBAL.innodb_cleaner_lru_chunk_size
4294967295
SET GLOBAL innodb_cleaner_lru_chunk_size=0;
Warnings:
Warning 1292 Truncated incorrect innodb_cleaner_lru_chunk_size value: '0'
SELECT @@GLOBAL.innodb_cleaner_lru_chunk_size;
@@GLOBAL.innodb_cleaner_lru_chunk_size
1
SET GLOBAL innodb_cleaner_lru_chunk_size=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lru_chunk_size'
SET GLOBAL innodb_cleaner_lru_chunk_size=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lru_chunk_size'
SET GLOBAL innodb_cleaner_lru_chunk_size='foo';
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lru_chunk_size'
SET GLOBAL innodb_cleaner_lru_chunk_size = @start_value;
SET @start_value = @@GLOBAL.innodb_cleaner_lsn_age_factor;
SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
@@GLOBAL.innodb_cleaner_lsn_age_factor
high_checkpoint
SELECT @@SESSION.innodb_cleaner_lsn_age_factor;
ERROR HY000: Variable 'innodb_cleaner_lsn_age_factor' is a GLOBAL variable
SET GLOBAL innodb_cleaner_lsn_age_factor='legacy';
SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
@@GLOBAL.innodb_cleaner_lsn_age_factor
legacy
SET GLOBAL innodb_cleaner_lsn_age_factor='high_checkpoint';
SELECT @@GLOBAL.innodb_cleaner_lsn_age_factor;
@@GLOBAL.innodb_cleaner_lsn_age_factor
high_checkpoint
SET GLOBAL innodb_cleaner_lsn_age_factor=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lsn_age_factor'
SET GLOBAL innodb_cleaner_lsn_age_factor=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_lsn_age_factor'
SET GLOBAL innodb_cleaner_lsn_age_factor='foo';
ERROR 42000: Variable 'innodb_cleaner_lsn_age_factor' can't be set to the value of 'foo'
SET GLOBAL innodb_cleaner_lsn_age_factor = @start_value;
SET @start_value = @@GLOBAL.innodb_cleaner_max_flush_time;
SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
@@GLOBAL.innodb_cleaner_max_flush_time
1000
SELECT @@SESSION.innodb_cleaner_max_flush_time;
ERROR HY000: Variable 'innodb_cleaner_max_flush_time' is a GLOBAL variable
SET GLOBAL innodb_cleaner_max_flush_time=0;
SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
@@GLOBAL.innodb_cleaner_max_flush_time
0
SET GLOBAL innodb_cleaner_max_flush_time=1000;
SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
@@GLOBAL.innodb_cleaner_max_flush_time
1000
SET GLOBAL innodb_cleaner_max_flush_time=4294967295;
SELECT @@GLOBAL.innodb_cleaner_max_flush_time;
@@GLOBAL.innodb_cleaner_max_flush_time
4294967295
SET GLOBAL innodb_cleaner_max_flush_time=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_flush_time'
SET GLOBAL innodb_cleaner_max_flush_time=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_flush_time'
SET GLOBAL innodb_cleaner_max_flush_time='foo';
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_flush_time'
SET GLOBAL innodb_cleaner_max_flush_time = @start_value;
SET @start_value = @@GLOBAL.innodb_cleaner_max_lru_time;
SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
@@GLOBAL.innodb_cleaner_max_lru_time
1000
SELECT @@SESSION.innodb_cleaner_max_lru_time;
ERROR HY000: Variable 'innodb_cleaner_max_lru_time' is a GLOBAL variable
SET GLOBAL innodb_cleaner_max_lru_time=0;
SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
@@GLOBAL.innodb_cleaner_max_lru_time
0
SET GLOBAL innodb_cleaner_max_lru_time=1000;
SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
@@GLOBAL.innodb_cleaner_max_lru_time
1000
SET GLOBAL innodb_cleaner_max_lru_time=4294967295;
SELECT @@GLOBAL.innodb_cleaner_max_lru_time;
@@GLOBAL.innodb_cleaner_max_lru_time
4294967295
SET GLOBAL innodb_cleaner_max_lru_time=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_lru_time'
SET GLOBAL innodb_cleaner_max_lru_time=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_lru_time'
SET GLOBAL innodb_cleaner_max_lru_time='foo';
ERROR 42000: Incorrect argument type to variable 'innodb_cleaner_max_lru_time'
SET GLOBAL innodb_cleaner_max_lru_time = @start_value;
SET @start_value = @@GLOBAL.innodb_empty_free_list_algorithm;
SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
@@GLOBAL.innodb_empty_free_list_algorithm
backoff
SELECT @@SESSION.innodb_empty_free_list_algorithm;
ERROR HY000: Variable 'innodb_empty_free_list_algorithm' is a GLOBAL variable
SET GLOBAL innodb_empty_free_list_algorithm='legacy';
SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
@@GLOBAL.innodb_empty_free_list_algorithm
legacy
SET GLOBAL innodb_empty_free_list_algorithm='backoff';
SELECT @@GLOBAL.innodb_empty_free_list_algorithm;
@@GLOBAL.innodb_empty_free_list_algorithm
backoff
SET GLOBAL innodb_empty_free_list_algorithm=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_empty_free_list_algorithm'
SET GLOBAL innodb_empty_free_list_algorithm=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_empty_free_list_algorithm'
SET GLOBAL innodb_empty_free_list_algorithm=2;
ERROR 42000: Variable 'innodb_empty_free_list_algorithm' can't be set to the value of '2'
SET GLOBAL innodb_empty_free_list_algorithm='foo';
ERROR 42000: Variable 'innodb_empty_free_list_algorithm' can't be set to the value of 'foo'
SET GLOBAL innodb_empty_free_list_algorithm = @start_value;
SET @start_value = @@GLOBAL.innodb_foreground_preflush;
SELECT @@GLOBAL.innodb_foreground_preflush;
@@GLOBAL.innodb_foreground_preflush
exponential_backoff
SELECT @@SESSION.innodb_foreground_preflush;
ERROR HY000: Variable 'innodb_foreground_preflush' is a GLOBAL variable
SET GLOBAL innodb_foreground_preflush='sync_preflush';
SELECT @@GLOBAL.innodb_foreground_preflush;
@@GLOBAL.innodb_foreground_preflush
sync_preflush
SET GLOBAL innodb_foreground_preflush='exponential_backoff';
SELECT @@GLOBAL.innodb_foreground_preflush;
@@GLOBAL.innodb_foreground_preflush
exponential_backoff
SET GLOBAL innodb_foreground_preflush=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_foreground_preflush'
SET GLOBAL innodb_foreground_preflush=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_foreground_preflush'
SET GLOBAL innodb_foreground_preflush=2;
ERROR 42000: Variable 'innodb_foreground_preflush' can't be set to the value of '2'
SET GLOBAL innodb_foreground_preflush='foo';
ERROR 42000: Variable 'innodb_foreground_preflush' can't be set to the value of 'foo'
SET GLOBAL innodb_foreground_preflush = @start_value;
select @@global.innodb_ft_result_cache_limit;
@@global.innodb_ft_result_cache_limit
2000000000
select @@session.innodb_ft_result_cache_limit;
ERROR HY000: Variable 'innodb_ft_result_cache_limit' is a GLOBAL variable
show global variables like 'innodb_ft_result_cache_limit';
Variable_name Value
innodb_ft_result_cache_limit 2000000000
show session variables like 'innodb_ft_result_cache_limit';
Variable_name Value
innodb_ft_result_cache_limit 2000000000
select * from information_schema.global_variables where variable_name='innodb_ft_result_cache_limit';
VARIABLE_NAME VARIABLE_VALUE
INNODB_FT_RESULT_CACHE_LIMIT 2000000000
select * from information_schema.session_variables where variable_name='innodb_ft_result_cache_limit';
VARIABLE_NAME VARIABLE_VALUE
INNODB_FT_RESULT_CACHE_LIMIT 2000000000
set global innodb_ft_result_cache_limit=900000;
Warnings:
Warning 1292 Truncated incorrect innodb_ft_result_cache_limit value: '900000'
select @@innodb_ft_result_cache_limit;
@@innodb_ft_result_cache_limit
1000000
set global innodb_ft_result_cache_limit=1000000;
select @@innodb_ft_result_cache_limit;
@@innodb_ft_result_cache_limit
1000000
set global innodb_ft_result_cache_limit=4000000000;
select @@innodb_ft_result_cache_limit;
@@innodb_ft_result_cache_limit
4000000000
set global innodb_ft_result_cache_limit=2000000000;
select @@global.innodb_ft_total_cache_size;
@@global.innodb_ft_total_cache_size
640000000
select @@session.innodb_ft_total_cache_size;
ERROR HY000: Variable 'innodb_ft_total_cache_size' is a GLOBAL variable
show global variables like 'innodb_ft_total_cache_size';
Variable_name Value
innodb_ft_total_cache_size 640000000
show session variables like 'innodb_ft_total_cache_size';
Variable_name Value
innodb_ft_total_cache_size 640000000
select * from information_schema.global_variables where variable_name='innodb_ft_total_cache_size';
VARIABLE_NAME VARIABLE_VALUE
INNODB_FT_TOTAL_CACHE_SIZE 640000000
select * from information_schema.session_variables where variable_name='innodb_ft_total_cache_size';
VARIABLE_NAME VARIABLE_VALUE
INNODB_FT_TOTAL_CACHE_SIZE 640000000
set global innodb_ft_total_cache_size=1;
ERROR HY000: Variable 'innodb_ft_total_cache_size' is a read only variable
set session innodb_ft_total_cache_size=1;
ERROR HY000: Variable 'innodb_ft_total_cache_size' is a read only variable
SELECT @@GLOBAL.innodb_log_arch_dir;
@@GLOBAL.innodb_log_arch_dir
./
NULL Expected
SET @@GLOBAL.innodb_log_arch_dir=1;
ERROR HY000: Variable 'innodb_log_arch_dir' is a read only variable
Expected error 'Read only variable'
SELECT @@GLOBAL.innodb_log_arch_dir;
@@GLOBAL.innodb_log_arch_dir
./
NULL Expected
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_arch_dir';
VARIABLE_VALUE
./
empty string Expected
SELECT @@innodb_log_arch_dir;
@@innodb_log_arch_dir
./
NULL Expected
SELECT @@innodb_log_arch_dir;
@@innodb_log_arch_dir
./
NULL Expected
SELECT @@local.innodb_log_arch_dir;
ERROR HY000: Variable 'innodb_log_arch_dir' is a GLOBAL variable
Expected error 'Variable is a GLOBAL variable'
SELECT @@SESSION.innodb_log_arch_dir;
ERROR HY000: Variable 'innodb_log_arch_dir' is a GLOBAL variable
Expected error 'Variable is a GLOBAL variable'
SELECT @@GLOBAL.innodb_log_arch_dir;
@@GLOBAL.innodb_log_arch_dir
./
NULL Expected
SELECT innodb_log_arch_dir = @@SESSION.innodb_log_arch_dir;
ERROR 42S22: Unknown column 'innodb_log_arch_dir' in 'field list'
Expected error Unknown column 'innodb_log_arch_dir' in 'field list'
SELECT @@GLOBAL.innodb_log_arch_expire_sec INTO @save;
SELECT @@GLOBAL.innodb_log_arch_expire_sec;
@@GLOBAL.innodb_log_arch_expire_sec
0
0 Expected
SET @@GLOBAL.innodb_log_arch_expire_sec=1;
SELECT @@GLOBAL.innodb_log_arch_expire_sec;
@@GLOBAL.innodb_log_arch_expire_sec
1
1 Expected
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_arch_expire_sec';
VARIABLE_VALUE
1
1 Expected
SELECT @@innodb_log_arch_expire_sec;
@@innodb_log_arch_expire_sec
1
1 Expected
SELECT @@innodb_log_arch_expire_sec;
@@innodb_log_arch_expire_sec
1
1 Expected
SELECT @@local.innodb_log_arch_expire_sec;
ERROR HY000: Variable 'innodb_log_arch_expire_sec' is a GLOBAL variable
Expected error 'Variable is a GLOBAL variable'
SELECT @@SESSION.innodb_log_arch_expire_sec;
ERROR HY000: Variable 'innodb_log_arch_expire_sec' is a GLOBAL variable
Expected error 'Variable is a GLOBAL variable'
SELECT @@GLOBAL.innodb_log_arch_expire_sec;
@@GLOBAL.innodb_log_arch_expire_sec
1
1 Expected
SELECT innodb_log_arch_expire_sec = @@SESSION.innodb_log_arch_expire_sec;
ERROR 42S22: Unknown column 'innodb_log_arch_expire_sec' in 'field list'
Expected error Unknown column 'innodb_log_arch_expire_sec' in 'field list'
SET @@GLOBAL.innodb_log_arch_expire_sec = @save;
SELECT @@GLOBAL.innodb_log_archive;
@@GLOBAL.innodb_log_archive
0
0 Expected
SET @save_innodb_log_archive = @@GLOBAL.innodb_log_archive;
SET @@GLOBAL.innodb_log_archive=1;
SELECT @@GLOBAL.innodb_log_archive;
@@GLOBAL.innodb_log_archive
1
1 Expected
SELECT VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_archive';
VARIABLE_VALUE
ON
ON Expected
SET @@GLOBAL.innodb_log_archive = @save_innodb_log_archive;
SELECT @@innodb_log_archive;
@@innodb_log_archive
0
0 Expected
SELECT @@innodb_log_archive;
@@innodb_log_archive
0
0 Expected
SELECT @@local.innodb_log_archive;
ERROR HY000: Variable 'innodb_log_archive' is a GLOBAL variable
Expected error 'Variable is a GLOBAL variable'
SELECT @@SESSION.innodb_log_archive;
ERROR HY000: Variable 'innodb_log_archive' is a GLOBAL variable
Expected error 'Variable is a GLOBAL variable'
SELECT @@GLOBAL.innodb_log_archive;
@@GLOBAL.innodb_log_archive
0
0 Expected
SELECT innodb_log_archive = @@SESSION.innodb_log_archive;
ERROR 42S22: Unknown column 'innodb_log_archive' in 'field list'
Expected error Unknown column 'innodb_log_archive' in 'field list'
SET @orig = @@global.innodb_log_checksum_algorithm;
SELECT @orig;
@orig
innodb
SET GLOBAL innodb_log_checksum_algorithm = 'crc32';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
crc32
SET GLOBAL innodb_log_checksum_algorithm = 'strict_crc32';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_crc32
SET GLOBAL innodb_log_checksum_algorithm = 'innodb';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
innodb
SET GLOBAL innodb_log_checksum_algorithm = 'strict_innodb';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_innodb
SET GLOBAL innodb_log_checksum_algorithm = 'none';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
none
SET GLOBAL innodb_log_checksum_algorithm = 'strict_none';
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_none
SET GLOBAL innodb_log_checksum_algorithm = '';
ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of ''
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_none
SET GLOBAL innodb_log_checksum_algorithm = 'foobar';
ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of 'foobar'
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_none
SET GLOBAL innodb_log_checksum_algorithm = 123;
ERROR 42000: Variable 'innodb_log_checksum_algorithm' can't be set to the value of '123'
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
strict_none
SET GLOBAL innodb_log_checksum_algorithm = @orig;
SELECT @@global.innodb_log_checksum_algorithm;
@@global.innodb_log_checksum_algorithm
innodb
SET @start_global_value = @@global.innodb_log_compressed_pages;
SELECT @start_global_value;
@start_global_value
1
'#---------------------BS_STVARS_028_01----------------------#'
SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
COUNT(@@GLOBAL.innodb_log_compressed_pages)
1
1 Expected
'#---------------------BS_STVARS_028_02----------------------#'
SET @@global.innodb_log_compressed_pages = 0;
SELECT @@global.innodb_log_compressed_pages;
@@global.innodb_log_compressed_pages
0
SET @@global.innodb_log_compressed_pages ='On' ;
SELECT @@global.innodb_log_compressed_pages;
@@global.innodb_log_compressed_pages
1
SET @@global.innodb_log_compressed_pages ='Off' ;
SELECT @@global.innodb_log_compressed_pages;
@@global.innodb_log_compressed_pages
0
SET @@global.innodb_log_compressed_pages = 1;
SELECT @@global.innodb_log_compressed_pages;
@@global.innodb_log_compressed_pages
1
'#---------------------BS_STVARS_028_03----------------------#'
SELECT IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_compressed_pages';
IF(@@GLOBAL.innodb_log_compressed_pages,'ON','OFF') = VARIABLE_VALUE
1
1 Expected
SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
COUNT(@@GLOBAL.innodb_log_compressed_pages)
1
1 Expected
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_log_compressed_pages';
COUNT(VARIABLE_VALUE)
1
1 Expected
'#---------------------BS_STVARS_028_04----------------------#'
SELECT @@innodb_log_compressed_pages = @@GLOBAL.innodb_log_compressed_pages;
@@innodb_log_compressed_pages = @@GLOBAL.innodb_log_compressed_pages
1
1 Expected
'#---------------------BS_STVARS_028_05----------------------#'
SELECT COUNT(@@innodb_log_compressed_pages);
COUNT(@@innodb_log_compressed_pages)
1
1 Expected
SELECT COUNT(@@local.innodb_log_compressed_pages);
ERROR HY000: Variable 'innodb_log_compressed_pages' is a GLOBAL variable
Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@SESSION.innodb_log_compressed_pages);
ERROR HY000: Variable 'innodb_log_compressed_pages' is a GLOBAL variable
Expected error 'Variable is a GLOBAL variable'
SELECT COUNT(@@GLOBAL.innodb_log_compressed_pages);
COUNT(@@GLOBAL.innodb_log_compressed_pages)
1
1 Expected
SELECT innodb_log_compressed_pages = @@SESSION.innodb_log_compressed_pages;
ERROR 42S22: Unknown column 'innodb_log_compressed_pages' in 'field list'
SET @@global.innodb_log_compressed_pages = @start_global_value;
SELECT @@global.innodb_log_compressed_pages;
@@global.innodb_log_compressed_pages
1
SELECT @@global.innodb_merge_sort_block_size;
@@global.innodb_merge_sort_block_size
1048576
SELECT @@session.innodb_merge_sort_block_size;
@@session.innodb_merge_sort_block_size
1048576
SET @old_global=@@global.innodb_merge_sort_block_size;
SET @old_session=@@session.innodb_merge_sort_block_size;
SET @@global.innodb_merge_sort_block_size = 2*1024*1024;
SET @@session.innodb_merge_sort_block_size = 4*1024*1024;
SELECT @@global.innodb_merge_sort_block_size;
@@global.innodb_merge_sort_block_size
2097152
SELECT @@session.innodb_merge_sort_block_size;
@@session.innodb_merge_sort_block_size
4194304
SET @@global.innodb_merge_sort_block_size = 1024*1024*1024+1;
Warnings:
Warning 1292 Truncated incorrect innodb_merge_sort_block_size value: '1073741825'
SELECT @@global.innodb_merge_sort_block_size;
@@global.innodb_merge_sort_block_size
1073741824
SET @@global.innodb_merge_sort_block_size=@old_global;
SET @@session.innodb_merge_sort_block_size=@old_session;
......@@ -43,6 +43,7 @@ buffer_data_written disabled
buffer_flush_batch_scanned disabled
buffer_flush_batch_num_scan disabled
buffer_flush_batch_scanned_per_call disabled
buffer_flush_batch_rescan disabled
buffer_flush_batch_total_pages disabled
buffer_flush_batches disabled
buffer_flush_batch_pages disabled
......
......@@ -43,6 +43,7 @@ buffer_data_written disabled
buffer_flush_batch_scanned disabled
buffer_flush_batch_num_scan disabled
buffer_flush_batch_scanned_per_call disabled
buffer_flush_batch_rescan disabled
buffer_flush_batch_total_pages disabled
buffer_flush_batches disabled
buffer_flush_batch_pages disabled
......
......@@ -43,6 +43,7 @@ buffer_data_written disabled
buffer_flush_batch_scanned disabled
buffer_flush_batch_num_scan disabled
buffer_flush_batch_scanned_per_call disabled
buffer_flush_batch_rescan disabled
buffer_flush_batch_total_pages disabled
buffer_flush_batches disabled
buffer_flush_batch_pages disabled
......
......@@ -43,6 +43,7 @@ buffer_data_written disabled
buffer_flush_batch_scanned disabled
buffer_flush_batch_num_scan disabled
buffer_flush_batch_scanned_per_call disabled
buffer_flush_batch_rescan disabled
buffer_flush_batch_total_pages disabled
buffer_flush_batches disabled
buffer_flush_batch_pages disabled
......
SELECT @@global.innodb_persistent_stats_root_page;
@@global.innodb_persistent_stats_root_page
0
SELECT COUNT(@@global.innodb_persistent_stats_root_page);
COUNT(@@global.innodb_persistent_stats_root_page)
1
SET @@global.innodb_persistent_stats_root_page=100;
ERROR HY000: Variable 'innodb_persistent_stats_root_page' is a read only variable
SELECT @@global.innodb_persistent_stats_root_page = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_persistent_stats_root_page';
@@global.innodb_persistent_stats_root_page = VARIABLE_VALUE
1
SELECT COUNT(*) FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_persistent_stats_root_page';
COUNT(*)
1
SELECT @@innodb_persistent_stats_root_page = @@global.innodb_persistent_stats_root_page;
@@innodb_persistent_stats_root_page = @@global.innodb_persistent_stats_root_page
1
SELECT COUNT(@@local.innodb_persistent_stats_root_page);
ERROR HY000: Variable 'innodb_persistent_stats_root_page' is a GLOBAL variable
SELECT COUNT(@@session.innodb_persistent_stats_root_page);
ERROR HY000: Variable 'innodb_persistent_stats_root_page' is a GLOBAL variable
SET @start_value = @@GLOBAL.innodb_priority_cleaner;
SELECT @@GLOBAL.innodb_priority_cleaner;
@@GLOBAL.innodb_priority_cleaner
0
SELECT @@SESSION.innodb_priority_cleaner;
ERROR HY000: Variable 'innodb_priority_cleaner' is a GLOBAL variable
SET GLOBAL innodb_priority_cleaner='OFF';
SELECT @@GLOBAL.innodb_priority_cleaner;
@@GLOBAL.innodb_priority_cleaner
0
SET GLOBAL innodb_priority_cleaner='ON';
SELECT @@GLOBAL.innodb_priority_cleaner;
@@GLOBAL.innodb_priority_cleaner
1
SET GLOBAL innodb_priority_cleaner=0;
SELECT @@GLOBAL.innodb_priority_cleaner;
@@GLOBAL.innodb_priority_cleaner
0
SET GLOBAL innodb_priority_cleaner=1;
SELECT @@GLOBAL.innodb_priority_cleaner;
@@GLOBAL.innodb_priority_cleaner
1
SET GLOBAL innodb_priority_cleaner=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_priority_cleaner'
SET GLOBAL innodb_priority_cleaner=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_priority_cleaner'
SET GLOBAL innodb_priority_cleaner=2;
ERROR 42000: Variable 'innodb_priority_cleaner' can't be set to the value of '2'
SET GLOBAL innodb_priority_cleaner='foo';
ERROR 42000: Variable 'innodb_priority_cleaner' can't be set to the value of 'foo'
SET GLOBAL innodb_priority_cleaner = @start_value;
SET @start_value = @@GLOBAL.innodb_priority_io;
SELECT @@GLOBAL.innodb_priority_io;
@@GLOBAL.innodb_priority_io
0
SELECT @@SESSION.innodb_priority_io;
ERROR HY000: Variable 'innodb_priority_io' is a GLOBAL variable
SET GLOBAL innodb_priority_io='OFF';
SELECT @@GLOBAL.innodb_priority_io;
@@GLOBAL.innodb_priority_io
0
SET GLOBAL innodb_priority_io='ON';
SELECT @@GLOBAL.innodb_priority_io;
@@GLOBAL.innodb_priority_io
1
SET GLOBAL innodb_priority_io=0;
SELECT @@GLOBAL.innodb_priority_io;
@@GLOBAL.innodb_priority_io
0
SET GLOBAL innodb_priority_io=1;
SELECT @@GLOBAL.innodb_priority_io;
@@GLOBAL.innodb_priority_io
1
SET GLOBAL innodb_priority_io=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_priority_io'
SET GLOBAL innodb_priority_io=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_priority_io'
SET GLOBAL innodb_priority_io=2;
ERROR 42000: Variable 'innodb_priority_io' can't be set to the value of '2'
SET GLOBAL innodb_priority_io='foo';
ERROR 42000: Variable 'innodb_priority_io' can't be set to the value of 'foo'
SET GLOBAL innodb_priority_io = @start_value;
SET @start_value = @@GLOBAL.innodb_priority_master;
SELECT @@GLOBAL.innodb_priority_master;
@@GLOBAL.innodb_priority_master
0
SELECT @@SESSION.innodb_priority_master;
ERROR HY000: Variable 'innodb_priority_master' is a GLOBAL variable
SET GLOBAL innodb_priority_master='OFF';
SELECT @@GLOBAL.innodb_priority_master;
@@GLOBAL.innodb_priority_master
0
SET GLOBAL innodb_priority_master='ON';
SELECT @@GLOBAL.innodb_priority_master;
@@GLOBAL.innodb_priority_master
1
SET GLOBAL innodb_priority_master=0;
SELECT @@GLOBAL.innodb_priority_master;
@@GLOBAL.innodb_priority_master
0
SET GLOBAL innodb_priority_master=1;
SELECT @@GLOBAL.innodb_priority_master;
@@GLOBAL.innodb_priority_master
1
SET GLOBAL innodb_priority_master=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_priority_master'
SET GLOBAL innodb_priority_master=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_priority_master'
SET GLOBAL innodb_priority_master=2;
ERROR 42000: Variable 'innodb_priority_master' can't be set to the value of '2'
SET GLOBAL innodb_priority_master='foo';
ERROR 42000: Variable 'innodb_priority_master' can't be set to the value of 'foo'
SET GLOBAL innodb_priority_master = @start_value;
SET @start_value = @@GLOBAL.innodb_priority_purge;
SELECT @@GLOBAL.innodb_priority_purge;
@@GLOBAL.innodb_priority_purge
0
SELECT @@SESSION.innodb_priority_purge;
ERROR HY000: Variable 'innodb_priority_purge' is a GLOBAL variable
SET GLOBAL innodb_priority_purge='OFF';
SELECT @@GLOBAL.innodb_priority_purge;
@@GLOBAL.innodb_priority_purge
0
SET GLOBAL innodb_priority_purge='ON';
SELECT @@GLOBAL.innodb_priority_purge;
@@GLOBAL.innodb_priority_purge
1
SET GLOBAL innodb_priority_purge=0;
SELECT @@GLOBAL.innodb_priority_purge;
@@GLOBAL.innodb_priority_purge
0
SET GLOBAL innodb_priority_purge=1;
SELECT @@GLOBAL.innodb_priority_purge;
@@GLOBAL.innodb_priority_purge
1
SET GLOBAL innodb_priority_purge=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_priority_purge'
SET GLOBAL innodb_priority_purge=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_priority_purge'
SET GLOBAL innodb_priority_purge=2;
ERROR 42000: Variable 'innodb_priority_purge' can't be set to the value of '2'
SET GLOBAL innodb_priority_purge='foo';
ERROR 42000: Variable 'innodb_priority_purge' can't be set to the value of 'foo'
SET GLOBAL innodb_priority_purge = @start_value;
SET @start_value = @@GLOBAL.innodb_sched_priority_cleaner;
SELECT @@GLOBAL.innodb_sched_priority_cleaner;
@@GLOBAL.innodb_sched_priority_cleaner
19
SELECT @@SESSION.innodb_sched_priority_cleaner;
ERROR HY000: Variable 'innodb_sched_priority_cleaner' is a GLOBAL variable
SET GLOBAL innodb_sched_priority_cleaner=19;
SELECT @@GLOBAL.innodb_sched_priority_cleaner;
@@GLOBAL.innodb_sched_priority_cleaner
19
SET GLOBAL innodb_sched_priority_cleaner=5;
SELECT @@GLOBAL.innodb_sched_priority_cleaner;
@@GLOBAL.innodb_sched_priority_cleaner
5
SET GLOBAL innodb_sched_priority_cleaner=0;
SELECT @@GLOBAL.innodb_sched_priority_cleaner;
@@GLOBAL.innodb_sched_priority_cleaner
0
SET GLOBAL innodb_sched_priority_cleaner=-1;
Warnings:
Warning 1292 Truncated incorrect innodb_sched_priority_cleaner value: '-1'
SELECT @@GLOBAL.innodb_sched_priority_cleaner;
@@GLOBAL.innodb_sched_priority_cleaner
0
SET GLOBAL innodb_sched_priority_cleaner=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_cleaner'
SET GLOBAL innodb_sched_priority_cleaner=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_cleaner'
SET GLOBAL innodb_sched_priority_cleaner='foo';
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_cleaner'
SET @start_value = @@GLOBAL.innodb_sched_priority_io;
SELECT @@GLOBAL.innodb_sched_priority_io;
@@GLOBAL.innodb_sched_priority_io
19
SELECT @@SESSION.innodb_sched_priority_io;
ERROR HY000: Variable 'innodb_sched_priority_io' is a GLOBAL variable
SET GLOBAL innodb_sched_priority_io=19;
SELECT @@GLOBAL.innodb_sched_priority_io;
@@GLOBAL.innodb_sched_priority_io
19
SET GLOBAL innodb_sched_priority_io=5;
SELECT @@GLOBAL.innodb_sched_priority_io;
@@GLOBAL.innodb_sched_priority_io
5
SET GLOBAL innodb_sched_priority_io=0;
SELECT @@GLOBAL.innodb_sched_priority_io;
@@GLOBAL.innodb_sched_priority_io
0
SET GLOBAL innodb_sched_priority_io=-1;
Warnings:
Warning 1292 Truncated incorrect innodb_sched_priority_io value: '-1'
SELECT @@GLOBAL.innodb_sched_priority_io;
@@GLOBAL.innodb_sched_priority_io
0
SET GLOBAL innodb_sched_priority_io=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_io'
SET GLOBAL innodb_sched_priority_io=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_io'
SET GLOBAL innodb_sched_priority_io='foo';
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_io'
SET @start_value = @@GLOBAL.innodb_sched_priority_master;
SELECT @@GLOBAL.innodb_sched_priority_master;
@@GLOBAL.innodb_sched_priority_master
19
SELECT @@SESSION.innodb_sched_priority_master;
ERROR HY000: Variable 'innodb_sched_priority_master' is a GLOBAL variable
SET GLOBAL innodb_sched_priority_master=19;
SELECT @@GLOBAL.innodb_sched_priority_master;
@@GLOBAL.innodb_sched_priority_master
19
SET GLOBAL innodb_sched_priority_master=5;
SELECT @@GLOBAL.innodb_sched_priority_master;
@@GLOBAL.innodb_sched_priority_master
5
SET GLOBAL innodb_sched_priority_master=0;
SELECT @@GLOBAL.innodb_sched_priority_master;
@@GLOBAL.innodb_sched_priority_master
0
SET GLOBAL innodb_sched_priority_master=-1;
Warnings:
Warning 1292 Truncated incorrect innodb_sched_priority_master value: '-1'
SELECT @@GLOBAL.innodb_sched_priority_master;
@@GLOBAL.innodb_sched_priority_master
0
SET GLOBAL innodb_sched_priority_master=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_master'
SET GLOBAL innodb_sched_priority_master=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_master'
SET GLOBAL innodb_sched_priority_master='foo';
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_master'
SET @start_value = @@GLOBAL.innodb_sched_priority_purge;
SELECT @@GLOBAL.innodb_sched_priority_purge;
@@GLOBAL.innodb_sched_priority_purge
19
SELECT @@SESSION.innodb_sched_priority_purge;
ERROR HY000: Variable 'innodb_sched_priority_purge' is a GLOBAL variable
SET GLOBAL innodb_sched_priority_purge=19;
SELECT @@GLOBAL.innodb_sched_priority_purge;
@@GLOBAL.innodb_sched_priority_purge
19
SET GLOBAL innodb_sched_priority_purge=5;
SELECT @@GLOBAL.innodb_sched_priority_purge;
@@GLOBAL.innodb_sched_priority_purge
5
SET GLOBAL innodb_sched_priority_purge=0;
SELECT @@GLOBAL.innodb_sched_priority_purge;
@@GLOBAL.innodb_sched_priority_purge
0
SET GLOBAL innodb_sched_priority_purge=-1;
Warnings:
Warning 1292 Truncated incorrect innodb_sched_priority_purge value: '-1'
SELECT @@GLOBAL.innodb_sched_priority_purge;
@@GLOBAL.innodb_sched_priority_purge
0
SET GLOBAL innodb_sched_priority_purge=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_purge'
SET GLOBAL innodb_sched_priority_purge=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_purge'
SET GLOBAL innodb_sched_priority_purge='foo';
ERROR 42000: Incorrect argument type to variable 'innodb_sched_priority_purge'
SET @start_global_value = @@global.innodb_sync_array_size;
SELECT @start_global_value;
@start_global_value
1
Valid values are between 0 and 1024
SELECT @@global.innodb_sync_array_size between 0 and 1024;
@@global.innodb_sync_array_size between 0 and 1024
......@@ -11,69 +7,24 @@ SELECT @@global.innodb_sync_array_size;
1
SELECT @@session.innodb_sync_array_size;
ERROR HY000: Variable 'innodb_sync_array_size' is a GLOBAL variable
SHOW global variables LIKE 'innodb_sync_array_size';
SHOW GLOBAL variables LIKE 'innodb_sync_array_size';
Variable_name Value
innodb_sync_array_size 1
SHOW session variables LIKE 'innodb_sync_array_size';
SHOW SESSION variables LIKE 'innodb_sync_array_size';
Variable_name Value
innodb_sync_array_size 1
SELECT * FROM information_schema.global_variables
where variable_name='innodb_sync_array_size';
WHERE variable_name='innodb_sync_array_size';
VARIABLE_NAME VARIABLE_VALUE
INNODB_SYNC_ARRAY_SIZE 1
SELECT * FROM information_schema.session_variables
where variable_name='innodb_sync_array_size';
VARIABLE_NAME VARIABLE_VALUE
INNODB_SYNC_ARRAY_SIZE 1
SET global innodb_sync_array_size=10;
SELECT @@global.innodb_sync_array_size;
@@global.innodb_sync_array_size
10
SELECT * FROM information_schema.global_variables
where variable_name='innodb_sync_array_size';
VARIABLE_NAME VARIABLE_VALUE
INNODB_SYNC_ARRAY_SIZE 10
SELECT * FROM information_schema.session_variables
where variable_name='innodb_sync_array_size';
VARIABLE_NAME VARIABLE_VALUE
INNODB_SYNC_ARRAY_SIZE 10
SET session innodb_sync_array_size=1;
ERROR HY000: Variable 'innodb_sync_array_size' is a GLOBAL variable and should be set with SET GLOBAL
SET global innodb_sync_array_size=1.1;
ERROR 42000: Incorrect argument type to variable 'innodb_sync_array_size'
SET global innodb_sync_array_size=1e1;
ERROR 42000: Incorrect argument type to variable 'innodb_sync_array_size'
SET global innodb_sync_array_size="foo";
ERROR 42000: Incorrect argument type to variable 'innodb_sync_array_size'
SET global innodb_sync_array_size=-7;
Warnings:
Warning 1292 Truncated incorrect innodb_sync_array_size value: '-7'
SELECT @@global.innodb_sync_array_size;
@@global.innodb_sync_array_size
1
SELECT * FROM information_schema.global_variables
where variable_name='innodb_sync_array_size';
WHERE variable_name='innodb_sync_array_size';
VARIABLE_NAME VARIABLE_VALUE
INNODB_SYNC_ARRAY_SIZE 1
SET global innodb_sync_array_size=96;
SELECT @@global.innodb_sync_array_size;
@@global.innodb_sync_array_size
96
SELECT * FROM information_schema.global_variables
where variable_name='innodb_sync_array_size';
VARIABLE_NAME VARIABLE_VALUE
INNODB_SYNC_ARRAY_SIZE 96
SET global innodb_sync_array_size=0;
Warnings:
Warning 1292 Truncated incorrect innodb_sync_array_size value: '0'
SELECT @@global.innodb_sync_array_size;
@@global.innodb_sync_array_size
1
SET global innodb_sync_array_size=64;
SELECT @@global.innodb_sync_array_size;
@@global.innodb_sync_array_size
64
SET @@global.innodb_sync_array_size = @start_global_value;
SET GLOBAL innodb_sync_array_size=10;
ERROR HY000: Variable 'innodb_sync_array_size' is a read only variable
SET SESSION innodb_sync_array_size=10;
ERROR HY000: Variable 'innodb_sync_array_size' is a read only variable
SELECT @@global.innodb_sync_array_size;
@@global.innodb_sync_array_size
1
......@@ -2,9 +2,9 @@
# This is a debug variable for now
-- source include/have_debug.inc
if (`select plugin_auth_version <= "5.5.31-MariaDB-30.2" from information_schema.plugins where plugin_name='innodb'`)
if (`select plugin_auth_version <= "5.6.10" from information_schema.plugins where plugin_name='innodb'`)
{
--skip Not fixed in XtraDB 5.5.31-MariaDB-30.2 or earlier
--skip Not fixed in InnoDB 5.6.10 or earlier
}
SELECT @@global.innodb_buffer_pool_evict;
......
--source include/have_debug.inc
--source include/have_xtradb.inc
# A dynamic, global variable
SET @start_value = @@GLOBAL.innodb_cleaner_eviction_factor;
# Default value
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
# Global only
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT @@SESSION.innodb_cleaner_eviction_factor;
# Correct values
SET GLOBAL innodb_cleaner_eviction_factor='OFF';
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
SET GLOBAL innodb_cleaner_eviction_factor='ON';
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
SET GLOBAL innodb_cleaner_eviction_factor=0;
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
SET GLOBAL innodb_cleaner_eviction_factor=1;
SELECT @@GLOBAL.innodb_cleaner_eviction_factor;
# Incorrect values
--error ER_WRONG_TYPE_FOR_VAR
SET GLOBAL innodb_cleaner_eviction_factor=1.1;
--error ER_WRONG_TYPE_FOR_VAR
SET GLOBAL innodb_cleaner_eviction_factor=1e1;
--error ER_WRONG_VALUE_FOR_VAR
SET GLOBAL innodb_cleaner_eviction_factor=2;
--error ER_WRONG_VALUE_FOR_VAR
SET GLOBAL innodb_cleaner_eviction_factor='foo';
SET GLOBAL innodb_cleaner_eviction_factor = @start_value;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment