mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
Merge
This commit is contained in:
commit
9be507ca1f
90 changed files with 1128 additions and 661 deletions
|
@ -7169,7 +7169,7 @@ void init_re_comp(my_regex_t *re, const char* str)
|
|||
char erbuf[100];
|
||||
int len= my_regerror(err, re, erbuf, sizeof(erbuf));
|
||||
die("error %s, %d/%d `%s'\n",
|
||||
re_eprint(err), len, (int)sizeof(erbuf), erbuf);
|
||||
re_eprint(err), (int)len, (int)sizeof(erbuf), erbuf);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7225,7 +7225,7 @@ int match_re(my_regex_t *re, char *str)
|
|||
char erbuf[100];
|
||||
int len= my_regerror(err, re, erbuf, sizeof(erbuf));
|
||||
die("error %s, %d/%d `%s'\n",
|
||||
re_eprint(err), len, (int)sizeof(erbuf), erbuf);
|
||||
re_eprint(err), (int)len, (int)sizeof(erbuf), erbuf);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -231,16 +231,19 @@ esac
|
|||
AC_DEFUN([MYSQL_CHECK_LIB_TERMCAP],
|
||||
[
|
||||
AC_CACHE_VAL(mysql_cv_termcap_lib,
|
||||
[AC_CHECK_LIB(ncurses, tgetent, mysql_cv_termcap_lib=libncurses,
|
||||
[AC_CHECK_LIB(curses, tgetent, mysql_cv_termcap_lib=libcurses,
|
||||
[AC_CHECK_LIB(termcap, tgetent, mysql_cv_termcap_lib=libtermcap,
|
||||
[AC_CHECK_LIB(tinfo, tgetent, mysql_cv_termcap_lib=libtinfo,
|
||||
mysql_cv_termcap_lib=NOT_FOUND)])])])])
|
||||
[AC_CHECK_LIB(ncursesw, tgetent, mysql_cv_termcap_lib=libncursesw,
|
||||
[AC_CHECK_LIB(ncurses, tgetent, mysql_cv_termcap_lib=libncurses,
|
||||
[AC_CHECK_LIB(curses, tgetent, mysql_cv_termcap_lib=libcurses,
|
||||
[AC_CHECK_LIB(termcap, tgetent, mysql_cv_termcap_lib=libtermcap,
|
||||
[AC_CHECK_LIB(tinfo, tgetent, mysql_cv_termcap_lib=libtinfo,
|
||||
mysql_cv_termcap_lib=NOT_FOUND)])])])])])
|
||||
AC_MSG_CHECKING(for termcap functions library)
|
||||
if test "$mysql_cv_termcap_lib" = "NOT_FOUND"; then
|
||||
AC_MSG_ERROR([No curses/termcap library found])
|
||||
elif test "$mysql_cv_termcap_lib" = "libtermcap"; then
|
||||
TERMCAP_LIB=-ltermcap
|
||||
elif test "$mysql_cv_termcap_lib" = "libncursesw"; then
|
||||
TERMCAP_LIB=-lncursesw
|
||||
elif test "$mysql_cv_termcap_lib" = "libncurses"; then
|
||||
TERMCAP_LIB=-lncurses
|
||||
elif test "$mysql_cv_termcap_lib" = "libtinfo"; then
|
||||
|
|
21
configure.in
21
configure.in
|
@ -2085,6 +2085,27 @@ esac
|
|||
AC_MSG_CHECKING(for isinf in <math.h>)
|
||||
AC_TRY_LINK([#include <math.h>], [float f = 0.0; int r = isinf(f); return r],
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_MSG_CHECKING(whether isinf() is safe to use in C code)
|
||||
AC_TRY_RUN([
|
||||
#include <math.h>
|
||||
int main()
|
||||
{
|
||||
double a= 10.0;
|
||||
double b= 1e308;
|
||||
|
||||
return !isinf(a * b);
|
||||
}
|
||||
],
|
||||
[AC_MSG_RESULT(yes)],
|
||||
[AC_MSG_RESULT(no)
|
||||
AC_DEFINE([HAVE_BROKEN_ISINF], [1],
|
||||
[Define to 1 if isinf() uses 80-bit register for intermediate values])
|
||||
],
|
||||
[
|
||||
# Let's be optimistic when cross-compiling, since the only compiler known
|
||||
# to be affected by this isinf() bug is GCC 4.3 on 32-bit x86.
|
||||
AC_MSG_RESULT([[cross-compiling, assuming 'yes']])
|
||||
])
|
||||
AC_MSG_CHECKING(whether isinf() can be used in C++ code)
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
|
|
|
@ -63,9 +63,6 @@ functions */
|
|||
#endif
|
||||
#ifndef __WIN32__
|
||||
#define __WIN32__
|
||||
#define _INTEGRAL_MAX_BITS 32
|
||||
#else
|
||||
#define _INTEGRAL_MAX_BITS 64
|
||||
#endif
|
||||
#endif /* _WIN64 */
|
||||
#ifndef __WIN__
|
||||
|
|
|
@ -905,10 +905,20 @@ typedef SOCKET_SIZE_TYPE size_socket;
|
|||
#endif
|
||||
|
||||
#ifdef HAVE_ISINF
|
||||
/* isinf() can be used in both C and C++ code */
|
||||
#define my_isinf(X) isinf(X)
|
||||
/* Check if C compiler is affected by GCC bug #39228 */
|
||||
#if !defined(__cplusplus) && defined(HAVE_BROKEN_ISINF)
|
||||
/* Force store/reload of the argument to/from a 64-bit double */
|
||||
static inline double my_isinf(double x)
|
||||
{
|
||||
volatile double t= x;
|
||||
return isinf(t);
|
||||
}
|
||||
#else
|
||||
#define my_isinf(X) (!isfinite(X) && !isnan(X))
|
||||
/* System-provided isinf() is available and safe to use */
|
||||
#define my_isinf(X) isinf(X)
|
||||
#endif
|
||||
#else /* !HAVE_ISINF */
|
||||
#define my_isinf(X) (!finite(X) && !isnan(X))
|
||||
#endif
|
||||
|
||||
/* Define missing math constants. */
|
||||
|
|
36
mysql-test/extra/rpl_tests/rpl_loadfile.test
Normal file
36
mysql-test/extra/rpl_tests/rpl_loadfile.test
Normal file
|
@ -0,0 +1,36 @@
|
|||
# Begin clean up test section
|
||||
--disable_warnings
|
||||
connection master;
|
||||
DROP PROCEDURE IF EXISTS test.p1;
|
||||
DROP TABLE IF EXISTS test.t1;
|
||||
--enable_warnings
|
||||
|
||||
# Section 1 test
|
||||
|
||||
CREATE TABLE test.t1 (a INT, blob_column LONGBLOB, PRIMARY KEY(a));
|
||||
INSERT INTO test.t1 VALUES(1,'test');
|
||||
UPDATE test.t1 SET blob_column=LOAD_FILE('../../std_data/words2.dat') WHERE a=1;
|
||||
delimiter |;
|
||||
create procedure test.p1()
|
||||
begin
|
||||
INSERT INTO test.t1 VALUES(2,'test');
|
||||
UPDATE test.t1 SET blob_column=LOAD_FILE('../../std_data/words2.dat') WHERE a=2;
|
||||
end|
|
||||
delimiter ;|
|
||||
|
||||
CALL test.p1();
|
||||
SELECT * FROM test.t1 ORDER BY blob_column;
|
||||
save_master_pos;
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
# Need to allow some time when NDB engine is used for
|
||||
# the injector thread to have time to populate binlog
|
||||
let $wait_condition= SELECT INSTR(blob_column,'aberration') > 0 FROM test.t1 WHERE a = 2;
|
||||
--source include/wait_condition.inc
|
||||
SELECT * FROM test.t1 ORDER BY blob_column;
|
||||
|
||||
# Cleanup
|
||||
connection master;
|
||||
DROP PROCEDURE IF EXISTS test.p1;
|
||||
DROP TABLE test.t1;
|
||||
sync_slave_with_master;
|
|
@ -54,3 +54,14 @@ test.t1 repair error Table 'test.t1' is read only
|
|||
Warnings:
|
||||
Error 1036 Table 't1' is read only
|
||||
drop table t1;
|
||||
#
|
||||
# BUG#41541 - Valgrind warnings on packed MyISAM table
|
||||
#
|
||||
CREATE TABLE t1(f1 VARCHAR(200), f2 TEXT);
|
||||
INSERT INTO t1 VALUES ('foo', 'foo1'), ('bar', 'bar1');
|
||||
FLUSH TABLE t1;
|
||||
# Compress the table using MYISAMPACK tool
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
1024
|
||||
DROP TABLE t1;
|
||||
|
|
13
mysql-test/r/mysql-bug41486.result
Normal file
13
mysql-test/r/mysql-bug41486.result
Normal file
|
@ -0,0 +1,13 @@
|
|||
DROP TABLE IF EXISTS t1;
|
||||
SET @old_max_allowed_packet= @@global.max_allowed_packet;
|
||||
SET @@global.max_allowed_packet = 2 * 1024 * 1024 + 1024;
|
||||
CREATE TABLE t1(data LONGBLOB);
|
||||
INSERT INTO t1 SELECT REPEAT('1', 2*1024*1024);
|
||||
SET @old_general_log = @@global.general_log;
|
||||
SET @@global.general_log = 0;
|
||||
SET @@global.general_log = @old_general_log;
|
||||
SELECT LENGTH(data) FROM t1;
|
||||
LENGTH(data)
|
||||
2097152
|
||||
DROP TABLE t1;
|
||||
SET @@global.max_allowed_packet = @old_max_allowed_packet;
|
|
@ -192,15 +192,6 @@ delimiter
|
|||
1
|
||||
1
|
||||
1
|
||||
set @old_max_allowed_packet = @@global.max_allowed_packet;
|
||||
set @@global.max_allowed_packet = 2 * 1024 * 1024 + 1024;
|
||||
CREATE TABLE t1(data LONGBLOB);
|
||||
INSERT INTO t1 SELECT REPEAT('1', 2*1024*1024);
|
||||
SELECT LENGTH(data) FROM t1;
|
||||
LENGTH(data)
|
||||
2097152
|
||||
DROP TABLE t1;
|
||||
set @@global.max_allowed_packet = @old_max_allowed_packet;
|
||||
End of 5.0 tests
|
||||
WARNING: --server-arg option not supported in this configuration.
|
||||
Warning (Code 1286): Unknown table engine 'nonexistent'
|
||||
|
|
|
@ -225,3 +225,21 @@ aberration
|
|||
|
||||
DROP PROCEDURE IF EXISTS test.p1;
|
||||
DROP TABLE test.t1;
|
||||
**** Resetting master and slave ****
|
||||
include/stop_slave.inc
|
||||
RESET SLAVE;
|
||||
RESET MASTER;
|
||||
include/start_slave.inc
|
||||
SELECT repeat('x',20) INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug_39701.data';
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (t text);
|
||||
CREATE PROCEDURE p(file TEXT)
|
||||
BEGIN
|
||||
INSERT INTO t1 VALUES (LOAD_FILE(file));
|
||||
END|
|
||||
include/stop_slave.inc
|
||||
CALL p('MYSQLTEST_VARDIR/tmp/bug_39701.data');
|
||||
include/start_slave.inc
|
||||
Comparing tables master:test.t1 and slave:test.t1
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE p;
|
||||
|
|
231
mysql-test/suite/rpl/r/rpl_stm_loadfile.result
Normal file
231
mysql-test/suite/rpl/r/rpl_stm_loadfile.result
Normal file
|
@ -0,0 +1,231 @@
|
|||
stop slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
DROP PROCEDURE IF EXISTS test.p1;
|
||||
DROP TABLE IF EXISTS test.t1;
|
||||
CREATE TABLE test.t1 (a INT, blob_column LONGBLOB, PRIMARY KEY(a));
|
||||
INSERT INTO test.t1 VALUES(1,'test');
|
||||
UPDATE test.t1 SET blob_column=LOAD_FILE('../../std_data/words2.dat') WHERE a=1;
|
||||
Warnings:
|
||||
Warning 1592 Statement is not safe to log in statement format.
|
||||
create procedure test.p1()
|
||||
begin
|
||||
INSERT INTO test.t1 VALUES(2,'test');
|
||||
UPDATE test.t1 SET blob_column=LOAD_FILE('../../std_data/words2.dat') WHERE a=2;
|
||||
end|
|
||||
CALL test.p1();
|
||||
Warnings:
|
||||
Warning 1592 Statement is not safe to log in statement format.
|
||||
SELECT * FROM test.t1 ORDER BY blob_column;
|
||||
a blob_column
|
||||
1 abase
|
||||
abased
|
||||
abasement
|
||||
abasements
|
||||
abases
|
||||
abash
|
||||
abashed
|
||||
abashes
|
||||
abashing
|
||||
abasing
|
||||
abate
|
||||
abated
|
||||
abatement
|
||||
abatements
|
||||
abater
|
||||
abates
|
||||
abating
|
||||
Abba
|
||||
abbe
|
||||
abbey
|
||||
abbeys
|
||||
abbot
|
||||
abbots
|
||||
Abbott
|
||||
abbreviate
|
||||
abbreviated
|
||||
abbreviates
|
||||
abbreviating
|
||||
abbreviation
|
||||
abbreviations
|
||||
Abby
|
||||
abdomen
|
||||
abdomens
|
||||
abdominal
|
||||
abduct
|
||||
abducted
|
||||
abduction
|
||||
abductions
|
||||
abductor
|
||||
abductors
|
||||
abducts
|
||||
Abe
|
||||
abed
|
||||
Abel
|
||||
Abelian
|
||||
Abelson
|
||||
Aberdeen
|
||||
Abernathy
|
||||
aberrant
|
||||
aberration
|
||||
|
||||
2 abase
|
||||
abased
|
||||
abasement
|
||||
abasements
|
||||
abases
|
||||
abash
|
||||
abashed
|
||||
abashes
|
||||
abashing
|
||||
abasing
|
||||
abate
|
||||
abated
|
||||
abatement
|
||||
abatements
|
||||
abater
|
||||
abates
|
||||
abating
|
||||
Abba
|
||||
abbe
|
||||
abbey
|
||||
abbeys
|
||||
abbot
|
||||
abbots
|
||||
Abbott
|
||||
abbreviate
|
||||
abbreviated
|
||||
abbreviates
|
||||
abbreviating
|
||||
abbreviation
|
||||
abbreviations
|
||||
Abby
|
||||
abdomen
|
||||
abdomens
|
||||
abdominal
|
||||
abduct
|
||||
abducted
|
||||
abduction
|
||||
abductions
|
||||
abductor
|
||||
abductors
|
||||
abducts
|
||||
Abe
|
||||
abed
|
||||
Abel
|
||||
Abelian
|
||||
Abelson
|
||||
Aberdeen
|
||||
Abernathy
|
||||
aberrant
|
||||
aberration
|
||||
|
||||
SELECT * FROM test.t1 ORDER BY blob_column;
|
||||
a blob_column
|
||||
1 abase
|
||||
abased
|
||||
abasement
|
||||
abasements
|
||||
abases
|
||||
abash
|
||||
abashed
|
||||
abashes
|
||||
abashing
|
||||
abasing
|
||||
abate
|
||||
abated
|
||||
abatement
|
||||
abatements
|
||||
abater
|
||||
abates
|
||||
abating
|
||||
Abba
|
||||
abbe
|
||||
abbey
|
||||
abbeys
|
||||
abbot
|
||||
abbots
|
||||
Abbott
|
||||
abbreviate
|
||||
abbreviated
|
||||
abbreviates
|
||||
abbreviating
|
||||
abbreviation
|
||||
abbreviations
|
||||
Abby
|
||||
abdomen
|
||||
abdomens
|
||||
abdominal
|
||||
abduct
|
||||
abducted
|
||||
abduction
|
||||
abductions
|
||||
abductor
|
||||
abductors
|
||||
abducts
|
||||
Abe
|
||||
abed
|
||||
Abel
|
||||
Abelian
|
||||
Abelson
|
||||
Aberdeen
|
||||
Abernathy
|
||||
aberrant
|
||||
aberration
|
||||
|
||||
2 abase
|
||||
abased
|
||||
abasement
|
||||
abasements
|
||||
abases
|
||||
abash
|
||||
abashed
|
||||
abashes
|
||||
abashing
|
||||
abasing
|
||||
abate
|
||||
abated
|
||||
abatement
|
||||
abatements
|
||||
abater
|
||||
abates
|
||||
abating
|
||||
Abba
|
||||
abbe
|
||||
abbey
|
||||
abbeys
|
||||
abbot
|
||||
abbots
|
||||
Abbott
|
||||
abbreviate
|
||||
abbreviated
|
||||
abbreviates
|
||||
abbreviating
|
||||
abbreviation
|
||||
abbreviations
|
||||
Abby
|
||||
abdomen
|
||||
abdomens
|
||||
abdominal
|
||||
abduct
|
||||
abducted
|
||||
abduction
|
||||
abductions
|
||||
abductor
|
||||
abductors
|
||||
abducts
|
||||
Abe
|
||||
abed
|
||||
Abel
|
||||
Abelian
|
||||
Abelson
|
||||
Aberdeen
|
||||
Abernathy
|
||||
aberrant
|
||||
aberration
|
||||
|
||||
DROP PROCEDURE IF EXISTS test.p1;
|
||||
DROP TABLE test.t1;
|
|
@ -122,4 +122,23 @@ a b
|
|||
SET @@session.time_zone = default;
|
||||
DROP TABLE t1;
|
||||
SET @@session.time_zone = default;
|
||||
reset master;
|
||||
CREATE TABLE t1 (date timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, a int(11) default NULL);
|
||||
SET @@session.time_zone='+01:00';
|
||||
insert into t1 values('2008-12-23 19:39:39',1);
|
||||
SET @@session.time_zone='+02:00';
|
||||
insert delayed into t1 values ('2008-12-23 19:39:39',2);
|
||||
flush table t1;
|
||||
flush logs;
|
||||
select * from t1;
|
||||
date a
|
||||
2008-12-23 20:39:39 1
|
||||
2008-12-23 19:39:39 2
|
||||
DROP TABLE t1;
|
||||
select * from t1 order by a;
|
||||
date a
|
||||
2008-12-23 20:39:39 1
|
||||
2008-12-23 19:39:39 2
|
||||
DROP TABLE t1;
|
||||
SET @@session.time_zone = default;
|
||||
End of 5.0 tests
|
||||
|
|
|
@ -11,43 +11,105 @@
|
|||
|
||||
# Includes
|
||||
-- source include/master-slave.inc
|
||||
-- source include/have_binlog_format_mixed_or_row.inc
|
||||
|
||||
-- source extra/rpl_tests/rpl_loadfile.test
|
||||
|
||||
# BUG#39701: Mixed binlog format does not switch to row mode on LOAD_FILE
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# Problem: when using load_file string function and mixed binlogging format
|
||||
# there was no switch to row based binlogging format. This leads
|
||||
# to scenarios on which the slave replicates the statement and it
|
||||
# will try to load the file from local file system, which in most
|
||||
# likely it will not exist.
|
||||
#
|
||||
# Solution:
|
||||
# Marking this function as unsafe for statement format, makes the
|
||||
# statement using it to be logged in row based format. As such, data
|
||||
# replicated from the master, becomes the content of the loaded file.
|
||||
# Consequently, the slave receives the necessary data to complete
|
||||
# the load_file instruction correctly.
|
||||
#
|
||||
# IMPLEMENTATION
|
||||
#
|
||||
# The test is implemented as follows:
|
||||
#
|
||||
# On Master,
|
||||
# i) write to file the desired content.
|
||||
# ii) create table and stored procedure with load_file
|
||||
# iii) stop slave
|
||||
# iii) execute load_file
|
||||
# iv) remove file
|
||||
#
|
||||
# On Slave,
|
||||
# v) start slave
|
||||
# vi) sync it with master so that it gets the updates from binlog (which
|
||||
# should have bin logged in row format).
|
||||
#
|
||||
# If the the binlog format does not change to row, then the assertion
|
||||
# done in the following step fails. This happens because tables differ
|
||||
# since the file does not exist anymore, meaning that when slave
|
||||
# attempts to execute LOAD_FILE statement it inserts NULL on table
|
||||
# instead of the same contents that the master loaded when it executed
|
||||
# the procedure (which was executed when file existed).
|
||||
#
|
||||
# vii) assert that the contents of master and slave
|
||||
# table are the same
|
||||
|
||||
# Begin clean up test section
|
||||
--disable_warnings
|
||||
connection master;
|
||||
DROP PROCEDURE IF EXISTS test.p1;
|
||||
DROP TABLE IF EXISTS test.t1;
|
||||
--enable_warnings
|
||||
source include/reset_master_and_slave.inc;
|
||||
|
||||
# Section 1 test
|
||||
connection master;
|
||||
let $file= $MYSQLTEST_VARDIR/tmp/bug_39701.data;
|
||||
|
||||
CREATE TABLE test.t1 (a INT, blob_column LONGBLOB, PRIMARY KEY(a));
|
||||
INSERT INTO test.t1 VALUES(1,'test');
|
||||
UPDATE test.t1 SET blob_column=LOAD_FILE('../../std_data/words2.dat') WHERE a=1;
|
||||
delimiter |;
|
||||
create procedure test.p1()
|
||||
begin
|
||||
INSERT INTO test.t1 VALUES(2,'test');
|
||||
UPDATE test.t1 SET blob_column=LOAD_FILE('../../std_data/words2.dat') WHERE a=2;
|
||||
end|
|
||||
delimiter ;|
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval SELECT repeat('x',20) INTO OUTFILE '$file'
|
||||
|
||||
CALL test.p1();
|
||||
SELECT * FROM test.t1 ORDER BY blob_column;
|
||||
save_master_pos;
|
||||
sync_slave_with_master;
|
||||
disable_warnings;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
enable_warnings;
|
||||
|
||||
CREATE TABLE t1 (t text);
|
||||
DELIMITER |;
|
||||
CREATE PROCEDURE p(file TEXT)
|
||||
BEGIN
|
||||
INSERT INTO t1 VALUES (LOAD_FILE(file));
|
||||
END|
|
||||
DELIMITER ;|
|
||||
|
||||
# stop slave before issuing the load_file on master
|
||||
connection slave;
|
||||
# Need to allow some time when NDB engine is used for
|
||||
# the injector thread to have time to populate binlog
|
||||
let $wait_condition= SELECT INSTR(blob_column,'aberration') > 0 FROM test.t1 WHERE a = 2;
|
||||
--source include/wait_condition.inc
|
||||
SELECT * FROM test.t1 ORDER BY blob_column;
|
||||
source include/stop_slave.inc;
|
||||
|
||||
connection master;
|
||||
|
||||
# test: check that logging falls back to rbr.
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--eval CALL p('$file')
|
||||
|
||||
# test: remove the file from the filesystem and assert that slave still
|
||||
# gets the loaded file
|
||||
remove_file $file;
|
||||
|
||||
# now that the file is removed it is safe (regarding what we want to test)
|
||||
# to start slave
|
||||
connection slave;
|
||||
source include/start_slave.inc;
|
||||
|
||||
# Cleanup
|
||||
connection master;
|
||||
DROP PROCEDURE IF EXISTS test.p1;
|
||||
DROP TABLE test.t1;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 5.0 test case
|
||||
# assertion: assert that the slave got the updates even
|
||||
# if the file was removed before the slave started,
|
||||
# meaning that contents were indeed transfered
|
||||
# through binlog (in row format)
|
||||
let $diff_table_1=master:test.t1;
|
||||
let $diff_table_2=slave:test.t1;
|
||||
source include/diff_tables.inc;
|
||||
|
||||
# CLEAN UP
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE p;
|
||||
sync_slave_with_master;
|
||||
|
|
20
mysql-test/suite/rpl/t/rpl_stm_loadfile.test
Normal file
20
mysql-test/suite/rpl/t/rpl_stm_loadfile.test
Normal file
|
@ -0,0 +1,20 @@
|
|||
#############################################################################
|
||||
# Original Author: JBM #
|
||||
# Original Date: Aug/18/2005 #
|
||||
#############################################################################
|
||||
# TEST: To test the LOAD_FILE() in rbr #
|
||||
#############################################################################
|
||||
# Change Author: JBM
|
||||
# Change Date: 2006-01-16
|
||||
# Change: Added Order by for NDB
|
||||
# Change: Split the original test file. This one forces STATEMENT only because
|
||||
# when in STATEMENT mode, the load_file will issue a warning, whereas
|
||||
# in RBR or MIXED mode it does not (by lsoares).
|
||||
##########
|
||||
|
||||
# Includes
|
||||
-- source include/master-slave.inc
|
||||
-- source include/have_binlog_format_statement.inc
|
||||
|
||||
-- source extra/rpl_tests/rpl_loadfile.test
|
||||
|
|
@ -165,5 +165,32 @@ connection master;
|
|||
DROP TABLE t1;
|
||||
SET @@session.time_zone = default;
|
||||
|
||||
# Bug#41719 delayed INSERT into timestamp col needs set time_zone for concurrent binlogging
|
||||
# To test that time_zone is correctly binloging for 'insert delayed' statement
|
||||
# Insert 2 values into timestamp col with different time_zone. Check result.
|
||||
|
||||
--connection master
|
||||
reset master;
|
||||
CREATE TABLE t1 (date timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, a int(11) default NULL);
|
||||
|
||||
SET @@session.time_zone='+01:00';
|
||||
insert into t1 values('2008-12-23 19:39:39',1);
|
||||
|
||||
--connection master1
|
||||
SET @@session.time_zone='+02:00';
|
||||
insert delayed into t1 values ('2008-12-23 19:39:39',2);
|
||||
# Forces table t1 to be closed and flushes the query cache.
|
||||
# This makes sure that 'delayed insert' is executed before next statement.
|
||||
flush table t1;
|
||||
flush logs;
|
||||
select * from t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir;`;
|
||||
--exec $MYSQL_BINLOG $MYSQLD_DATADIR/master-bin.000001 | $MYSQL
|
||||
--connection master1
|
||||
select * from t1 order by a;
|
||||
DROP TABLE t1;
|
||||
SET @@session.time_zone = default;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
# #
|
||||
###############################################################################
|
||||
|
||||
--source include/not_embedded.inc
|
||||
--source include/load_sysvars.inc
|
||||
|
||||
###################################################################
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
# #
|
||||
###############################################################################
|
||||
|
||||
--source include/not_embedded.inc
|
||||
--source include/load_sysvars.inc
|
||||
|
||||
##################################################################
|
||||
|
|
|
@ -44,7 +44,7 @@ SET @@global.binlog_cache_size = 10000.01;
|
|||
ERROR 42000: Incorrect argument type to variable 'binlog_cache_size'
|
||||
SET @@global.binlog_cache_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect binlog_cache_size value: '0'
|
||||
Warning 1292 Truncated incorrect binlog_cache_size value: '-1024'
|
||||
SELECT @@global.binlog_cache_size;
|
||||
@@global.binlog_cache_size
|
||||
4096
|
||||
|
|
|
@ -68,6 +68,8 @@ SELECT @@global.bulk_insert_buffer_size;
|
|||
@@global.bulk_insert_buffer_size
|
||||
4294967295
|
||||
SET @@global.bulk_insert_buffer_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect bulk_insert_buffer_size value: '-1024'
|
||||
SELECT @@global.bulk_insert_buffer_size;
|
||||
@@global.bulk_insert_buffer_size
|
||||
0
|
||||
|
@ -84,6 +86,8 @@ SELECT @@session.bulk_insert_buffer_size;
|
|||
@@session.bulk_insert_buffer_size
|
||||
4294967295
|
||||
SET @@session.bulk_insert_buffer_size = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect bulk_insert_buffer_size value: '-2'
|
||||
SELECT @@session.bulk_insert_buffer_size;
|
||||
@@session.bulk_insert_buffer_size
|
||||
0
|
||||
|
|
|
@ -35,7 +35,7 @@ SELECT @@global.delayed_insert_limit;
|
|||
1
|
||||
SET @@global.delayed_insert_limit = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect delayed_insert_limit value: '0'
|
||||
Warning 1292 Truncated incorrect delayed_insert_limit value: '-1024'
|
||||
SELECT @@global.delayed_insert_limit;
|
||||
@@global.delayed_insert_limit
|
||||
1
|
||||
|
|
|
@ -3,98 +3,75 @@
|
|||
Creating connection con0
|
||||
Creating connection con1
|
||||
SET @global_delayed_insert_limit = @@GLOBAL.delayed_insert_limit;
|
||||
CREATE TABLE t1 (a varchar(100));
|
||||
CREATE TABLE t1 (a VARCHAR(100),b VARCHAR(100),c VARCHAR(100));
|
||||
'#--------------------FN_DYNVARS_25_01-------------------------#'
|
||||
SET GLOBAL delayed_insert_limit = 9;
|
||||
** Connection con0 **
|
||||
SET GLOBAL delayed_insert_limit = 9;
|
||||
** Connection con1 **
|
||||
SET GLOBAL delayed_insert_limit = 9;
|
||||
** Connection default **
|
||||
SET GLOBAL delayed_insert_limit = 9;
|
||||
INSERT INTO t1 VALUES('1');
|
||||
INSERT INTO t1 VALUES('2');
|
||||
INSERT INTO t1 VALUES('3');
|
||||
INSERT INTO t1 VALUES('4');
|
||||
INSERT INTO t1 VALUES('5');
|
||||
INSERT INTO t1 VALUES('6');
|
||||
SET GLOBAL delayed_insert_limit = 14;
|
||||
INSERT INTO t1 VALUES('1','1','1');
|
||||
INSERT INTO t1 VALUES('2','1','1');
|
||||
INSERT INTO t1 VALUES('3','1','1');
|
||||
INSERT INTO t1 VALUES('4','1','1');
|
||||
INSERT INTO t1 VALUES('5','1','1');
|
||||
INSERT INTO t1 VALUES('6','1','1');
|
||||
LOCK TABLE t1 WRITE;
|
||||
** Connection con1 **
|
||||
INSERT DELAYED INTO t1 VALUES('7');
|
||||
INSERT DELAYED INTO t1 VALUES('8');
|
||||
INSERT DELAYED INTO t1 VALUES('9');
|
||||
INSERT DELAYED INTO t1 VALUES('10');
|
||||
INSERT DELAYED INTO t1 VALUES('11');
|
||||
INSERT DELAYED INTO t1 VALUES('12');
|
||||
INSERT DELAYED INTO t1 VALUES('13');
|
||||
INSERT DELAYED INTO t1 VALUES('14');
|
||||
INSERT DELAYED INTO t1 VALUES('15');
|
||||
INSERT DELAYED INTO t1 VALUES('16');
|
||||
INSERT DELAYED INTO t1 VALUES('17');
|
||||
INSERT DELAYED INTO t1 VALUES('18');
|
||||
INSERT DELAYED INTO t1 VALUES('19');
|
||||
INSERT DELAYED INTO t1 VALUES('20');
|
||||
INSERT DELAYED INTO t1 VALUES('21');
|
||||
INSERT DELAYED INTO t1 VALUES('22');|
|
||||
INSERT DELAYED INTO t1 VALUES('7','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('8','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('9','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('10','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('11','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('12','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('13','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('14','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('15','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('16','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('17','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('18','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('19','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('20','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('21','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('22','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('23','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('24','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('25','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('26','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('27','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('28','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('29','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('30','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('31','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('32','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('33','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('34','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('35','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('36','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('37','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('38','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('39','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('40','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('41','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('42','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('43','1','1');|
|
||||
** Connection con0 **
|
||||
SELECT * FROM t1;|
|
||||
SELECT COUNT(*) FROM t1;
|
||||
** Connection default **
|
||||
Waiting for 1 sec
|
||||
** Wait till con0 is blocked **
|
||||
UNLOCK TABLES;
|
||||
** Connection con1 **
|
||||
Asynchronous "reap" result
|
||||
** Connection con0 **
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
'Bug#35386: insert delayed inserts 1 + limit rows instead of just limit rows'
|
||||
Asynchronous "reap" result
|
||||
The next result suffers from
|
||||
'# Bug#35386 insert delayed inserts 1 + limit rows instead of just limit rows'
|
||||
COUNT(*)
|
||||
21
|
||||
** Connection default **
|
||||
Waiting for 1 sec
|
||||
Checking if the delayed insert continued afterwards
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
DELETE FROM t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
43
|
||||
DROP TABLE t1;
|
||||
'#--------------------FN_DYNVARS_25_02-------------------------#'
|
||||
SET GLOBAL delayed_insert_limit = 20;
|
||||
** Connection con0 **
|
||||
SET GLOBAL delayed_insert_limit = 20;
|
||||
** Connection con1 **
|
||||
SET GLOBAL delayed_insert_limit = 20;
|
||||
** Connection default **
|
||||
CREATE TABLE t1 (a VARCHAR(100));
|
||||
SET GLOBAL delayed_insert_limit = 20;
|
||||
INSERT INTO t1 VALUES('1');
|
||||
INSERT INTO t1 VALUES('2');
|
||||
|
@ -123,64 +100,21 @@ INSERT DELAYED INTO t1 VALUES('21');
|
|||
INSERT DELAYED INTO t1 VALUES('22');|
|
||||
** Connection con0 **
|
||||
Asynchronous execute
|
||||
SELECT * FROM t1;|
|
||||
SELECT COUNT(*) = 22 FROM t1;
|
||||
** Connection default **
|
||||
Waiting for 1 sec
|
||||
** Wait till con0 is blocked **
|
||||
UNLOCK TABLES;
|
||||
** Connection con1 **
|
||||
** Connection con0 **
|
||||
Asynchronous execute result
|
||||
a
|
||||
Asynchronous "reap" result
|
||||
COUNT(*) = 22
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
** Connection default**
|
||||
Waiting for 1 sec
|
||||
Checking if the delayed insert gives the same result afterwards
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
SELECT COUNT(*) = 22 FROM t1;
|
||||
COUNT(*) = 22
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
10
|
||||
11
|
||||
12
|
||||
13
|
||||
14
|
||||
15
|
||||
16
|
||||
17
|
||||
18
|
||||
19
|
||||
20
|
||||
21
|
||||
22
|
||||
DELETE FROM t1;
|
||||
Switching to default
|
||||
Disconnecting from con1, con0
|
||||
** Connection default**
|
||||
DROP TABLE t1;
|
||||
SET @@GLOBAL.delayed_insert_limit = @global_delayed_insert_limit;
|
||||
Disconnecting from con1, con0
|
||||
|
|
|
@ -35,7 +35,7 @@ SELECT @@global.delayed_queue_size;
|
|||
1
|
||||
SET @@global.delayed_queue_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect delayed_queue_size value: '0'
|
||||
Warning 1292 Truncated incorrect delayed_queue_size value: '-1024'
|
||||
SELECT @@global.delayed_queue_size;
|
||||
@@global.delayed_queue_size
|
||||
1
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
drop table if exists t1;
|
||||
## Creating new table ##
|
||||
CREATE TABLE t1
|
||||
(
|
||||
id INT NOT NULL auto_increment,
|
||||
PRIMARY KEY (id),
|
||||
name VARCHAR(30)
|
||||
);
|
||||
'#--------------------FN_DYNVARS_018_01-------------------------#'
|
||||
## Setting initial value of variable to ON ##
|
||||
SET @@global.event_scheduler = ON;
|
||||
SELECT @@event_scheduler;
|
||||
@@event_scheduler
|
||||
ON
|
||||
## Creating new event ##
|
||||
CREATE EVENT test_event_1
|
||||
ON SCHEDULE EVERY 3 SECOND
|
||||
DO
|
||||
INSERT into t1(name) values('Record_1');
|
||||
SELECT * from t1;
|
||||
id name
|
||||
1 Record_1
|
||||
2 Record_1
|
||||
DROP EVENT test_event_1;
|
||||
DELETE from t1;
|
||||
select * from t1;
|
||||
id name
|
||||
'#--------------------FN_DYNVARS_018_02-------------------------#'
|
||||
## Setting value of variable to OFF ##
|
||||
SET @@global.event_scheduler = OFF;
|
||||
SELECT @@event_scheduler;
|
||||
@@event_scheduler
|
||||
OFF
|
||||
## Creating new event ##
|
||||
CREATE EVENT test_event_1
|
||||
ON SCHEDULE EVERY 3 SECOND
|
||||
DO
|
||||
INSERT into t1(name) values('Record_2');
|
||||
## Table should be empty ##
|
||||
SELECT * from t1;
|
||||
id name
|
||||
DROP EVENT test_event_1;
|
||||
## Dropping table ##
|
||||
DROP table t1;
|
|
@ -70,7 +70,7 @@ FROM articles WHERE MATCH (title,body)
|
|||
AGAINST ('+security configuring' IN BOOLEAN MODE);
|
||||
id title body relevance
|
||||
8 MySQL Security When configured properly, MySQL ... 1
|
||||
9 Database Security Configuring MySQL for ... 1.3333333730698
|
||||
9 Database Security Configuring MySQL for ... 1.33333337306976
|
||||
SELECT * FROM articles WHERE MATCH (title,body)
|
||||
AGAINST ('"faster than"' IN BOOLEAN MODE);
|
||||
id title body
|
||||
|
@ -91,7 +91,7 @@ AGAINST ('+MySQL +(>show <dbms)' IN BOOLEAN MODE)
|
|||
ORDER BY relevance DESC;
|
||||
id title body relevance
|
||||
4 Optimizing MySQL In this tutorial we will show .... Run command line ... 1.25
|
||||
1 MySQL Tutorial DBMS stands for DataBase ... 0.83333337306976
|
||||
1 MySQL Tutorial DBMS stands for DataBase ... 0.833333373069763
|
||||
'---try setting different operators. Default '+ -><()~*:""&|'--'
|
||||
SET @@global.ft_boolean_syntax='~ /!@#$%^&*()-';
|
||||
SELECT * FROM articles WHERE MATCH (title,body)
|
||||
|
|
|
@ -9,22 +9,27 @@ name VARCHAR(30)
|
|||
'#--------------------FN_DYNVARS_052_01-------------------------#'
|
||||
## Setting initial value of variable to 1 ##
|
||||
SET @@global.interactive_timeout = 1;
|
||||
## Creating new interactive connection test_con1 ##
|
||||
## Creating new connection test_con1 ##
|
||||
## Inserting record in table ##
|
||||
INSERT into t1(name) values('Record_1');
|
||||
## Setting session value of interactive_timeout ##
|
||||
## Setting session value of interactive_timeout ##
|
||||
SET @@session.interactive_timeout = 1;
|
||||
## Verifying values of variable ##
|
||||
## Verifying values of variable ##
|
||||
SELECT @@session.interactive_timeout;
|
||||
@@session.interactive_timeout
|
||||
1
|
||||
SELECT @@global.interactive_timeout;
|
||||
@@global.interactive_timeout
|
||||
1
|
||||
## Using sleep to check timeout ##
|
||||
connection default;
|
||||
## Using sleep to check timeout ##
|
||||
sleep 2;
|
||||
connection test_con1;
|
||||
SELECT * from t1;
|
||||
id name
|
||||
1 Record_1
|
||||
'Bug#35377: Error should appear here because interactive_timeout value';
|
||||
'is 1 and connection remains idle for 5 secs';
|
||||
INSERT into t1(name) values('Record_2');
|
||||
connection default;
|
||||
disconnect test_con1;
|
||||
DROP TABLE t1;
|
||||
SET @@global.interactive_timeout= 28800;
|
||||
|
|
|
@ -75,7 +75,7 @@ SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228;
|
|||
1
|
||||
SET @@global.join_buffer_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect join_buffer_size value: '0'
|
||||
Warning 1292 Truncated incorrect join_buffer_size value: '-1024'
|
||||
SELECT @@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228;
|
||||
@@global.join_buffer_size=8200 OR @@global.join_buffer_size= 8228
|
||||
1
|
||||
|
@ -109,7 +109,7 @@ SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228;
|
|||
1
|
||||
SET @@session.join_buffer_size = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect join_buffer_size value: '0'
|
||||
Warning 1292 Truncated incorrect join_buffer_size value: '-2'
|
||||
SELECT @@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228;
|
||||
@@session.join_buffer_size=8200 OR @@session.join_buffer_size= 8228
|
||||
1
|
||||
|
|
|
@ -17,8 +17,6 @@ SELECT @@global.key_buffer_size BETWEEN 8 AND 36;
|
|||
@@global.key_buffer_size BETWEEN 8 AND 36
|
||||
1
|
||||
SET @@global.key_buffer_size = 1800;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_buffer_size value: '1800'
|
||||
SELECT @@global.key_buffer_size BETWEEN 8 AND 36;
|
||||
@@global.key_buffer_size BETWEEN 8 AND 36
|
||||
1
|
||||
|
@ -55,13 +53,13 @@ SELECT @@global.key_buffer_size BETWEEN 8 AND 36;
|
|||
@@global.key_buffer_size BETWEEN 8 AND 36
|
||||
1
|
||||
'#----------------------FN_DYNVARS_055_06------------------------#'
|
||||
SELECT @@global.key_buffer_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||||
SELECT @@global.key_buffer_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||||
WHERE VARIABLE_NAME='key_buffer_size';
|
||||
@@global.key_buffer_size = VARIABLE_VALUE
|
||||
1
|
||||
SELECT @@key_buffer_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||||
SELECT @@key_buffer_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||||
WHERE VARIABLE_NAME='key_buffer_size';
|
||||
@@key_buffer_size = VARIABLE_VALUE
|
||||
1
|
||||
|
|
|
@ -37,10 +37,14 @@ SELECT @@global.key_cache_age_threshold;
|
|||
'Bug# 34877 : Invalid Values are coming in variable on assigning valid values and Out Of Memory Warnings are coming';
|
||||
'#--------------------FN_DYNVARS_056_04-------------------------#'
|
||||
SET @@global.key_cache_age_threshold = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_age_threshold value: '18446744073709551615'
|
||||
SELECT @@global.key_cache_age_threshold;
|
||||
@@global.key_cache_age_threshold
|
||||
4294967200
|
||||
SET @@global.key_cache_age_threshold = 42949672951;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_age_threshold value: '42949672951'
|
||||
SELECT @@global.key_cache_age_threshold;
|
||||
@@global.key_cache_age_threshold
|
||||
4294967200
|
||||
|
@ -50,9 +54,11 @@ SELECT @@global.key_cache_age_threshold;
|
|||
@@global.key_cache_age_threshold
|
||||
4294967200
|
||||
SET @@global.key_cache_age_threshold = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_age_threshold value: '18446744073709550592'
|
||||
SELECT @@global.key_cache_age_threshold;
|
||||
@@global.key_cache_age_threshold
|
||||
4294966200
|
||||
4294967200
|
||||
SET @@global.key_cache_age_threshold = 99;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_age_threshold value: '99'
|
||||
|
|
|
@ -36,13 +36,13 @@ SELECT @@global.key_cache_block_size;
|
|||
'#--------------------FN_DYNVARS_057_04-------------------------#'
|
||||
SET @@global.key_cache_block_size = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_block_size value: '4294967295'
|
||||
Warning 1292 Truncated incorrect key_cache_block_size value: '18446744073709551615'
|
||||
SELECT @@global.key_cache_block_size;
|
||||
@@global.key_cache_block_size
|
||||
16384
|
||||
SET @@global.key_cache_block_size = 42949672951;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_block_size value: '4294967287'
|
||||
Warning 1292 Truncated incorrect key_cache_block_size value: '42949672951'
|
||||
SELECT @@global.key_cache_block_size;
|
||||
@@global.key_cache_block_size
|
||||
16384
|
||||
|
@ -53,7 +53,7 @@ SELECT @@global.key_cache_block_size;
|
|||
16384
|
||||
SET @@global.key_cache_block_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_block_size value: '4294966272'
|
||||
Warning 1292 Truncated incorrect key_cache_block_size value: '18446744073709550592'
|
||||
SELECT @@global.key_cache_block_size;
|
||||
@@global.key_cache_block_size
|
||||
16384
|
||||
|
|
|
@ -35,7 +35,7 @@ SELECT @@global.key_cache_division_limit;
|
|||
'#--------------------FN_DYNVARS_058_04-------------------------#'
|
||||
SET @@global.key_cache_division_limit = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_division_limit value: '4294967295'
|
||||
Warning 1292 Truncated incorrect key_cache_division_limit value: '18446744073709551615'
|
||||
SELECT @@global.key_cache_division_limit;
|
||||
@@global.key_cache_division_limit
|
||||
100
|
||||
|
@ -52,7 +52,7 @@ SELECT @@global.key_cache_division_limit;
|
|||
100
|
||||
SET @@global.key_cache_division_limit = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_cache_division_limit value: '4294966272'
|
||||
Warning 1292 Truncated incorrect key_cache_division_limit value: '18446744073709550592'
|
||||
SELECT @@global.key_cache_division_limit;
|
||||
@@global.key_cache_division_limit
|
||||
100
|
||||
|
|
|
@ -76,6 +76,8 @@ SELECT @@global.log_warnings;
|
|||
@@global.log_warnings
|
||||
4294967295
|
||||
SET @@global.log_warnings = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect log_warnings value: '-1024'
|
||||
SELECT @@global.log_warnings;
|
||||
@@global.log_warnings
|
||||
0
|
||||
|
@ -96,6 +98,8 @@ SELECT @@session.log_warnings;
|
|||
@@session.log_warnings
|
||||
4294967295
|
||||
SET @@session.log_warnings = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect log_warnings value: '-2'
|
||||
SELECT @@session.log_warnings;
|
||||
@@session.log_warnings
|
||||
0
|
||||
|
|
|
@ -39,7 +39,7 @@ SELECT @@global.max_binlog_cache_size;
|
|||
'#--------------------FN_DYNVARS_072_04-------------------------#'
|
||||
SET @@global.max_binlog_cache_size = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_binlog_cache_size value: '0'
|
||||
Warning 1292 Truncated incorrect max_binlog_cache_size value: '-1'
|
||||
SELECT @@global.max_binlog_cache_size;
|
||||
@@global.max_binlog_cache_size
|
||||
4096
|
||||
|
@ -56,7 +56,7 @@ SELECT @@global.max_binlog_cache_size;
|
|||
4294963200
|
||||
SET @@global.max_binlog_cache_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_binlog_cache_size value: '0'
|
||||
Warning 1292 Truncated incorrect max_binlog_cache_size value: '-1024'
|
||||
SELECT @@global.max_binlog_cache_size;
|
||||
@@global.max_binlog_cache_size
|
||||
4096
|
||||
|
|
|
@ -39,7 +39,7 @@ SELECT @@global.max_connect_errors;
|
|||
'#--------------------FN_DYNVARS_073_04-------------------------#'
|
||||
SET @@global.max_connect_errors = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connect_errors value: '0'
|
||||
Warning 1292 Truncated incorrect max_connect_errors value: '-1'
|
||||
SELECT @@global.max_connect_errors;
|
||||
@@global.max_connect_errors
|
||||
1
|
||||
|
@ -56,7 +56,7 @@ SELECT @@global.max_connect_errors;
|
|||
4294967295
|
||||
SET @@global.max_connect_errors = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_connect_errors value: '0'
|
||||
Warning 1292 Truncated incorrect max_connect_errors value: '-1024'
|
||||
SELECT @@global.max_connect_errors;
|
||||
@@global.max_connect_errors
|
||||
1
|
||||
|
|
|
@ -40,10 +40,14 @@ SELECT @@global.max_heap_table_size;
|
|||
@@global.max_heap_table_size
|
||||
64512
|
||||
SET @@global.max_heap_table_size = 4294967294;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '4294967294'
|
||||
SELECT @@global.max_heap_table_size;
|
||||
@@global.max_heap_table_size
|
||||
4294966272
|
||||
SET @@global.max_heap_table_size = 4294967295;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '4294967295'
|
||||
SELECT @@global.max_heap_table_size;
|
||||
@@global.max_heap_table_size
|
||||
4294966272
|
||||
|
@ -62,10 +66,14 @@ SELECT @@session.max_heap_table_size;
|
|||
@@session.max_heap_table_size
|
||||
64512
|
||||
SET @@session.max_heap_table_size = 4294967294;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '4294967294'
|
||||
SELECT @@session.max_heap_table_size;
|
||||
@@session.max_heap_table_size
|
||||
4294966272
|
||||
SET @@session.max_heap_table_size = 4294967295;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '4294967295'
|
||||
SELECT @@session.max_heap_table_size;
|
||||
@@session.max_heap_table_size
|
||||
4294966272
|
||||
|
@ -73,13 +81,13 @@ SELECT @@session.max_heap_table_size;
|
|||
'#------------------FN_DYNVARS_077_05-----------------------#'
|
||||
SET @@global.max_heap_table_size = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '0'
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '-1'
|
||||
SELECT @@global.max_heap_table_size;
|
||||
@@global.max_heap_table_size
|
||||
16384
|
||||
SET @@global.max_heap_table_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '0'
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '-1024'
|
||||
SELECT @@global.max_heap_table_size;
|
||||
@@global.max_heap_table_size
|
||||
16384
|
||||
|
@ -96,6 +104,8 @@ SELECT @@global.max_heap_table_size;
|
|||
@@global.max_heap_table_size
|
||||
16384
|
||||
SET @@global.max_heap_table_size = 4294967296;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '4294967296'
|
||||
SELECT @@global.max_heap_table_size;
|
||||
@@global.max_heap_table_size
|
||||
4294966272
|
||||
|
@ -111,7 +121,7 @@ SELECT @@global.max_heap_table_size;
|
|||
4294966272
|
||||
SET @@session.max_heap_table_size = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '0'
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '-1'
|
||||
SELECT @@session.max_heap_table_size;
|
||||
@@session.max_heap_table_size
|
||||
16384
|
||||
|
@ -122,12 +132,16 @@ SELECT @@session.max_heap_table_size;
|
|||
@@session.max_heap_table_size
|
||||
16384
|
||||
SET @@session.max_heap_table_size = 4294967296;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '4294967296'
|
||||
SELECT @@session.max_heap_table_size;
|
||||
@@session.max_heap_table_size
|
||||
4294966272
|
||||
SET @@session.max_heap_table_size = 65530.34.;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1
|
||||
SET @@session.max_heap_table_size = 10737418241;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_heap_table_size value: '10737418241'
|
||||
SELECT @@session.max_heap_table_size;
|
||||
@@session.max_heap_table_size
|
||||
4294966272
|
||||
|
|
|
@ -77,7 +77,7 @@ SELECT @@global.max_seeks_for_key;
|
|||
1
|
||||
SET @@global.max_seeks_for_key = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_seeks_for_key value: '0'
|
||||
Warning 1292 Truncated incorrect max_seeks_for_key value: '-1024'
|
||||
SELECT @@global.max_seeks_for_key;
|
||||
@@global.max_seeks_for_key
|
||||
1
|
||||
|
@ -105,7 +105,7 @@ SELECT @@session.max_seeks_for_key;
|
|||
1
|
||||
SET @@session.max_seeks_for_key = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_seeks_for_key value: '0'
|
||||
Warning 1292 Truncated incorrect max_seeks_for_key value: '-2'
|
||||
SELECT @@session.max_seeks_for_key;
|
||||
@@session.max_seeks_for_key
|
||||
1
|
||||
|
|
|
@ -71,7 +71,7 @@ SELECT @@session.max_tmp_tables;
|
|||
'#------------------FN_DYNVARS_086_05-----------------------#'
|
||||
SET @@global.max_tmp_tables = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_tmp_tables value: '0'
|
||||
Warning 1292 Truncated incorrect max_tmp_tables value: '-1024'
|
||||
SELECT @@global.max_tmp_tables;
|
||||
@@global.max_tmp_tables
|
||||
1
|
||||
|
@ -83,7 +83,7 @@ SELECT @@global.max_tmp_tables;
|
|||
4294967295
|
||||
SET @@global.max_tmp_tables = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_tmp_tables value: '0'
|
||||
Warning 1292 Truncated incorrect max_tmp_tables value: '-1'
|
||||
SELECT @@global.max_tmp_tables;
|
||||
@@global.max_tmp_tables
|
||||
1
|
||||
|
@ -111,7 +111,7 @@ SELECT @@session.max_tmp_tables;
|
|||
4294967295
|
||||
SET @@session.max_tmp_tables = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_tmp_tables value: '0'
|
||||
Warning 1292 Truncated incorrect max_tmp_tables value: '-1'
|
||||
SELECT @@session.max_tmp_tables;
|
||||
@@session.max_tmp_tables
|
||||
1
|
||||
|
@ -123,7 +123,7 @@ SELECT @@session.max_tmp_tables;
|
|||
4294967295
|
||||
SET @@session.max_tmp_tables = -001;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_tmp_tables value: '0'
|
||||
Warning 1292 Truncated incorrect max_tmp_tables value: '-1'
|
||||
SELECT @@session.max_tmp_tables;
|
||||
@@session.max_tmp_tables
|
||||
1
|
||||
|
|
|
@ -37,7 +37,7 @@ SELECT @@global.max_write_lock_count;
|
|||
'#------------------FN_DYNVARS_088_04-----------------------#'
|
||||
SET @@global.max_write_lock_count = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_write_lock_count value: '0'
|
||||
Warning 1292 Truncated incorrect max_write_lock_count value: '-1024'
|
||||
SELECT @@global.max_write_lock_count;
|
||||
@@global.max_write_lock_count
|
||||
1
|
||||
|
@ -49,7 +49,7 @@ SELECT @@global.max_write_lock_count;
|
|||
4294967295
|
||||
SET @@global.max_write_lock_count = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect max_write_lock_count value: '0'
|
||||
Warning 1292 Truncated incorrect max_write_lock_count value: '-1'
|
||||
SELECT @@global.max_write_lock_count;
|
||||
@@global.max_write_lock_count
|
||||
1
|
||||
|
|
|
@ -82,6 +82,8 @@ SELECT @@global.min_examined_row_limit;
|
|||
@@global.min_examined_row_limit
|
||||
429496726
|
||||
SET @@global.min_examined_row_limit = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect min_examined_row_limit value: '-1024'
|
||||
SELECT @@global.min_examined_row_limit;
|
||||
@@global.min_examined_row_limit
|
||||
0
|
||||
|
@ -108,6 +110,8 @@ SELECT @@session.min_examined_row_limit;
|
|||
@@session.min_examined_row_limit
|
||||
4294967295
|
||||
SET @@session.min_examined_row_limit = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect min_examined_row_limit value: '-1'
|
||||
SELECT @@session.min_examined_row_limit;
|
||||
@@session.min_examined_row_limit
|
||||
0
|
||||
|
|
|
@ -83,7 +83,7 @@ SELECT @@global.multi_range_count;
|
|||
4294967295
|
||||
SET @@global.multi_range_count = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect multi_range_count value: '0'
|
||||
Warning 1292 Truncated incorrect multi_range_count value: '-1024'
|
||||
SELECT @@global.multi_range_count;
|
||||
@@global.multi_range_count
|
||||
1
|
||||
|
@ -117,7 +117,7 @@ SELECT @@session.multi_range_count;
|
|||
4294967295
|
||||
SET @@session.multi_range_count = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect multi_range_count value: '0'
|
||||
Warning 1292 Truncated incorrect multi_range_count value: '-1'
|
||||
SELECT @@session.multi_range_count;
|
||||
@@session.multi_range_count
|
||||
1
|
||||
|
|
|
@ -48,14 +48,20 @@ SET @@local.myisam_max_sort_file_size = 4;
|
|||
ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
'#------------------FN_DYNVARS_094_05-----------------------#'
|
||||
SET @@global.myisam_max_sort_file_size = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect myisam_max_sort_file_size value: '-1'
|
||||
SELECT @@global.myisam_max_sort_file_size;
|
||||
@@global.myisam_max_sort_file_size
|
||||
0
|
||||
SET @@global.myisam_max_sort_file_size = -2147483648;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect myisam_max_sort_file_size value: '-2147483648'
|
||||
SELECT @@global.myisam_max_sort_file_size;
|
||||
@@global.myisam_max_sort_file_size
|
||||
0
|
||||
SET @@global.myisam_max_sort_file_size = -2147483649;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect myisam_max_sort_file_size value: '-2147483649'
|
||||
SELECT @@global.myisam_max_sort_file_size;
|
||||
@@global.myisam_max_sort_file_size
|
||||
0
|
||||
|
|
|
@ -61,7 +61,7 @@ SELECT @@global.myisam_repair_threads ;
|
|||
1
|
||||
SET @@global.myisam_repair_threads = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect myisam_repair_threads value: '0'
|
||||
Warning 1292 Truncated incorrect myisam_repair_threads value: '-1024'
|
||||
SELECT @@global.myisam_repair_threads ;
|
||||
@@global.myisam_repair_threads
|
||||
1
|
||||
|
@ -104,7 +104,7 @@ SELECT @@session.myisam_repair_threads ;
|
|||
1
|
||||
SET @@session.myisam_repair_threads = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect myisam_repair_threads value: '0'
|
||||
Warning 1292 Truncated incorrect myisam_repair_threads value: '-2'
|
||||
SELECT @@session.myisam_repair_threads ;
|
||||
@@session.myisam_repair_threads
|
||||
1
|
||||
|
|
|
@ -61,7 +61,7 @@ SELECT @@global.myisam_sort_buffer_size ;
|
|||
4
|
||||
SET @@global.myisam_sort_buffer_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0'
|
||||
Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '-1024'
|
||||
SELECT @@global.myisam_sort_buffer_size ;
|
||||
@@global.myisam_sort_buffer_size
|
||||
4
|
||||
|
@ -104,7 +104,7 @@ SELECT @@session.myisam_sort_buffer_size ;
|
|||
4
|
||||
SET @@session.myisam_sort_buffer_size = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '0'
|
||||
Warning 1292 Truncated incorrect myisam_sort_buffer_size value: '-2'
|
||||
SELECT @@session.myisam_sort_buffer_size ;
|
||||
@@session.myisam_sort_buffer_size
|
||||
4
|
||||
|
|
|
@ -77,7 +77,7 @@ SELECT @@global.net_retry_count;
|
|||
1
|
||||
SET @@global.net_retry_count = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect net_retry_count value: '0'
|
||||
Warning 1292 Truncated incorrect net_retry_count value: '-1024'
|
||||
SELECT @@global.net_retry_count;
|
||||
@@global.net_retry_count
|
||||
1
|
||||
|
@ -111,7 +111,7 @@ SELECT @@session.net_retry_count;
|
|||
1
|
||||
SET @@session.net_retry_count = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect net_retry_count value: '0'
|
||||
Warning 1292 Truncated incorrect net_retry_count value: '-2'
|
||||
SELECT @@session.net_retry_count;
|
||||
@@session.net_retry_count
|
||||
1
|
||||
|
|
|
@ -86,7 +86,7 @@ SELECT @@global.query_alloc_block_size;
|
|||
1024
|
||||
SET @@global.query_alloc_block_size = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_alloc_block_size value: '0'
|
||||
Warning 1292 Truncated incorrect query_alloc_block_size value: '-1'
|
||||
SELECT @@global.query_alloc_block_size;
|
||||
@@global.query_alloc_block_size
|
||||
1024
|
||||
|
@ -120,7 +120,7 @@ SELECT @@session.query_alloc_block_size;
|
|||
1024
|
||||
SET @@session.query_alloc_block_size = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_alloc_block_size value: '0'
|
||||
Warning 1292 Truncated incorrect query_alloc_block_size value: '-2'
|
||||
SELECT @@session.query_alloc_block_size;
|
||||
@@session.query_alloc_block_size
|
||||
1024
|
||||
|
|
|
@ -32,6 +32,8 @@ SELECT @@global.query_cache_limit;
|
|||
1048575
|
||||
'#--------------------FN_DYNVARS_131_04-------------------------#'
|
||||
SET @@global.query_cache_limit = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_cache_limit value: '-1'
|
||||
SELECT @@global.query_cache_limit;
|
||||
@@global.query_cache_limit
|
||||
0
|
||||
|
@ -53,6 +55,8 @@ SELECT @@global.query_cache_limit;
|
|||
@@global.query_cache_limit
|
||||
4294967295
|
||||
SET @@global.query_cache_limit = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_cache_limit value: '-1024'
|
||||
SELECT @@global.query_cache_limit;
|
||||
@@global.query_cache_limit
|
||||
0
|
||||
|
|
|
@ -42,6 +42,8 @@ SELECT @@global.query_cache_min_res_unit;
|
|||
1048576
|
||||
'#--------------------FN_DYNVARS_132_04-------------------------#'
|
||||
SET @@global.query_cache_min_res_unit = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_cache_min_res_unit value: '-1'
|
||||
SELECT @@global.query_cache_min_res_unit;
|
||||
@@global.query_cache_min_res_unit
|
||||
512
|
||||
|
@ -61,6 +63,8 @@ SELECT @@global.query_cache_min_res_unit;
|
|||
@@global.query_cache_min_res_unit
|
||||
512
|
||||
SET @@global.query_cache_min_res_unit = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_cache_min_res_unit value: '-1024'
|
||||
SELECT @@global.query_cache_min_res_unit;
|
||||
@@global.query_cache_min_res_unit
|
||||
512
|
||||
|
|
|
@ -41,6 +41,8 @@ SELECT @@global.query_cache_size;
|
|||
1047552
|
||||
'#--------------------FN_DYNVARS_133_04-------------------------#'
|
||||
SET @@global.query_cache_size = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_cache_size value: '-1'
|
||||
SELECT @@global.query_cache_size;
|
||||
@@global.query_cache_size
|
||||
0
|
||||
|
@ -61,6 +63,8 @@ SELECT @@global.query_cache_size;
|
|||
@@global.query_cache_size
|
||||
0
|
||||
SET @@global.query_cache_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect query_cache_size value: '-1024'
|
||||
SELECT @@global.query_cache_size;
|
||||
@@global.query_cache_size
|
||||
0
|
||||
|
|
|
@ -53,7 +53,7 @@ LOCK TABLE t1 WRITE;
|
|||
** Asynchronous Execution **
|
||||
SELECT * FROM t1;
|
||||
** Connection con0 **
|
||||
Sleeping 2 Seconds before unlock
|
||||
wait until table is locked
|
||||
UNLOCK TABLES;
|
||||
** Connection con1 **
|
||||
** Asynchronous Result **
|
||||
|
@ -108,8 +108,17 @@ id value
|
|||
1 val1
|
||||
2 val2
|
||||
3 val3
|
||||
SELECT * FROM t1;
|
||||
id value
|
||||
1 val1
|
||||
2 val2
|
||||
3 val3
|
||||
SELECT * FROM t1;
|
||||
id value
|
||||
1 val1
|
||||
2 val2
|
||||
3 val3
|
||||
** Connection con0 **
|
||||
Sleeping 2 Seconds before unlock
|
||||
UNLOCK TABLES;
|
||||
** Connection con1 **
|
||||
'#----------------------------FN_DYNVARS_136_05------------------------#'
|
||||
|
|
|
@ -79,7 +79,7 @@ SELECT @@global.range_alloc_block_size;
|
|||
4096
|
||||
SET @@global.range_alloc_block_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect range_alloc_block_size value: '0'
|
||||
Warning 1292 Truncated incorrect range_alloc_block_size value: '-1024'
|
||||
SELECT @@global.range_alloc_block_size;
|
||||
@@global.range_alloc_block_size
|
||||
4096
|
||||
|
@ -107,7 +107,7 @@ SELECT @@session.range_alloc_block_size;
|
|||
4096
|
||||
SET @@session.range_alloc_block_size = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect range_alloc_block_size value: '0'
|
||||
Warning 1292 Truncated incorrect range_alloc_block_size value: '-2'
|
||||
SELECT @@session.range_alloc_block_size;
|
||||
@@session.range_alloc_block_size
|
||||
4096
|
||||
|
|
|
@ -155,15 +155,11 @@ SELECT @@global.read_buffer_size= 8200 OR @@global.read_buffer_size= 8228 ;
|
|||
'Bug: FN_DYNVARS_138_08- Errors are not coming on assigning TRUE/FALSE to variable'
|
||||
'#---------------------FN_DYNVARS_138_09----------------------#'
|
||||
SET @@global.read_buffer_size = 9000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect read_buffer_size value: '9000'
|
||||
SELECT @@read_buffer_size = @@global.read_buffer_size;
|
||||
@@read_buffer_size = @@global.read_buffer_size
|
||||
0
|
||||
'#---------------------FN_DYNVARS_138_10----------------------#'
|
||||
SET @@read_buffer_size = 9000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect read_buffer_size value: '9000'
|
||||
SELECT @@read_buffer_size = @@local.read_buffer_size;
|
||||
@@read_buffer_size = @@local.read_buffer_size
|
||||
1
|
||||
|
@ -172,8 +168,6 @@ SELECT @@local.read_buffer_size = @@session.read_buffer_size;
|
|||
1
|
||||
'#---------------------FN_DYNVARS_138_11----------------------#'
|
||||
SET read_buffer_size = 9100;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect read_buffer_size value: '9100'
|
||||
SELECT @@read_buffer_size= 8200 OR @@read_buffer_size= 8228 ;
|
||||
@@read_buffer_size= 8200 OR @@read_buffer_size= 8228
|
||||
1
|
||||
|
|
|
@ -154,15 +154,11 @@ SELECT @@global.read_rnd_buffer_size= 8200 OR @@global.read_rnd_buffer_size= 822
|
|||
1
|
||||
'#---------------------FN_DYNVARS_140_09----------------------#'
|
||||
SET @@global.read_rnd_buffer_size = 9000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect read_rnd_buffer_size value: '9000'
|
||||
SELECT @@read_rnd_buffer_size = @@global.read_rnd_buffer_size;
|
||||
@@read_rnd_buffer_size = @@global.read_rnd_buffer_size
|
||||
0
|
||||
'#---------------------FN_DYNVARS_140_10----------------------#'
|
||||
SET @@read_rnd_buffer_size = 9000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect read_rnd_buffer_size value: '9000'
|
||||
SELECT @@read_rnd_buffer_size = @@local.read_rnd_buffer_size;
|
||||
@@read_rnd_buffer_size = @@local.read_rnd_buffer_size
|
||||
1
|
||||
|
@ -171,8 +167,6 @@ SELECT @@local.read_rnd_buffer_size = @@session.read_rnd_buffer_size;
|
|||
1
|
||||
'#---------------------FN_DYNVARS_140_11----------------------#'
|
||||
SET read_rnd_buffer_size = 9100;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect read_rnd_buffer_size value: '9100'
|
||||
SELECT @@read_rnd_buffer_size= 8200 OR @@read_rnd_buffer_size= 8228;
|
||||
@@read_rnd_buffer_size= 8200 OR @@read_rnd_buffer_size= 8228
|
||||
1
|
||||
|
|
|
@ -12,7 +12,7 @@ DROP TABLE IF EXISTS t1;
|
|||
CREATE TEMPORARY TABLE t1 AS SELECT @@global.init_slave AS my_column;
|
||||
DESCRIBE t1;
|
||||
Field Type Null Key Default Extra
|
||||
my_column longtext NO NULL
|
||||
my_column varchar(59) NO
|
||||
DROP TABLE t1;
|
||||
SELECT @@global.init_slave = 'SET @@global.max_connections = @@global.max_connections + 1';
|
||||
@@global.init_slave = 'SET @@global.max_connections = @@global.max_connections + 1'
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
DROP TABLE IF EXISTS t1;
|
||||
'--- check if log file is rotated after 4096 bytes ----'
|
||||
'--- check if log file is rotated after 4096 bytes ----'
|
||||
SET @saved_max_binlog_size= @@global.max_binlog_size;
|
||||
SET @@global.max_binlog_size = 4096;
|
||||
CREATE TABLE t1(a CHAR(5));
|
||||
SELECT COUNT(*) FROM t1;
|
||||
COUNT(*)
|
||||
50
|
||||
'mylog.000002 exists'
|
||||
SET @@global.max_binlog_size= @saved_max_binlog_size;
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -51,14 +51,20 @@ SET @@local.rpl_recovery_rank = 4;
|
|||
ERROR HY000: Variable 'rpl_recovery_rank' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
'#------------------FN_DYNVARS_142_04-----------------------#'
|
||||
SET @@global.rpl_recovery_rank = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect rpl_recovery_rank value: '-1'
|
||||
SELECT @@global.rpl_recovery_rank;
|
||||
@@global.rpl_recovery_rank
|
||||
0
|
||||
SET @@global.rpl_recovery_rank = -2147483648;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect rpl_recovery_rank value: '-2147483648'
|
||||
SELECT @@global.rpl_recovery_rank;
|
||||
@@global.rpl_recovery_rank
|
||||
0
|
||||
SET @@global.rpl_recovery_rank = -2147483649;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect rpl_recovery_rank value: '-2147483649'
|
||||
SELECT @@global.rpl_recovery_rank;
|
||||
@@global.rpl_recovery_rank
|
||||
0
|
||||
|
|
|
@ -52,10 +52,14 @@ SET @@local.server_id = 4;
|
|||
ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
'#------------------FN_DYNVARS_144_05-----------------------#'
|
||||
SET @@global.server_id = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect server_id value: '-1'
|
||||
SELECT @@global.server_id;
|
||||
@@global.server_id
|
||||
0
|
||||
SET @@global.server_id = -2147483648;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect server_id value: '-2147483648'
|
||||
SELECT @@global.server_id;
|
||||
@@global.server_id
|
||||
0
|
||||
|
|
|
@ -57,6 +57,8 @@ SET @@local.slave_transaction_retries = 4;
|
|||
ERROR HY000: Variable 'slave_transaction_retries' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
'#------------------FN_DYNVARS_149_05-----------------------#'
|
||||
SET @@global.slave_transaction_retries = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect slave_transaction_retries value: '-1'
|
||||
SELECT @@global.slave_transaction_retries;
|
||||
@@global.slave_transaction_retries
|
||||
0
|
||||
|
|
|
@ -17,8 +17,8 @@ TRUNCATE mysql.slow_log;
|
|||
SELECT sleep(2);
|
||||
sleep(2)
|
||||
0
|
||||
SELECT count(*) FROM mysql.slow_log;
|
||||
count(*)
|
||||
SELECT count(*) > 0 FROM mysql.slow_log;
|
||||
count(*) > 0
|
||||
1
|
||||
SET @@global.log_output = @global_log_output;
|
||||
SET @global.slow_query_log = @global_slow_query_log;
|
||||
|
|
|
@ -29,7 +29,6 @@ LOCK TABLE t1 READ;
|
|||
SELECT * FROM t1;
|
||||
UNLOCK TABLES;|
|
||||
** Connection default **
|
||||
Sleeping for 1 secs
|
||||
UNLOCK TABLES;
|
||||
** Connection con0 **
|
||||
** Asynchronous Result **
|
||||
|
@ -66,7 +65,6 @@ LOCK TABLE t1 READ;
|
|||
SELECT * FROM t1;
|
||||
UNLOCK TABLES;|
|
||||
** Connection default **
|
||||
Sleeping for 1 secs
|
||||
UNLOCK TABLES;
|
||||
** Connection con0 **
|
||||
** Asynchronous Result **
|
||||
|
|
|
@ -36,47 +36,57 @@ SELECT @@global.sync_binlog;
|
|||
65536
|
||||
'#--------------------FN_DYNVARS_168_04-------------------------#'
|
||||
SET @@global.sync_binlog = -1;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sync_binlog value: '-1'
|
||||
SELECT @@global.sync_binlog;
|
||||
@@global.sync_binlog
|
||||
0
|
||||
SET @@global.sync_binlog = 4294967296;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sync_binlog value: '4294967296'
|
||||
SELECT @@global.sync_binlog;
|
||||
@@global.sync_binlog
|
||||
0
|
||||
4294967295
|
||||
SET @@global.sync_binlog = 10240022115;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sync_binlog value: '10240022115'
|
||||
SELECT @@global.sync_binlog;
|
||||
@@global.sync_binlog
|
||||
1650087523
|
||||
4294967295
|
||||
SET @@global.sync_binlog = 10000.01;
|
||||
ERROR 42000: Incorrect argument type to variable 'sync_binlog'
|
||||
SELECT @@global.sync_binlog;
|
||||
@@global.sync_binlog
|
||||
1650087523
|
||||
4294967295
|
||||
SET @@global.sync_binlog = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sync_binlog value: '-1024'
|
||||
SELECT @@global.sync_binlog;
|
||||
@@global.sync_binlog
|
||||
0
|
||||
SET @@global.sync_binlog = 42949672950;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sync_binlog value: '42949672950'
|
||||
SELECT @@global.sync_binlog;
|
||||
@@global.sync_binlog
|
||||
4294967286
|
||||
4294967295
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
SET @@global.sync_binlog = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'sync_binlog'
|
||||
SELECT @@global.sync_binlog;
|
||||
@@global.sync_binlog
|
||||
4294967286
|
||||
4294967295
|
||||
SET @@global.sync_binlog = 'test';
|
||||
ERROR 42000: Incorrect argument type to variable 'sync_binlog'
|
||||
SELECT @@global.sync_binlog;
|
||||
@@global.sync_binlog
|
||||
4294967286
|
||||
4294967295
|
||||
'#-------------------FN_DYNVARS_168_05----------------------------#'
|
||||
SET @@session.sync_binlog = 0;
|
||||
ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
SELECT @@sync_binlog;
|
||||
@@sync_binlog
|
||||
4294967286
|
||||
4294967295
|
||||
'#----------------------FN_DYNVARS_168_06------------------------#'
|
||||
SELECT @@global.sync_binlog = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||||
|
@ -88,7 +98,7 @@ SET sync_binlog = 1;
|
|||
ERROR HY000: Variable 'sync_binlog' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
SELECT @@sync_binlog;
|
||||
@@sync_binlog
|
||||
4294967286
|
||||
4294967295
|
||||
SET local.sync_binlog = 1;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sync_binlog = 1' at line 1
|
||||
SELECT local.sync_binlog;
|
||||
|
|
|
@ -51,7 +51,7 @@ SELECT @@global.tmp_table_size;
|
|||
1024
|
||||
SET @@global.tmp_table_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '0'
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '-1024'
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
1024
|
||||
|
@ -100,6 +100,8 @@ SELECT @@session.tmp_table_size;
|
|||
SET @@session.tmp_table_size = "Test";
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@session.tmp_table_size = 12345678901;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '12345678901'
|
||||
SELECT @@session.tmp_table_size IN (12345678901,4294967295);
|
||||
@@session.tmp_table_size IN (12345678901,4294967295)
|
||||
1
|
||||
|
|
|
@ -71,7 +71,7 @@ SELECT @@global.transaction_alloc_block_size;
|
|||
1024
|
||||
SET @@global.transaction_alloc_block_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect transaction_alloc_block_size value: '0'
|
||||
Warning 1292 Truncated incorrect transaction_alloc_block_size value: '-1024'
|
||||
SELECT @@global.transaction_alloc_block_size;
|
||||
@@global.transaction_alloc_block_size
|
||||
1024
|
||||
|
|
|
@ -66,7 +66,7 @@ SELECT @@global.transaction_prealloc_size;
|
|||
1024
|
||||
SET @@global.transaction_prealloc_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect transaction_prealloc_size value: '0'
|
||||
Warning 1292 Truncated incorrect transaction_prealloc_size value: '-1024'
|
||||
SELECT @@global.transaction_prealloc_size;
|
||||
@@global.transaction_prealloc_size
|
||||
1024
|
||||
|
|
|
@ -44,7 +44,7 @@ Warnings:
|
|||
Warning 1292 Truncated incorrect wait_timeout value: '0'
|
||||
SET @@global.wait_timeout = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect wait_timeout value: '0'
|
||||
Warning 1292 Truncated incorrect wait_timeout value: '-1024'
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
SET @@global.wait_timeout = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'wait_timeout'
|
||||
|
|
|
@ -1,23 +1,26 @@
|
|||
############# mysql-test\t\sql_low_priority_updates_func.test ###########################
|
||||
# #
|
||||
# Variable Name: sql_low_priority_updates #
|
||||
# Scope: GLOBAL #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: BOOLEAN #
|
||||
# Default Value: 1 TRUE #
|
||||
# Values: 1 TRUE, 0 FALSE #
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-02-25 #
|
||||
# Author: Sharique Abdullah #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable "sql_low_priority_updates" #
|
||||
# that checks behavior of this variable in the following ways #
|
||||
# * Functionality based on different values #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html #
|
||||
# #
|
||||
#########################################################################################
|
||||
################################################################################
|
||||
# #
|
||||
# Variable Name: sql_low_priority_updates #
|
||||
# Scope: GLOBAL #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: BOOLEAN #
|
||||
# Default Value: 1 TRUE #
|
||||
# Values: 1 TRUE, 0 FALSE #
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-02-25 #
|
||||
# Author: Sharique Abdullah #
|
||||
# Modified: HHunger 2009-02-26 Replaced 2 sleeps by wait conditions #
|
||||
# Modified: mleich 2009-03-18 Partially reimplemented #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable "sql_low_priority_updates"#
|
||||
# that checks behavior of this variable in the following ways #
|
||||
# * Functionality based on different values #
|
||||
# #
|
||||
# Reference: #
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
--echo ** Setup **
|
||||
--echo
|
||||
|
@ -29,8 +32,10 @@
|
|||
|
||||
--echo Creating connection con0
|
||||
connect (con0,localhost,root,,);
|
||||
let $con0_id=`SELECT CONNECTION_ID()`;
|
||||
--echo Creating connection con1
|
||||
connect (con1,localhost,root,,);
|
||||
let $con1_id=`SELECT CONNECTION_ID()`;
|
||||
|
||||
connection default;
|
||||
|
||||
|
@ -40,31 +45,20 @@ SET @global_delayed_insert_limit = @@GLOBAL.delayed_insert_limit;
|
|||
# Create Table
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (a varchar(100));
|
||||
CREATE TABLE t1 (a VARCHAR(100),b VARCHAR(100),c VARCHAR(100));
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_25_01-------------------------#'
|
||||
#
|
||||
# Value less than the provided INSERTS (9)
|
||||
#
|
||||
|
||||
SET GLOBAL delayed_insert_limit = 9;
|
||||
# delayed_insert_limit is smaller than the number of inserted rows
|
||||
|
||||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
SET GLOBAL delayed_insert_limit = 9;
|
||||
--echo ** Connection con1 **
|
||||
connection con1;
|
||||
SET GLOBAL delayed_insert_limit = 9;
|
||||
--echo ** Connection default **
|
||||
connection default;
|
||||
SET GLOBAL delayed_insert_limit = 9;
|
||||
SET GLOBAL delayed_insert_limit = 14;
|
||||
|
||||
INSERT INTO t1 VALUES('1');
|
||||
INSERT INTO t1 VALUES('2');
|
||||
INSERT INTO t1 VALUES('3');
|
||||
INSERT INTO t1 VALUES('4');
|
||||
INSERT INTO t1 VALUES('5');
|
||||
INSERT INTO t1 VALUES('6');
|
||||
INSERT INTO t1 VALUES('1','1','1');
|
||||
INSERT INTO t1 VALUES('2','1','1');
|
||||
INSERT INTO t1 VALUES('3','1','1');
|
||||
INSERT INTO t1 VALUES('4','1','1');
|
||||
INSERT INTO t1 VALUES('5','1','1');
|
||||
INSERT INTO t1 VALUES('6','1','1');
|
||||
|
||||
LOCK TABLE t1 WRITE;
|
||||
|
||||
|
@ -72,76 +66,94 @@ LOCK TABLE t1 WRITE;
|
|||
connection con1;
|
||||
|
||||
delimiter |;
|
||||
|
||||
send
|
||||
INSERT DELAYED INTO t1 VALUES('7');
|
||||
INSERT DELAYED INTO t1 VALUES('8');
|
||||
INSERT DELAYED INTO t1 VALUES('9');
|
||||
INSERT DELAYED INTO t1 VALUES('10');
|
||||
INSERT DELAYED INTO t1 VALUES('11');
|
||||
INSERT DELAYED INTO t1 VALUES('12');
|
||||
INSERT DELAYED INTO t1 VALUES('13');
|
||||
INSERT DELAYED INTO t1 VALUES('14');
|
||||
INSERT DELAYED INTO t1 VALUES('15');
|
||||
INSERT DELAYED INTO t1 VALUES('16');
|
||||
INSERT DELAYED INTO t1 VALUES('17');
|
||||
INSERT DELAYED INTO t1 VALUES('18');
|
||||
INSERT DELAYED INTO t1 VALUES('19');
|
||||
INSERT DELAYED INTO t1 VALUES('20');
|
||||
INSERT DELAYED INTO t1 VALUES('21');
|
||||
INSERT DELAYED INTO t1 VALUES('22');|
|
||||
|
||||
INSERT DELAYED INTO t1 VALUES('7','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('8','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('9','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('10','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('11','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('12','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('13','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('14','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('15','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('16','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('17','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('18','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('19','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('20','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('21','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('22','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('23','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('24','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('25','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('26','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('27','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('28','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('29','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('30','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('31','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('32','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('33','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('34','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('35','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('36','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('37','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('38','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('39','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('40','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('41','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('42','1','1');
|
||||
INSERT DELAYED INTO t1 VALUES('43','1','1');|
|
||||
delimiter ;|
|
||||
|
||||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
|
||||
delimiter |;
|
||||
|
||||
send
|
||||
SELECT * FROM t1;|
|
||||
|
||||
delimiter ;|
|
||||
let $wait_condition=
|
||||
SELECT variable_value > 0 FROM information_schema.global_status
|
||||
WHERE variable_name like 'Not_flushed_delayed_rows';
|
||||
--source include/wait_condition.inc
|
||||
let $my_select= SELECT COUNT(*) BETWEEN 21 AND 43 FROM t1;
|
||||
let $my_select= SELECT COUNT(*) FROM t1;
|
||||
send;
|
||||
eval $my_select;
|
||||
|
||||
--echo ** Connection default **
|
||||
connection default;
|
||||
|
||||
--echo Waiting for 1 sec
|
||||
--sleep 1
|
||||
|
||||
--echo ** Wait till con0 is blocked **
|
||||
let $wait_condition=
|
||||
SELECT COUNT(*) = 1 FROM information_schema.processlist
|
||||
WHERE state = 'Locked' AND info = '$my_select';
|
||||
--source include/wait_condition.inc
|
||||
UNLOCK TABLES;
|
||||
|
||||
--echo ** Connection con1 **
|
||||
connection con1;
|
||||
--echo Asynchronous "reap" result
|
||||
reap;
|
||||
|
||||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
--echo Asynchronous "reap" result
|
||||
--echo The next result suffers from
|
||||
--echo '# Bug#35386 insert delayed inserts 1 + limit rows instead of just limit rows'
|
||||
reap;
|
||||
--echo 'Bug#35386: insert delayed inserts 1 + limit rows instead of just limit rows'
|
||||
|
||||
--echo ** Connection default **
|
||||
connection default;
|
||||
|
||||
--echo Waiting for 1 sec
|
||||
--sleep 1
|
||||
let $wait_condition= SELECT count(*) = 43 FROM t1;
|
||||
--source include/wait_condition.inc
|
||||
--echo Checking if the delayed insert continued afterwards
|
||||
SELECT * FROM t1;
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
DELETE FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_25_02-------------------------#'
|
||||
#
|
||||
# Value 5
|
||||
#
|
||||
|
||||
SET GLOBAL delayed_insert_limit = 20;
|
||||
# delayed_insert_limit is bigger than the number of inserted rows
|
||||
|
||||
CREATE TABLE t1 (a VARCHAR(100));
|
||||
|
||||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
SET GLOBAL delayed_insert_limit = 20;
|
||||
--echo ** Connection con1 **
|
||||
connection con1;
|
||||
SET GLOBAL delayed_insert_limit = 20;
|
||||
--echo ** Connection default **
|
||||
connection default;
|
||||
SET GLOBAL delayed_insert_limit = 20;
|
||||
|
||||
INSERT INTO t1 VALUES('1');
|
||||
|
@ -181,49 +193,52 @@ delimiter ;|
|
|||
|
||||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
|
||||
let $wait_condition=
|
||||
SELECT variable_value > 0 FROM information_schema.global_status
|
||||
WHERE variable_name like 'Not_flushed_delayed_rows';
|
||||
--source include/wait_condition.inc
|
||||
--echo Asynchronous execute
|
||||
delimiter |;
|
||||
|
||||
send
|
||||
SELECT * FROM t1;|
|
||||
|
||||
delimiter ;|
|
||||
let $my_select= SELECT COUNT(*) = 22 FROM t1;
|
||||
send;
|
||||
eval $my_select;
|
||||
|
||||
--echo ** Connection default **
|
||||
connection default;
|
||||
|
||||
--echo Waiting for 1 sec
|
||||
--sleep 1
|
||||
|
||||
--echo ** Wait till con0 is blocked **
|
||||
let $wait_condition=
|
||||
SELECT COUNT(*) = 1 FROM information_schema.processlist
|
||||
WHERE state = 'Locked' AND info = '$my_select';
|
||||
--source include/wait_condition.inc
|
||||
UNLOCK TABLES;
|
||||
|
||||
--echo ** Connection con1 **
|
||||
connection con1;
|
||||
reap;
|
||||
|
||||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
--echo Asynchronous execute result
|
||||
--echo Asynchronous "reap" result
|
||||
reap;
|
||||
|
||||
--echo ** Connection default**
|
||||
connection default;
|
||||
|
||||
--echo Waiting for 1 sec
|
||||
--sleep 1
|
||||
--echo Checking if the delayed insert gives the same result afterwards
|
||||
SELECT * FROM t1;
|
||||
eval $my_select;
|
||||
|
||||
DELETE FROM t1;
|
||||
|
||||
#
|
||||
# Cleanup
|
||||
#
|
||||
|
||||
--echo Switching to default
|
||||
--echo ** Connection default**
|
||||
connection default;
|
||||
DROP TABLE t1;
|
||||
SET @@GLOBAL.delayed_insert_limit = @global_delayed_insert_limit;
|
||||
|
||||
--echo Disconnecting from con1, con0
|
||||
disconnect con0;
|
||||
disconnect con1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
SET @@GLOBAL.delayed_insert_limit = @global_delayed_insert_limit;
|
||||
let $wait_condition=
|
||||
SELECT COUNT(*) = 0 FROM information_schema.processlist
|
||||
WHERE id IN ($con0_id,$con1_id);
|
||||
--source include/wait_condition.inc
|
||||
|
|
|
@ -1,91 +0,0 @@
|
|||
############## mysql-test\t\event_scheduler_func.test ##########################
|
||||
# #
|
||||
# Variable Name: event_scheduler #
|
||||
# Scope: GLOBAL #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: Boolean #
|
||||
# Default Value: OFF #
|
||||
# Valid Values: ON, OFF & DISABLED #
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-03-17 #
|
||||
# Author: Salman Rawala #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable "event_scheduler" #
|
||||
# that checks functionality of this variable #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
|
||||
# server-system-variables.html#option_mysqld_event_scheduler #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
#########################
|
||||
# Creating new table #
|
||||
#########################
|
||||
|
||||
--echo ## Creating new table ##
|
||||
CREATE TABLE t1
|
||||
(
|
||||
id INT NOT NULL auto_increment,
|
||||
PRIMARY KEY (id),
|
||||
name VARCHAR(30)
|
||||
);
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_018_01-------------------------#'
|
||||
####################################################################
|
||||
# Setting initial value of event_scheduler to ON and verifying
|
||||
# its behavior
|
||||
####################################################################
|
||||
|
||||
--echo ## Setting initial value of variable to ON ##
|
||||
SET @@global.event_scheduler = ON;
|
||||
SELECT @@event_scheduler;
|
||||
|
||||
--echo ## Creating new event ##
|
||||
CREATE EVENT test_event_1
|
||||
ON SCHEDULE EVERY 3 SECOND
|
||||
DO
|
||||
INSERT into t1(name) values('Record_1');
|
||||
|
||||
--sleep 4
|
||||
|
||||
SELECT * from t1;
|
||||
|
||||
DROP EVENT test_event_1;
|
||||
|
||||
--sleep 1
|
||||
DELETE from t1;
|
||||
select * from t1;
|
||||
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_018_02-------------------------#'
|
||||
####################################################################
|
||||
# Setting initial value of event_scheduler to OFF and verifying
|
||||
# its behavior
|
||||
####################################################################
|
||||
|
||||
--echo ## Setting value of variable to OFF ##
|
||||
SET @@global.event_scheduler = OFF;
|
||||
SELECT @@event_scheduler;
|
||||
|
||||
--echo ## Creating new event ##
|
||||
CREATE EVENT test_event_1
|
||||
ON SCHEDULE EVERY 3 SECOND
|
||||
DO
|
||||
INSERT into t1(name) values('Record_2');
|
||||
|
||||
--sleep 4
|
||||
|
||||
--echo ## Table should be empty ##
|
||||
SELECT * from t1;
|
||||
|
||||
DROP EVENT test_event_1;
|
||||
--echo ## Dropping table ##
|
||||
DROP table t1;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
################# mysql-test\t\innodb_max_dirty_pages_pct_func.test ##########
|
||||
###############################################################################
|
||||
# #
|
||||
# Variable Name: innodb_max_dirty_pages_pct #
|
||||
# Scope: GLOBAL #
|
||||
|
|
|
@ -1,23 +1,26 @@
|
|||
############## mysql-test\t\interactive_timeout_func.test #####################
|
||||
# #
|
||||
# Variable Name: interactive_timeout #
|
||||
# Scope: GLOBAL | SESSION #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: numeric #
|
||||
# Default Value:28800 #
|
||||
# Minvalue: 1 #
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-03-07 #
|
||||
# Author: Salman Rawala #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable interactive_timeout #
|
||||
# that checks the functionality of this variable #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
|
||||
# server-system-variables.html #
|
||||
# #
|
||||
###############################################################################
|
||||
################################################################################
|
||||
# #
|
||||
# Variable Name: interactive_timeout #
|
||||
# Scope: GLOBAL | SESSION #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: numeric #
|
||||
# Default Value:28800 #
|
||||
# Minvalue: 1 #
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-03-07 #
|
||||
# Author: Salman Rawala #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable interactive_timeout #
|
||||
# that checks the functionality of this variable #
|
||||
# Modified: HHunger 2009-02-26 Inserted clean up, beautifications. #
|
||||
# It is not yet possible to set CLIENT_INTERACIVE #
|
||||
# When connecting, so the test has not the #
|
||||
# desired effect. See 'wait_timeout_func'. #
|
||||
# Reference: #
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
|
||||
--disable_warnings
|
||||
|
@ -42,29 +45,44 @@ name VARCHAR(30)
|
|||
# Setting initial value of interactive_timeout to 1 and verifying its
|
||||
# behavior
|
||||
#######################################################################
|
||||
let $start_value= `SELECT @@global.interactive_timeout`;
|
||||
|
||||
--echo ## Setting initial value of variable to 1 ##
|
||||
SET @@global.interactive_timeout = 1;
|
||||
|
||||
--echo ## Creating new interactive connection test_con1 ##
|
||||
connect (test_con1, localhost, root,);
|
||||
--echo ## Creating new connection test_con1 ##
|
||||
# Not yet possible to set CLEAN_INTERACTIVE flag
|
||||
connect (test_con1, localhost, root,,,,,);
|
||||
connection test_con1;
|
||||
|
||||
--echo ## Inserting record in table ##
|
||||
INSERT into t1(name) values('Record_1');
|
||||
|
||||
--echo ## Setting session value of interactive_timeout ##
|
||||
--echo ## Setting session value of interactive_timeout ##
|
||||
SET @@session.interactive_timeout = 1;
|
||||
|
||||
--echo ## Verifying values of variable ##
|
||||
--echo ## Verifying values of variable ##
|
||||
SELECT @@session.interactive_timeout;
|
||||
SELECT @@global.interactive_timeout;
|
||||
|
||||
--echo ## Using sleep to check timeout ##
|
||||
sleep 5;
|
||||
--echo connection default;
|
||||
connection default;
|
||||
--echo ## Using sleep to check timeout ##
|
||||
--echo sleep 2;
|
||||
sleep 2;
|
||||
|
||||
--echo connection test_con1;
|
||||
connection test_con1;
|
||||
SELECT * from t1;
|
||||
|
||||
--echo 'Bug#35377: Error should appear here because interactive_timeout value';
|
||||
--echo 'is 1 and connection remains idle for 5 secs';
|
||||
|
||||
INSERT into t1(name) values('Record_2');
|
||||
|
||||
--echo connection default;
|
||||
connection default;
|
||||
|
||||
--echo disconnect test_con1;
|
||||
disconnect test_con1;
|
||||
DROP TABLE t1;
|
||||
|
||||
eval SET @@global.interactive_timeout= $start_value;
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
############# mysql-test\t\query_cache_wlock_invalidate_func.test ####################
|
||||
######################################################################################
|
||||
# #
|
||||
# Variable Name: query_cache_wlock_invalidate #
|
||||
# Scope: GLOBAL & SESSION #
|
||||
|
@ -10,6 +10,7 @@
|
|||
# #
|
||||
# Creation Date: 2008-02-21 #
|
||||
# Author: Sharique Abdullah #
|
||||
# Modified: HHunger 2009-02-27 Replaced sleeps, beautifications #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable "query_cache_wlock_invalidate" #
|
||||
# that checks behavior of this variable in the following ways #
|
||||
|
@ -18,8 +19,8 @@
|
|||
# * Scope & Access method #
|
||||
# * Cache behaviors #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
|
||||
# server-system-variables.html#option_mysqld_query_cache_wlock_invalidate #
|
||||
# Reference: #
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
|
||||
# #
|
||||
######################################################################################
|
||||
|
||||
|
@ -29,6 +30,8 @@
|
|||
# Setup
|
||||
#
|
||||
|
||||
--source include/not_embedded.inc
|
||||
|
||||
# disabled due to differences in the result
|
||||
--disable_ps_protocol
|
||||
#
|
||||
|
@ -135,8 +138,9 @@ send SELECT * FROM t1;
|
|||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
|
||||
--echo Sleeping 2 Seconds before unlock
|
||||
--sleep 2
|
||||
--echo wait until table is locked
|
||||
let $wait_condition= SELECT count(*) > 0 FROM information_schema.processlist WHERE state= 'Locked';
|
||||
--source include/wait_condition.inc
|
||||
UNLOCK TABLES;
|
||||
|
||||
--echo ** Connection con1 **
|
||||
|
@ -195,20 +199,17 @@ SELECT * FROM t1;
|
|||
|
||||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
|
||||
LOCK TABLE t1 WRITE;
|
||||
|
||||
--echo ** Connection con1 **
|
||||
connection con1;
|
||||
|
||||
--echo ** Should not be blocked **
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
|
||||
--echo Sleeping 2 Seconds before unlock
|
||||
--sleep 2
|
||||
UNLOCK TABLES;
|
||||
|
||||
--echo ** Connection con1 **
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
###################### mysql-test\t\init_slave_func.test #####################
|
||||
###############################################################################
|
||||
# #
|
||||
# Variable Name: init_slave #
|
||||
# Scope: GLOBAL #
|
||||
|
|
|
@ -7,9 +7,8 @@ source include/have_log_bin.inc;
|
|||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
|
||||
#==============================================================
|
||||
--echo '--- check if log file is rotated after 4096 bytes ----'
|
||||
--echo '--- check if log file is rotated after 4096 bytes ----'
|
||||
#==============================================================
|
||||
|
||||
SET @saved_max_binlog_size= @@global.max_binlog_size;
|
||||
|
@ -24,8 +23,7 @@ INSERT INTO t1 VALUES ('mysql');
|
|||
dec $a;
|
||||
}
|
||||
--enable_query_log
|
||||
|
||||
--sleep 2
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
# if log file is not created then this will fail
|
||||
let $MYSQLD_DATADIR=`select @@datadir`;
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
# save
|
||||
SET @global_slow_query_log = @@global.slow_query_log;
|
||||
SET @global_log_output = @@global.log_output;
|
||||
|
@ -16,6 +15,7 @@ SET @@global.log_output = 'TABLE';
|
|||
|
||||
SET @@global.slow_query_log = OFF;
|
||||
TRUNCATE mysql.slow_log;
|
||||
# The sleep is the slow query
|
||||
SELECT sleep(2);
|
||||
|
||||
SELECT count(*) FROM mysql.slow_log;
|
||||
|
@ -26,9 +26,10 @@ SELECT count(*) FROM mysql.slow_log;
|
|||
|
||||
SET @@global.slow_query_log = ON;
|
||||
TRUNCATE mysql.slow_log;
|
||||
# The sleep is the slow query
|
||||
SELECT sleep(2);
|
||||
|
||||
SELECT count(*) FROM mysql.slow_log;
|
||||
SELECT count(*) > 0 FROM mysql.slow_log;
|
||||
|
||||
#restore
|
||||
SET @@global.log_output = @global_log_output;
|
||||
|
@ -37,3 +38,4 @@ SET @global.slow_query_log = @global_slow_query_log;
|
|||
###############################################################################
|
||||
# End of the functionality test for slow_query_log #
|
||||
###############################################################################
|
||||
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
############# mysql-test\t\sql_low_priority_updates_func.test #################
|
||||
# #
|
||||
# Variable Name: sql_low_priority_updates #
|
||||
# Scope: GLOBAL & SESSION #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: BOOLEAN #
|
||||
# Default Value: 1 TRUE #
|
||||
# Values: 1 TRUE, 0 FALSE #
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-02-25 #
|
||||
# Author: Sharique Abdullah #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable sql_low_priority_updates#
|
||||
# that checks behavior of this variable in the following ways #
|
||||
# * Functionality based on different values #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html #
|
||||
# #
|
||||
###############################################################################
|
||||
################################################################################
|
||||
# #
|
||||
# Variable Name: sql_low_priority_updates #
|
||||
# Scope: GLOBAL & SESSION #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: BOOLEAN #
|
||||
# Default Value: 1 TRUE #
|
||||
# Values: 1 TRUE, 0 FALSE #
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-02-25 #
|
||||
# Author: Sharique Abdullah #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable sql_low_priority_updates #
|
||||
# that checks behavior of this variable in the following ways #
|
||||
# * Functionality based on different values #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/set-option.html #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
--source include/not_embedded.inc
|
||||
|
||||
|
@ -85,6 +85,9 @@ delimiter ;|
|
|||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
|
||||
let $wait_condition = SELECT COUNT(*) > 0 FROM information_schema.processlist WHERE state='Locked' AND info LIKE 'UPDATE t1 SET a = CONCAT(a,"-updated")';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--echo ** Asynchronous Execution **
|
||||
delimiter |;
|
||||
|
||||
|
@ -98,9 +101,8 @@ delimiter ;|
|
|||
--echo ** Connection default **
|
||||
connection default;
|
||||
|
||||
--echo Sleeping for 1 secs
|
||||
--sleep 1
|
||||
|
||||
let $wait_condition= SELECT count(*) = 2 FROM information_schema.processlist WHERE state LIKE 'Locked';
|
||||
--source include/wait_condition.inc
|
||||
UNLOCK TABLES;
|
||||
|
||||
--echo ** Connection con0 **
|
||||
|
@ -153,6 +155,9 @@ delimiter ;|
|
|||
--echo ** Connection con0 **
|
||||
connection con0;
|
||||
|
||||
let $wait_condition = SELECT COUNT(*) > 0 FROM information_schema.processlist WHERE state='Locked' AND info LIKE 'UPDATE t1 SET a = CONCAT(a,"-updated")';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
--echo ** Asynchronous Execution **
|
||||
delimiter |;
|
||||
|
||||
|
@ -166,9 +171,8 @@ delimiter ;|
|
|||
--echo ** Connection default **
|
||||
connection default;
|
||||
|
||||
--echo Sleeping for 1 secs
|
||||
--sleep 1
|
||||
|
||||
let $wait_condition= SELECT count(*) = 2 FROM information_schema.processlist WHERE state LIKE 'Locked';
|
||||
--source include/wait_condition.inc
|
||||
UNLOCK TABLES;
|
||||
|
||||
--echo ** Connection con0 **
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
############# mysql-test\t\timestamp_func.test #############################
|
||||
############################################################################
|
||||
# #
|
||||
# Variable Name: timestamp #
|
||||
# Scope: GLOBAL #
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
############## mysql-test\t\wait_timeout_func.test ############################
|
||||
###############################################################################
|
||||
# #
|
||||
# Variable Name: wait_timeout #
|
||||
# Scope: GLOBAL | SESSION #
|
||||
|
|
|
@ -11,5 +11,7 @@
|
|||
##############################################################################
|
||||
kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enough for pushbuild.
|
||||
innodb_bug39438 : BUG#42383 2009-01-28 lsoares "This fails in embedded and on windows. Note that this test is not run on windows and on embedded in PB for main trees currently"
|
||||
query_cache_28249 : Bug#43861 2009-03-25 main.query_cache_28249 fails sporadically
|
||||
|
||||
#concurrent_innodb_safelog: disabled for embedded server due to bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog).
|
||||
#concurrent_innodb_unsafelog: disabled for embedded server due to bug#43733.
|
||||
|
|
|
@ -61,3 +61,23 @@ let $MYSQLD_DATADIR= `select @@datadir`;
|
|||
optimize table t1;
|
||||
repair table t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # BUG#41541 - Valgrind warnings on packed MyISAM table
|
||||
--echo #
|
||||
CREATE TABLE t1(f1 VARCHAR(200), f2 TEXT);
|
||||
INSERT INTO t1 VALUES ('foo', 'foo1'), ('bar', 'bar1');
|
||||
let $i=9;
|
||||
--disable_query_log
|
||||
while ($i)
|
||||
{
|
||||
INSERT INTO t1 SELECT * FROM t1;
|
||||
dec $i;
|
||||
}
|
||||
--enable_query_log
|
||||
FLUSH TABLE t1;
|
||||
--echo # Compress the table using MYISAMPACK tool
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
--exec $MYISAMPACK $MYSQLD_DATADIR/test/t1
|
||||
SELECT COUNT(*) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
|
50
mysql-test/t/mysql-bug41486.test
Normal file
50
mysql-test/t/mysql-bug41486.test
Normal file
|
@ -0,0 +1,50 @@
|
|||
#
|
||||
# Bug#41486 extra character appears in BLOB for every ~40Mb after
|
||||
# mysqldump/import
|
||||
#
|
||||
# This test consumes a significant amount of resources.
|
||||
# Therefore it should be kept separated from other tests.
|
||||
# Otherwise we might suffer from problems like
|
||||
# Bug#43801 mysql.test takes too long, fails due to expired timeout
|
||||
# on debx86-b in PB
|
||||
#
|
||||
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
# Have to change the global variable as the session variable is
|
||||
# read-only.
|
||||
SET @old_max_allowed_packet= @@global.max_allowed_packet;
|
||||
# 2 MB blob length + some space for the rest of INSERT query
|
||||
SET @@global.max_allowed_packet = 2 * 1024 * 1024 + 1024;
|
||||
|
||||
# Create a new connection since the global max_allowed_packet
|
||||
# has no effect for the current connection
|
||||
connect (con1, localhost, root,,);
|
||||
|
||||
CREATE TABLE t1(data LONGBLOB);
|
||||
INSERT INTO t1 SELECT REPEAT('1', 2*1024*1024);
|
||||
|
||||
let $outfile= $MYSQLTEST_VARDIR/tmp/bug41486.sql;
|
||||
--error 0,1
|
||||
remove_file $outfile;
|
||||
--exec $MYSQL_DUMP test t1 > $outfile
|
||||
SET @old_general_log = @@global.general_log;
|
||||
SET @@global.general_log = 0;
|
||||
# Check that the mysql client does not insert extra newlines when loading
|
||||
# strings longer than client's max_allowed_packet
|
||||
--exec $MYSQL --max_allowed_packet=1M test < $outfile 2>&1
|
||||
SET @@global.general_log = @old_general_log;
|
||||
SELECT LENGTH(data) FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
# Cleanup
|
||||
disconnect con1;
|
||||
--source include/wait_until_disconnected.inc
|
||||
remove_file $outfile;
|
||||
connection default;
|
||||
SET @@global.max_allowed_packet = @old_max_allowed_packet;
|
|
@ -342,39 +342,6 @@ EOF
|
|||
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/bug31060.sql;
|
||||
|
||||
#
|
||||
# Bug #41486: extra character appears in BLOB for every ~40Mb after
|
||||
# mysqldump/import
|
||||
#
|
||||
|
||||
# Have to change the global variable as the session variable is
|
||||
# read-only.
|
||||
set @old_max_allowed_packet = @@global.max_allowed_packet;
|
||||
# 2 MB blob length + some space for the rest of INSERT query
|
||||
set @@global.max_allowed_packet = 2 * 1024 * 1024 + 1024;
|
||||
|
||||
# Create a new connection since the global max_allowed_packet
|
||||
# has no effect for the current connection
|
||||
connect (con1, localhost, root,,);
|
||||
connection con1;
|
||||
|
||||
CREATE TABLE t1(data LONGBLOB);
|
||||
INSERT INTO t1 SELECT REPEAT('1', 2*1024*1024);
|
||||
|
||||
--exec $MYSQL_DUMP test t1 >$MYSQLTEST_VARDIR/tmp/bug41486.sql
|
||||
# Check that the mysql client does not insert extra newlines when loading
|
||||
# strings longer than client's max_allowed_packet
|
||||
--exec $MYSQL --max_allowed_packet=1M test < $MYSQLTEST_VARDIR/tmp/bug41486.sql 2>&1
|
||||
SELECT LENGTH(data) FROM t1;
|
||||
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/bug41486.sql;
|
||||
DROP TABLE t1;
|
||||
|
||||
connection default;
|
||||
disconnect con1;
|
||||
|
||||
set @@global.max_allowed_packet = @old_max_allowed_packet;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
|
|
@ -1127,7 +1127,7 @@ static const char **init_default_directories(MEM_ROOT *alloc)
|
|||
errors += add_directory(alloc, "/etc/mysql/", dirs);
|
||||
|
||||
#if defined(DEFAULT_SYSCONFDIR)
|
||||
if (DEFAULT_SYSCONFDIR != "")
|
||||
if (DEFAULT_SYSCONFDIR[0])
|
||||
errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
|
||||
#endif /* DEFAULT_SYSCONFDIR */
|
||||
|
||||
|
|
|
@ -46,8 +46,9 @@ void operator delete[] (void *ptr) throw ()
|
|||
|
||||
C_MODE_START
|
||||
|
||||
int __cxa_pure_virtual() {
|
||||
assert("Pure virtual method called." == "Aborted");
|
||||
int __cxa_pure_virtual()
|
||||
{
|
||||
assert(! "Aborted: pure virtual method called.");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -3791,6 +3791,7 @@ Create_func_load_file Create_func_load_file::s_singleton;
|
|||
Item*
|
||||
Create_func_load_file::create(THD *thd, Item *arg1)
|
||||
{
|
||||
thd->lex->set_stmt_unsafe();
|
||||
thd->lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
|
||||
return new (thd->mem_root) Item_load_file(arg1);
|
||||
}
|
||||
|
|
|
@ -9494,7 +9494,7 @@ get_best_group_min_max(PARAM *param, SEL_TREE *tree)
|
|||
}
|
||||
|
||||
/* If we got to this point, cur_index_info passes the test. */
|
||||
key_infix_parts= cur_key_infix_len ?
|
||||
key_infix_parts= cur_key_infix_len ? (uint)
|
||||
(first_non_infix_part - first_non_group_part) : 0;
|
||||
cur_used_key_parts= cur_group_key_parts + key_infix_parts;
|
||||
|
||||
|
|
|
@ -2303,7 +2303,7 @@ void Query_arena::set_query_arena(Query_arena *set)
|
|||
|
||||
void Query_arena::cleanup_stmt()
|
||||
{
|
||||
DBUG_ASSERT("Query_arena::cleanup_stmt()" == "not implemented");
|
||||
DBUG_ASSERT(! "Query_arena::cleanup_stmt() not implemented");
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1654,11 +1654,12 @@ public:
|
|||
ulong auto_increment_offset;
|
||||
timestamp_auto_set_type timestamp_field_type;
|
||||
LEX_STRING query;
|
||||
Time_zone *time_zone;
|
||||
|
||||
delayed_row(LEX_STRING const query_arg, enum_duplicates dup_arg,
|
||||
bool ignore_arg, bool log_query_arg)
|
||||
: record(0), dup(dup_arg), ignore(ignore_arg), log_query(log_query_arg),
|
||||
forced_insert_id(0), query(query_arg)
|
||||
forced_insert_id(0), query(query_arg), time_zone(0)
|
||||
{}
|
||||
~delayed_row()
|
||||
{
|
||||
|
@ -2147,6 +2148,19 @@ int write_delayed(THD *thd, TABLE *table, enum_duplicates duplic,
|
|||
thd->first_successful_insert_id_in_prev_stmt;
|
||||
row->timestamp_field_type= table->timestamp_field_type;
|
||||
|
||||
/* Add session variable timezone
|
||||
Time_zone object will not be freed even the thread is ended.
|
||||
So we can get time_zone object from thread which handling delayed statement.
|
||||
See the comment of my_tz_find() for detail.
|
||||
*/
|
||||
if (thd->time_zone_used)
|
||||
{
|
||||
row->time_zone = thd->variables.time_zone;
|
||||
}
|
||||
else
|
||||
{
|
||||
row->time_zone = NULL;
|
||||
}
|
||||
/* Copy session variables. */
|
||||
row->auto_increment_increment= thd->variables.auto_increment_increment;
|
||||
row->auto_increment_offset= thd->variables.auto_increment_offset;
|
||||
|
@ -2645,6 +2659,14 @@ bool Delayed_insert::handle_inserts(void)
|
|||
|
||||
if (log_query && mysql_bin_log.is_open())
|
||||
{
|
||||
bool backup_time_zone_used = thd.time_zone_used;
|
||||
Time_zone *backup_time_zone = thd.variables.time_zone;
|
||||
if (row->time_zone != NULL)
|
||||
{
|
||||
thd.time_zone_used = true;
|
||||
thd.variables.time_zone = row->time_zone;
|
||||
}
|
||||
|
||||
/*
|
||||
If the query has several rows to insert, only the first row will come
|
||||
here. In row-based binlogging, this means that the first row will be
|
||||
|
@ -2656,6 +2678,9 @@ bool Delayed_insert::handle_inserts(void)
|
|||
thd.binlog_query(THD::ROW_QUERY_TYPE,
|
||||
row->query.str, row->query.length,
|
||||
FALSE, FALSE);
|
||||
|
||||
thd.time_zone_used = backup_time_zone_used;
|
||||
thd.variables.time_zone = backup_time_zone;
|
||||
}
|
||||
|
||||
if (table->s->blob_fields)
|
||||
|
|
|
@ -397,12 +397,12 @@ static int free_share(TINA_SHARE *share)
|
|||
'\r''\n' -- DOS\Windows line ending
|
||||
*/
|
||||
|
||||
off_t find_eoln_buff(Transparent_file *data_buff, off_t begin,
|
||||
off_t end, int *eoln_len)
|
||||
my_off_t find_eoln_buff(Transparent_file *data_buff, my_off_t begin,
|
||||
my_off_t end, int *eoln_len)
|
||||
{
|
||||
*eoln_len= 0;
|
||||
|
||||
for (off_t x= begin; x < end; x++)
|
||||
for (my_off_t x= begin; x < end; x++)
|
||||
{
|
||||
/* Unix (includes Mac OS X) */
|
||||
if (data_buff->get_value(x) == '\n')
|
||||
|
@ -586,7 +586,7 @@ int ha_tina::chain_append()
|
|||
*/
|
||||
int ha_tina::find_current_row(uchar *buf)
|
||||
{
|
||||
off_t end_offset, curr_offset= current_position;
|
||||
my_off_t end_offset, curr_offset= current_position;
|
||||
int eoln_len;
|
||||
my_bitmap_map *org_bitmap;
|
||||
int error;
|
||||
|
@ -836,7 +836,7 @@ int ha_tina::open(const char *name, int mode, uint open_options)
|
|||
during locking. This is needed to enable concurrent inserts.
|
||||
*/
|
||||
thr_lock_data_init(&share->lock, &lock, (void*) this);
|
||||
ref_length=sizeof(off_t);
|
||||
ref_length= sizeof(my_off_t);
|
||||
|
||||
share->lock.get_status= tina_get_status;
|
||||
share->lock.update_status= tina_update_status;
|
||||
|
@ -1140,7 +1140,7 @@ int ha_tina::rnd_pos(uchar * buf, uchar *pos)
|
|||
{
|
||||
DBUG_ENTER("ha_tina::rnd_pos");
|
||||
ha_statistic_increment(&SSV::ha_read_rnd_count);
|
||||
current_position= (off_t)my_get_ptr(pos,ref_length);
|
||||
current_position= my_get_ptr(pos,ref_length);
|
||||
DBUG_RETURN(find_current_row(buf));
|
||||
}
|
||||
|
||||
|
@ -1180,7 +1180,7 @@ int ha_tina::extra(enum ha_extra_function operation)
|
|||
to the given "hole", stored in the buffer. "Valid" here means,
|
||||
not listed in the chain of deleted records ("holes").
|
||||
*/
|
||||
bool ha_tina::get_write_pos(off_t *end_pos, tina_set *closest_hole)
|
||||
bool ha_tina::get_write_pos(my_off_t *end_pos, tina_set *closest_hole)
|
||||
{
|
||||
if (closest_hole == chain_ptr) /* no more chains */
|
||||
*end_pos= file_buff->end();
|
||||
|
@ -1200,7 +1200,7 @@ bool ha_tina::get_write_pos(off_t *end_pos, tina_set *closest_hole)
|
|||
int ha_tina::rnd_end()
|
||||
{
|
||||
char updated_fname[FN_REFLEN];
|
||||
off_t file_buffer_start= 0;
|
||||
my_off_t file_buffer_start= 0;
|
||||
DBUG_ENTER("ha_tina::rnd_end");
|
||||
|
||||
free_root(&blobroot, MYF(0));
|
||||
|
@ -1223,17 +1223,17 @@ int ha_tina::rnd_end()
|
|||
my_qsort(chain, (size_t)(chain_ptr - chain), sizeof(tina_set),
|
||||
(qsort_cmp)sort_set);
|
||||
|
||||
off_t write_begin= 0, write_end;
|
||||
my_off_t write_begin= 0, write_end;
|
||||
|
||||
/* create the file to write updated table if it wasn't yet created */
|
||||
if (open_update_temp_file_if_needed())
|
||||
DBUG_RETURN(-1);
|
||||
|
||||
/* write the file with updated info */
|
||||
while ((file_buffer_start != -1)) // while not end of file
|
||||
while ((file_buffer_start != (my_off_t)-1)) // while not end of file
|
||||
{
|
||||
bool in_hole= get_write_pos(&write_end, ptr);
|
||||
off_t write_length= write_end - write_begin;
|
||||
my_off_t write_length= write_end - write_begin;
|
||||
|
||||
/* if there is something to write, write it */
|
||||
if (write_length)
|
||||
|
@ -1241,14 +1241,15 @@ int ha_tina::rnd_end()
|
|||
if (my_write(update_temp_file,
|
||||
(uchar*) (file_buff->ptr() +
|
||||
(write_begin - file_buff->start())),
|
||||
write_length, MYF_RW))
|
||||
(size_t)write_length, MYF_RW))
|
||||
goto error;
|
||||
temp_file_length+= write_length;
|
||||
}
|
||||
if (in_hole)
|
||||
{
|
||||
/* skip hole */
|
||||
while (file_buff->end() <= ptr->end && file_buffer_start != -1)
|
||||
while (file_buff->end() <= ptr->end &&
|
||||
file_buffer_start != (my_off_t)-1)
|
||||
file_buffer_start= file_buff->read_next();
|
||||
write_begin= ptr->end;
|
||||
ptr++;
|
||||
|
@ -1348,7 +1349,7 @@ int ha_tina::repair(THD* thd, HA_CHECK_OPT* check_opt)
|
|||
File repair_file;
|
||||
int rc;
|
||||
ha_rows rows_repaired= 0;
|
||||
off_t write_begin= 0, write_end;
|
||||
my_off_t write_begin= 0, write_end;
|
||||
DBUG_ENTER("ha_tina::repair");
|
||||
|
||||
/* empty file */
|
||||
|
@ -1423,7 +1424,7 @@ int ha_tina::repair(THD* thd, HA_CHECK_OPT* check_opt)
|
|||
write_end= min(file_buff->end(), current_position);
|
||||
if ((write_end - write_begin) &&
|
||||
(my_write(repair_file, (uchar*)file_buff->ptr(),
|
||||
write_end - write_begin, MYF_RW)))
|
||||
(size_t) (write_end - write_begin), MYF_RW)))
|
||||
DBUG_RETURN(-1);
|
||||
|
||||
write_begin= write_end;
|
||||
|
|
|
@ -40,7 +40,7 @@ typedef struct st_tina_share {
|
|||
inserts, updates and deletes. The var is initialized along with the
|
||||
share initialization.
|
||||
*/
|
||||
off_t saved_data_file_length;
|
||||
my_off_t saved_data_file_length;
|
||||
pthread_mutex_t mutex;
|
||||
THR_LOCK lock;
|
||||
bool update_file_opened;
|
||||
|
@ -53,18 +53,18 @@ typedef struct st_tina_share {
|
|||
} TINA_SHARE;
|
||||
|
||||
struct tina_set {
|
||||
off_t begin;
|
||||
off_t end;
|
||||
my_off_t begin;
|
||||
my_off_t end;
|
||||
};
|
||||
|
||||
class ha_tina: public handler
|
||||
{
|
||||
THR_LOCK_DATA lock; /* MySQL lock */
|
||||
TINA_SHARE *share; /* Shared lock info */
|
||||
off_t current_position; /* Current position in the file during a file scan */
|
||||
off_t next_position; /* Next position in the file scan */
|
||||
my_off_t current_position; /* Current position in the file during a file scan */
|
||||
my_off_t next_position; /* Next position in the file scan */
|
||||
my_off_t local_saved_data_file_length; /* save position for reads */
|
||||
off_t temp_file_length;
|
||||
my_off_t temp_file_length;
|
||||
uchar byte_buffer[IO_SIZE];
|
||||
Transparent_file *file_buff;
|
||||
File data_file; /* File handler for readers */
|
||||
|
@ -85,7 +85,7 @@ class ha_tina: public handler
|
|||
MEM_ROOT blobroot;
|
||||
|
||||
private:
|
||||
bool get_write_pos(off_t *end_pos, tina_set *closest_hole);
|
||||
bool get_write_pos(my_off_t *end_pos, tina_set *closest_hole);
|
||||
int open_update_temp_file_if_needed();
|
||||
int init_tina_writer();
|
||||
int init_data_file();
|
||||
|
|
|
@ -45,17 +45,17 @@ uchar *Transparent_file::ptr()
|
|||
return buff;
|
||||
}
|
||||
|
||||
off_t Transparent_file::start()
|
||||
my_off_t Transparent_file::start()
|
||||
{
|
||||
return lower_bound;
|
||||
}
|
||||
|
||||
off_t Transparent_file::end()
|
||||
my_off_t Transparent_file::end()
|
||||
{
|
||||
return upper_bound;
|
||||
}
|
||||
|
||||
off_t Transparent_file::read_next()
|
||||
my_off_t Transparent_file::read_next()
|
||||
{
|
||||
size_t bytes_read;
|
||||
|
||||
|
@ -64,11 +64,11 @@ off_t Transparent_file::read_next()
|
|||
always points to upper_bound byte
|
||||
*/
|
||||
if ((bytes_read= my_read(filedes, buff, buff_size, MYF(0))) == MY_FILE_ERROR)
|
||||
return (off_t) -1;
|
||||
return (my_off_t) -1;
|
||||
|
||||
/* end of file */
|
||||
if (!bytes_read)
|
||||
return (off_t) -1;
|
||||
return (my_off_t) -1;
|
||||
|
||||
lower_bound= upper_bound;
|
||||
upper_bound+= bytes_read;
|
||||
|
@ -77,7 +77,7 @@ off_t Transparent_file::read_next()
|
|||
}
|
||||
|
||||
|
||||
char Transparent_file::get_value(off_t offset)
|
||||
char Transparent_file::get_value(my_off_t offset)
|
||||
{
|
||||
size_t bytes_read;
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ class Transparent_file
|
|||
File filedes;
|
||||
uchar *buff; /* in-memory window to the file or mmaped area */
|
||||
/* current window sizes */
|
||||
off_t lower_bound;
|
||||
my_off_t lower_bound;
|
||||
my_off_t upper_bound;
|
||||
uint buff_size;
|
||||
|
||||
|
@ -34,8 +34,8 @@ public:
|
|||
|
||||
void init_buff(File filedes_arg);
|
||||
uchar *ptr();
|
||||
off_t start();
|
||||
off_t end();
|
||||
char get_value (off_t offset);
|
||||
off_t read_next();
|
||||
my_off_t start();
|
||||
my_off_t end();
|
||||
char get_value (my_off_t offset);
|
||||
my_off_t read_next();
|
||||
};
|
||||
|
|
|
@ -1431,6 +1431,32 @@ static void fill_buffer(MI_BIT_BUFF *bit_buff)
|
|||
bit_buff->current_byte=0;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
uint len= 0;
|
||||
uint i= 0;
|
||||
/*
|
||||
Check if the remaining buffer/record to read is less than the word size.
|
||||
If so read byte by byte
|
||||
|
||||
Note: if this branch becomes a bottleneck it can be removed, assuming
|
||||
that the second memory segment allocates 7 extra bytes (see
|
||||
_mi_read_pack_info()).
|
||||
*/
|
||||
len= bit_buff->end - bit_buff->pos;
|
||||
if (len < (BITS_SAVED / 8))
|
||||
{
|
||||
bit_buff->current_byte= 0;
|
||||
for (i=0 ; i < len ; i++)
|
||||
{
|
||||
bit_buff->current_byte+= (((uint) ((uchar) bit_buff->pos[len - i - 1]))
|
||||
<< (8 * i));
|
||||
}
|
||||
bit_buff->pos= bit_buff->end;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
#if BITS_SAVED == 64
|
||||
bit_buff->current_byte= ((((uint) ((uchar) bit_buff->pos[7]))) +
|
||||
(((uint) ((uchar) bit_buff->pos[6])) << 8) +
|
||||
|
|
|
@ -53,7 +53,8 @@ EXTRA_DIST = ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc
|
|||
bmove_upp-sparc.s strappend-sparc.s strend-sparc.s \
|
||||
strinstr-sparc.s strmake-sparc.s strmov-sparc.s \
|
||||
strnmov-sparc.s strstr-sparc.s strxmov-sparc.s \
|
||||
t_ctype.h my_strchr.c CMakeLists.txt
|
||||
t_ctype.h my_strchr.c CMakeLists.txt \
|
||||
CHARSET_INFO.txt
|
||||
|
||||
libmystrings_a_LIBADD=
|
||||
conf_to_src_SOURCES = conf_to_src.c xml.c ctype.c bcmp.c
|
||||
|
|
Loading…
Add table
Reference in a new issue