Commit 9be507ca authored by Leonard Zhou's avatar Leonard Zhou

Merge

parents d0cb03b8 2dd9c5ea
......@@ -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
......
......@@ -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. */
......
# 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;
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;
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
# 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;
source include/reset_master_and_slave.inc;
connection master;
let $file= $MYSQLTEST_VARDIR/tmp/bug_39701.data;
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
--eval SELECT repeat('x',20) INTO OUTFILE '$file'
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;
#############################################################################
# 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
......
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'
......
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'
......
############## 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;
################# mysql-test\t\innodb_max_dirty_pages_pct_func.test ##########
###############################################################################
# #
# Variable Name: innodb_max_dirty_pages_pct #
# Scope: GLOBAL #
......
############## 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;
SELECT * from t1;
--echo connection default;
connection default;
--echo ## Using sleep to check timeout ##
--echo sleep 2;
sleep 2;
--echo 'Bug#35377: Error should appear here because interactive_timeout value';
--echo 'is 1 and connection remains idle for 5 secs';
--echo connection test_con1;
connection test_con1;
SELECT * from t1;
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;
############# 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 **
......
###################### 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`;
......
# 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 #
###############################################################################
############# 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 **
......
############# mysql-test\t\timestamp_func.test #############################
############################################################################
# #
# Variable Name: timestamp #
# Scope: GLOBAL #
......
############## 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;
#
# 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 @@ class delayed_row :public ilink {
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 @@ class Transparent_file
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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment