merge
This commit is contained in:
commit
0772b6a833
@ -2020,7 +2020,7 @@ static bool add_line(String &buffer,char *line,char *in_string,
|
||||
{
|
||||
if (!preserve_comments)
|
||||
{
|
||||
// Skip spaces at the beggining of a statement
|
||||
// Skip spaces at the beginning of a statement
|
||||
if (my_isspace(charset_info,inchar) && (out == line) &&
|
||||
buffer.is_empty())
|
||||
continue;
|
||||
@ -2103,37 +2103,6 @@ static bool add_line(String &buffer,char *line,char *in_string,
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else if (!*ml_comment && !*in_string &&
|
||||
(end_of_line - pos) >= 10 &&
|
||||
!my_strnncoll(charset_info, (uchar*) pos, 10,
|
||||
(const uchar*) "delimiter ", 10))
|
||||
{
|
||||
// Flush previously accepted characters
|
||||
if (out != line)
|
||||
{
|
||||
buffer.append(line, (uint32) (out - line));
|
||||
out= line;
|
||||
}
|
||||
|
||||
// Flush possible comments in the buffer
|
||||
if (!buffer.is_empty())
|
||||
{
|
||||
if (com_go(&buffer, 0) > 0) // < 0 is not fatal
|
||||
DBUG_RETURN(1);
|
||||
buffer.length(0);
|
||||
}
|
||||
|
||||
/*
|
||||
Delimiter wants the get rest of the given line as argument to
|
||||
allow one to change ';' to ';;' and back
|
||||
*/
|
||||
buffer.append(pos);
|
||||
if (com_delimiter(&buffer, pos) > 0)
|
||||
DBUG_RETURN(1);
|
||||
|
||||
buffer.length(0);
|
||||
break;
|
||||
}
|
||||
else if (!*ml_comment && !*in_string && is_prefix(pos, delimiter))
|
||||
{
|
||||
// Found a statement. Continue parsing after the delimiter
|
||||
@ -2196,8 +2165,24 @@ static bool add_line(String &buffer,char *line,char *in_string,
|
||||
|
||||
// comment to end of line
|
||||
if (preserve_comments)
|
||||
{
|
||||
bool started_with_nothing= !buffer.length();
|
||||
|
||||
buffer.append(pos);
|
||||
|
||||
/*
|
||||
A single-line comment by itself gets sent immediately so that
|
||||
client commands (delimiter, status, etc) will be interpreted on
|
||||
the next line.
|
||||
*/
|
||||
if (started_with_nothing)
|
||||
{
|
||||
if (com_go(&buffer, 0) > 0) // < 0 is not fatal
|
||||
DBUG_RETURN(1);
|
||||
buffer.length(0);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
else if (!*in_string && inchar == '/' && *(pos+1) == '*' &&
|
||||
|
@ -671,8 +671,11 @@ call p_verify_status_increment(2, 2, 2, 2);
|
||||
savepoint a;
|
||||
call p_verify_status_increment(0, 0, 0, 0);
|
||||
insert t1 set a=4;
|
||||
--echo # Sic: a bug. Binlog did not register itself this time.
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
--echo # Binlog does not register itself this time for other than the 1st
|
||||
--echo # statement of the transaction with MIXED/STATEMENT binlog_format.
|
||||
--echo # It needs registering with the ROW format. Therefore 1,0,2,2 are
|
||||
--echo # the correct arguments to this test after bug#40221 fixed.
|
||||
call p_verify_status_increment(1, 0, 2, 2);
|
||||
release savepoint a;
|
||||
rollback;
|
||||
call p_verify_status_increment(0, 0, 0, 0);
|
||||
|
@ -9,7 +9,6 @@ SET @min_flush_time = 0;
|
||||
#SET @max_flush_time = 0;
|
||||
|
||||
SET @default_key_buffer_size = 131072;
|
||||
SET @min_key_buffer_size = 36;
|
||||
|
||||
#SET @default_join_buffer_size = 131072;
|
||||
#SET @min_join_buffer_size = 8200;
|
||||
|
@ -6,7 +6,7 @@
|
||||
let $counter= 500;
|
||||
while ($mysql_errno)
|
||||
{
|
||||
--error 0,2002,2006
|
||||
--error 0,2002,2003,2006,2013
|
||||
show status;
|
||||
|
||||
dec $counter;
|
||||
|
@ -9,7 +9,6 @@ SET @min_flush_time = 0;
|
||||
#SET @max_flush_time = 0;
|
||||
|
||||
SET @default_key_buffer_size= 131072;
|
||||
SET @min_key_buffer_size= 8;
|
||||
|
||||
#SET @default_join_buffer_size = 131072;
|
||||
#SET @min_join_buffer_size = 8200;
|
||||
|
@ -996,6 +996,22 @@ SELECT * FROM t1;
|
||||
v b
|
||||
abc 5
|
||||
DROP TABLE t1;
|
||||
create table t1 (a tinytext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` text
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||
drop table t1;
|
||||
create table t1 (a mediumtext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` longtext
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
||||
drop table t1;
|
||||
End of 5.0 tests
|
||||
drop table if exists t1, t2, t3;
|
||||
create table t1 (i int);
|
||||
|
@ -21,6 +21,7 @@ flush logs;
|
||||
*** must be a warning master-bin.000001 was not found ***
|
||||
Warnings:
|
||||
Warning 1612 Being purged log MYSQLTEST_VARDIR/log/master-bin.000001 was not found
|
||||
Warning 1612 Being purged log MYSQLTEST_VARDIR/log/master-bin.000001 was not found
|
||||
*** must show one record, of the active binlog, left in the index file after PURGE ***
|
||||
show binary logs;
|
||||
Log_name File_size
|
||||
|
@ -770,8 +770,11 @@ call p_verify_status_increment(0, 0, 0, 0);
|
||||
SUCCESS
|
||||
|
||||
insert t1 set a=4;
|
||||
# Sic: a bug. Binlog did not register itself this time.
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
# Binlog does not register itself this time for other than the 1st
|
||||
# statement of the transaction with MIXED/STATEMENT binlog_format.
|
||||
# It needs registering with the ROW format. Therefore 1,0,2,2 are
|
||||
# the correct arguments to this test after bug#40221 fixed.
|
||||
call p_verify_status_increment(1, 0, 2, 2);
|
||||
SUCCESS
|
||||
|
||||
release savepoint a;
|
||||
|
@ -522,3 +522,12 @@ WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref b b 5 const 4 Using where
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a CHAR(10));
|
||||
INSERT INTO t1 VALUES('aaa15');
|
||||
SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE) FROM t1;
|
||||
MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE)
|
||||
1
|
||||
SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE) FROM t1;
|
||||
MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE)
|
||||
2
|
||||
DROP TABLE t1;
|
||||
|
@ -176,4 +176,13 @@ IF((ROUND(t1.a,2)=1), 2,
|
||||
IF((ROUND(t1.a,2)=1), 2,
|
||||
IF((R
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (c LONGTEXT);
|
||||
INSERT INTO t1 VALUES(1), (2), (3), (4), ('12345678901234567890');
|
||||
SELECT * FROM (SELECT MAX(IF(1, CAST(c AS UNSIGNED), 0)) FROM t1) AS te;
|
||||
MAX(IF(1, CAST(c AS UNSIGNED), 0))
|
||||
12345678901234567890
|
||||
SELECT * FROM (SELECT MAX(IFNULL(CAST(c AS UNSIGNED), 0)) FROM t1) AS te;
|
||||
MAX(IFNULL(CAST(c AS UNSIGNED), 0))
|
||||
12345678901234567890
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests
|
||||
|
@ -717,8 +717,6 @@ insert(_latin2'abcd',2,3,_latin2'ef'),
|
||||
replace(_latin2'abcd',_latin2'b',_latin2'B'),
|
||||
encode('abcd','ab')
|
||||
;
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'format(130,10)' at row 1
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@ -727,7 +725,7 @@ t1 CREATE TABLE `t1` (
|
||||
`conv(130,16,10)` varchar(64) DEFAULT NULL,
|
||||
`hex(130)` varchar(6) NOT NULL DEFAULT '',
|
||||
`char(130)` varbinary(4) NOT NULL DEFAULT '',
|
||||
`format(130,10)` varchar(4) NOT NULL DEFAULT '',
|
||||
`format(130,10)` varchar(37) NOT NULL DEFAULT '',
|
||||
`left(_latin2'a',1)` varchar(1) CHARACTER SET latin2 NOT NULL DEFAULT '',
|
||||
`right(_latin2'a',1)` varchar(1) CHARACTER SET latin2 NOT NULL DEFAULT '',
|
||||
`lcase(_latin2'a')` varchar(1) CHARACTER SET latin2 NOT NULL DEFAULT '',
|
||||
@ -2513,4 +2511,12 @@ SELECT HEX(c1) from v1;
|
||||
HEX(c1)
|
||||
414243
|
||||
DROP VIEW v1;
|
||||
create table t1(a float);
|
||||
insert into t1 values (1.33);
|
||||
select format(a, 2) from t1;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def format(a, 2) 253 49 4 Y 0 31 8
|
||||
format(a, 2)
|
||||
1.33
|
||||
drop table t1;
|
||||
End of 5.0 tests
|
||||
|
@ -1707,4 +1707,9 @@ where a.VARIABLE_NAME = b.VARIABLE_NAME;
|
||||
a.VARIABLE_VALUE - b.VARIABLE_VALUE
|
||||
2
|
||||
drop table t0;
|
||||
CREATE TABLE t1(a INT) KEY_BLOCK_SIZE=1;
|
||||
SELECT CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
CREATE_OPTIONS
|
||||
KEY_BLOCK_SIZE=1
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests.
|
||||
|
@ -10,10 +10,7 @@ create table t2 (a INT);
|
||||
SELECT @@log_bin_trust_function_creators;
|
||||
@@log_bin_trust_function_creators
|
||||
0
|
||||
SELECT @@sql_log_bin;
|
||||
@@sql_log_bin
|
||||
1
|
||||
## Creating new function f1 ##
|
||||
## Creating new function f1 fails because no DETERMINISTIC ###
|
||||
CREATE FUNCTION f1(a INT) RETURNS INT
|
||||
BEGIN
|
||||
IF (a < 3) THEN
|
||||
@ -21,8 +18,24 @@ INSERT INTO t2 VALUES (a);
|
||||
END IF;
|
||||
RETURN 1;
|
||||
END|
|
||||
'Bug: Create Function should give error here because non-super user';
|
||||
'is creating function here';
|
||||
ERROR HY000: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
|
||||
## Creating new function f1 fails because non-super user ##
|
||||
CREATE FUNCTION f1(a INT) RETURNS INT DETERMINISTIC
|
||||
BEGIN
|
||||
IF (a < 3) THEN
|
||||
INSERT INTO t2 VALUES (a);
|
||||
END IF;
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR HY000: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
|
||||
## Creating new function f1 succeeds ##
|
||||
CREATE FUNCTION f1(a INT) RETURNS INT DETERMINISTIC
|
||||
BEGIN
|
||||
IF (a < 3) THEN
|
||||
INSERT INTO t2 VALUES (a);
|
||||
END IF;
|
||||
RETURN 1;
|
||||
END|
|
||||
## Creating new table t1 ##
|
||||
CREATE TABLE t1 (a INT);
|
||||
## Inserting some records in t1 ##
|
||||
|
@ -40,3 +40,4 @@ count(*)
|
||||
65536
|
||||
DROP PROCEDURE sp_addRec;
|
||||
DROP TABLE t1;
|
||||
SET @@global.myisam_data_pointer_size = default;
|
||||
|
@ -180,6 +180,12 @@ ERROR at line 1: DELIMITER cannot contain a backslash character
|
||||
1
|
||||
This is a file starting with UTF8 BOM 0xEFBBBF
|
||||
This is a file starting with UTF8 BOM 0xEFBBBF
|
||||
delimiter
|
||||
1
|
||||
2
|
||||
2
|
||||
2
|
||||
2
|
||||
End of 5.0 tests
|
||||
WARNING: --server-arg option not supported in this configuration.
|
||||
Warning (Code 1286): Unknown table engine 'nonexistent'
|
||||
|
@ -324,7 +324,7 @@ partition by hash (a)
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(27) NOT NULL DEFAULT '\0\0\0\0',
|
||||
`a` bit(27) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY HASH (a)
|
||||
|
@ -1,4 +1,11 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY)
|
||||
ENGINE MYISAM
|
||||
PARTITION BY HASH (a)
|
||||
PARTITIONS 1;
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
||||
ALTER TABLE t1 REORGANIZE PARTITION;
|
||||
DROP TABLE t1;
|
||||
create table t1 (a int)
|
||||
partition by range (a)
|
||||
subpartition by key (a)
|
||||
|
@ -4358,3 +4358,29 @@ a
|
||||
4
|
||||
5
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE A (date_key date);
|
||||
CREATE TABLE C (
|
||||
pk int,
|
||||
int_nokey int,
|
||||
int_key int,
|
||||
date_key date NOT NULL,
|
||||
date_nokey date,
|
||||
varchar_key varchar(1)
|
||||
);
|
||||
INSERT INTO C VALUES
|
||||
(1,1,1,'0000-00-00',NULL,NULL),
|
||||
(1,1,1,'0000-00-00',NULL,NULL);
|
||||
SELECT 1 FROM C WHERE pk > ANY (SELECT 1 FROM C);
|
||||
1
|
||||
SELECT COUNT(DISTINCT 1) FROM C
|
||||
WHERE date_key = (SELECT 1 FROM A WHERE C.date_key IS NULL) GROUP BY pk;
|
||||
COUNT(DISTINCT 1)
|
||||
SELECT date_nokey FROM C
|
||||
WHERE int_key IN (SELECT 1 FROM A)
|
||||
HAVING date_nokey = '10:41:7'
|
||||
ORDER BY date_key;
|
||||
date_nokey
|
||||
Warnings:
|
||||
Warning 1292 Incorrect date value: '10:41:7' for column 'date_nokey' at row 1
|
||||
DROP TABLE A,C;
|
||||
End of 5.1 tests
|
||||
|
@ -708,6 +708,47 @@ HEX(b1) HEX(b2) i2
|
||||
1 0 100
|
||||
1 0 200
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE IF NOT EXISTS t1 (
|
||||
f1 bit(2) NOT NULL default b'10',
|
||||
f2 bit(14) NOT NULL default b'11110000111100'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`f1` bit(2) NOT NULL DEFAULT b'10',
|
||||
`f2` bit(14) NOT NULL DEFAULT b'11110000111100'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE IF NOT EXISTS t1 (
|
||||
f1 bit(2) NOT NULL default b''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
||||
ERROR 42000: Invalid default value for 'f1'
|
||||
create table t1bit7 (a1 bit(7) not null) engine=MyISAM;
|
||||
create table t2bit7 (b1 bit(7)) engine=MyISAM;
|
||||
insert into t1bit7 values (b'1100000');
|
||||
insert into t1bit7 values (b'1100001');
|
||||
insert into t1bit7 values (b'1100010');
|
||||
insert into t2bit7 values (b'1100001');
|
||||
insert into t2bit7 values (b'1100010');
|
||||
insert into t2bit7 values (b'1100110');
|
||||
select bin(a1) from t1bit7, t2bit7 where t1bit7.a1=t2bit7.b1;
|
||||
bin(a1)
|
||||
1100001
|
||||
1100010
|
||||
drop table t1bit7, t2bit7;
|
||||
create table t1bit7 (a1 bit(15) not null) engine=MyISAM;
|
||||
create table t2bit7 (b1 bit(15)) engine=MyISAM;
|
||||
insert into t1bit7 values (b'110000011111111');
|
||||
insert into t1bit7 values (b'110000111111111');
|
||||
insert into t1bit7 values (b'110001011111111');
|
||||
insert into t2bit7 values (b'110000111111111');
|
||||
insert into t2bit7 values (b'110001011111111');
|
||||
insert into t2bit7 values (b'110011011111111');
|
||||
select bin(a1) from t1bit7, t2bit7 where t1bit7.a1=t2bit7.b1;
|
||||
bin(a1)
|
||||
110000111111111
|
||||
110001011111111
|
||||
drop table t1bit7, t2bit7;
|
||||
End of 5.0 tests
|
||||
create table t1(a bit(7));
|
||||
insert into t1 values(0x40);
|
||||
|
@ -393,15 +393,11 @@ f1 + 0e0
|
||||
-1.0000000150475e+30
|
||||
drop table t1;
|
||||
create table t1(d double, u bigint unsigned);
|
||||
insert into t1(d) values (9.2233720368547777e+18),
|
||||
(9.223372036854779e18),
|
||||
(9.22337203685479e18),
|
||||
insert into t1(d) values (9.22337203685479e18),
|
||||
(1.84e19);
|
||||
update t1 set u = d;
|
||||
select u from t1;
|
||||
u
|
||||
9223372036854775808
|
||||
9223372036854779904
|
||||
9223372036854790144
|
||||
18400000000000000000
|
||||
drop table t1;
|
||||
|
@ -1029,4 +1029,28 @@ SELECT 1 FROM t1 ORDER BY(UPDATEXML(a, '1', '1'));
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
SET @xml=
|
||||
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title> Title - document with document declaration</title>
|
||||
</head>
|
||||
<body> Hi, Im a webpage with document a declaration </body>
|
||||
</html>';
|
||||
SELECT ExtractValue(@xml, 'html/head/title');
|
||||
ExtractValue(@xml, 'html/head/title')
|
||||
Title - document with document declaration
|
||||
SELECT ExtractValue(@xml, 'html/body');
|
||||
ExtractValue(@xml, 'html/body')
|
||||
Hi, Im a webpage with document a declaration
|
||||
SELECT ExtractValue('<xml "xxx" "yyy">CharData</xml>', '/xml');
|
||||
ExtractValue('<xml "xxx" "yyy">CharData</xml>', '/xml')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 11: STRING unexpected ('>' wanted)'
|
||||
SELECT ExtractValue('<xml xxx "yyy">CharData</xml>', '/xml');
|
||||
ExtractValue('<xml xxx "yyy">CharData</xml>', '/xml')
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 17: STRING unexpected ('>' wanted)'
|
||||
End of 5.1 tests
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -16,15 +16,32 @@
|
||||
# Created:
|
||||
# 2008-08-27 mleich
|
||||
#
|
||||
|
||||
# Modified:
|
||||
# 2008-11-17 pcrews
|
||||
# added --disable / --enable_warning statements to minimize differences
|
||||
# between platforms (Bug#40177 Test funcs_1.storedproc failing on Pushbuild)
|
||||
#
|
||||
# TODO: (After 5.1 GA)
|
||||
# 1) Examine reordering statements in this file to minimize the number of
|
||||
# --disable / --enable_warning statements. Unsure if performance gains
|
||||
# warrant the working time
|
||||
# 2) We could probably add a comparison of the # of warnings before the
|
||||
# assignment of @v1_proc and @v1_func to the # of warnings after assignment
|
||||
# The difference of these values should be zero
|
||||
# Refer to Bug#40177 - http://bugs.mysql.com/bug.php?id=40177 for notes as well
|
||||
|
||||
eval UPDATE t1_aux SET f1 = NULL;
|
||||
# Enforce that all user variables have the same data type and initial value.
|
||||
SELECT f1,f1,f1,f1 INTO @v1_tab,@v1_proc,@v2_proc,@v1_func FROM t1_aux;
|
||||
|
||||
--disable_warnings
|
||||
eval UPDATE t1_aux SET f1 = $test_value;
|
||||
--enable_warnings
|
||||
SELECT f1 INTO @v1_tab FROM t1_aux;
|
||||
--disable_warnings
|
||||
eval CALL sproc_1($test_value, @v1_proc);
|
||||
eval SET @v1_func = func_1($test_value);
|
||||
--enable_warnings
|
||||
|
||||
if (`SELECT @v1_tab <> @v1_proc OR @v1_tab <> @v2_proc OR @v1_tab <> @v1_func`)
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Disabled by hhunger (2008-03-03) due to WL4204
|
||||
innodb_charset : Due to bug#20447
|
||||
myisam_charset : Due to bug#20477
|
||||
memory_charset : Due to bug#20447
|
||||
ndb_charset : Due to bug#20447
|
||||
innodb_charset : Bug#20447 Problem with prefix keys with contractions and expansions
|
||||
myisam_charset : Bug#20447 Problem with prefix keys with contractions and expansions
|
||||
memory_charset : Bug#20447 Problem with prefix keys with contractions and expansions
|
||||
ndb_charset : Bug#20447 Problem with prefix keys with contractions and expansions
|
||||
|
||||
|
@ -9,8 +9,7 @@
|
||||
# Do not use any TAB characters for whitespace.
|
||||
#
|
||||
##############################################################################
|
||||
partition_03ndb : BUG#16385 2006-03-24 mikael Partitions: crash when updating a range partitioned NDB table
|
||||
|
||||
ndb_partition_error2 : HF is not sure if the test can work as internded on all the platforms
|
||||
ndb_partition_error2 : Bug#40989 ndb_partition_error2 needs maintenance
|
||||
|
||||
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
|
||||
|
@ -6,7 +6,7 @@ create table t1 (a bit(0), primary key (a)) engine='INNODB' partition by key (a)
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
`a` bit(1) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a) */
|
||||
@ -18,7 +18,7 @@ partition pa2);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
`a` bit(1) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -30,7 +30,7 @@ partition by key (a) partitions 2;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0',
|
||||
`a` bit(64) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -58,7 +58,7 @@ partition pa4 max_rows=40 min_rows=2);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0',
|
||||
`a` bit(64) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -88,7 +88,7 @@ partition by key (a) partitions 4;
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
`a` bit(1) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -102,7 +102,7 @@ alter table t2 drop primary key;
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0'
|
||||
`a` bit(1) NOT NULL DEFAULT b'0'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
PARTITIONS 4 */
|
||||
@ -114,7 +114,7 @@ alter table t2 add primary key (a);
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
`a` bit(1) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -133,7 +133,7 @@ partition pa4 values less than (256));
|
||||
show create table t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`a` bit(8) NOT NULL DEFAULT '\0',
|
||||
`a` bit(8) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY RANGE (a)
|
||||
@ -416,7 +416,7 @@ partition pa3 values in (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32));
|
||||
show create table t4;
|
||||
Table Create Table
|
||||
t4 CREATE TABLE `t4` (
|
||||
`a` bit(8) NOT NULL DEFAULT '\0',
|
||||
`a` bit(8) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY LIST (a)
|
||||
|
@ -6,7 +6,7 @@ create table t1 (a bit(0), primary key (a)) engine='MyISAM' partition by key (a)
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
`a` bit(1) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a) */
|
||||
@ -18,7 +18,7 @@ partition pa2);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
`a` bit(1) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -30,7 +30,7 @@ partition by key (a) partitions 2;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0',
|
||||
`a` bit(64) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -58,7 +58,7 @@ partition pa4 max_rows=40 min_rows=2);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0',
|
||||
`a` bit(64) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -88,7 +88,7 @@ partition by key (a) partitions 4;
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
`a` bit(1) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -102,7 +102,7 @@ alter table t2 drop primary key;
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0'
|
||||
`a` bit(1) NOT NULL DEFAULT b'0'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
PARTITIONS 4 */
|
||||
@ -114,7 +114,7 @@ alter table t2 add primary key (a);
|
||||
show create table t2;
|
||||
Table Create Table
|
||||
t2 CREATE TABLE `t2` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
`a` bit(1) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
@ -133,7 +133,7 @@ partition pa4 values less than (256));
|
||||
show create table t3;
|
||||
Table Create Table
|
||||
t3 CREATE TABLE `t3` (
|
||||
`a` bit(8) NOT NULL DEFAULT '\0',
|
||||
`a` bit(8) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY RANGE (a)
|
||||
@ -416,7 +416,7 @@ partition pa3 values in (17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32));
|
||||
show create table t4;
|
||||
Table Create Table
|
||||
t4 CREATE TABLE `t4` (
|
||||
`a` bit(8) NOT NULL DEFAULT '\0',
|
||||
`a` bit(8) NOT NULL DEFAULT b'0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY LIST (a)
|
||||
|
@ -1,126 +0,0 @@
|
||||
SET @max_row = 20;
|
||||
create table t1 (a bit(65), primary key (a)) partition by key (a);
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 64)
|
||||
create table t1 (a bit(0), primary key (a)) partition by key (a);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a) */
|
||||
drop table t1;
|
||||
create table t1 (a bit(0), primary key (a)) partition by key (a) (
|
||||
partition pa1 DATA DIRECTORY =
|
||||
'/tmp' INDEX DIRECTORY =
|
||||
'/tmp',
|
||||
partition pa2 DATA DIRECTORY =
|
||||
'/tmp' INDEX DIRECTORY =
|
||||
'/tmp');
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/'
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
(PARTITION pa1 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM,
|
||||
PARTITION pa2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
|
||||
drop table t1;
|
||||
create table t1 (a bit(64), primary key (a)) partition by key (a);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a) */
|
||||
insert into t1 values
|
||||
(b'1111111111111111111111111111111111111111111111111111111111111111'),
|
||||
(b'1000000000000000000000000000000000000000000000000000000000000000'),
|
||||
(b'0000000000000000000000000000000000000000000000000000000000000001'),
|
||||
(b'1010101010101010101010101010101010101010101010101010101010101010'),
|
||||
(b'0101010101010101010101010101010101010101010101010101010101010101');
|
||||
select hex(a) from t1;
|
||||
hex(a)
|
||||
1
|
||||
5555555555555555
|
||||
8000000000000000
|
||||
AAAAAAAAAAAAAAAA
|
||||
FFFFFFFFFFFFFFFF
|
||||
drop table t1;
|
||||
create table t1 (a bit(64), primary key (a)) partition by key (a)(
|
||||
partition pa1 DATA DIRECTORY =
|
||||
'/tmp' INDEX DIRECTORY =
|
||||
'/tmp' max_rows=20 min_rows=2,
|
||||
partition pa2 DATA DIRECTORY =
|
||||
'/tmp' INDEX DIRECTORY =
|
||||
'/tmp' max_rows=30 min_rows=3,
|
||||
partition pa3 DATA DIRECTORY =
|
||||
'/tmp' INDEX DIRECTORY =
|
||||
'/tmp' max_rows=30 min_rows=4,
|
||||
partition pa4 DATA DIRECTORY =
|
||||
'/tmp' INDEX DIRECTORY =
|
||||
'/tmp' max_rows=40 min_rows=2);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(64) NOT NULL DEFAULT '\0\0\0\0\0\0\0\0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DATA DIRECTORY='/tmp/' INDEX DIRECTORY='/tmp/'
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
(PARTITION pa1 MAX_ROWS = 20 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM,
|
||||
PARTITION pa2 MAX_ROWS = 30 MIN_ROWS = 3 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM,
|
||||
PARTITION pa3 MAX_ROWS = 30 MIN_ROWS = 4 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM,
|
||||
PARTITION pa4 MAX_ROWS = 40 MIN_ROWS = 2 DATA DIRECTORY = '/tmp' INDEX DIRECTORY = '/tmp' ENGINE = MyISAM) */
|
||||
insert into t1 values
|
||||
(b'1111111111111111111111111111111111111111111111111111111111111111'),
|
||||
(b'1000000000000000000000000000000000000000000000000000000000000000'),
|
||||
(b'0000000000000000000000000000000000000000000000000000000000000001'),
|
||||
(b'1010101010101010101010101010101010101010101010101010101010101010'),
|
||||
(b'0101010101010101010101010101010101010101010101010101010101010101');
|
||||
select hex(a) from t1;
|
||||
hex(a)
|
||||
1
|
||||
5555555555555555
|
||||
8000000000000000
|
||||
AAAAAAAAAAAAAAAA
|
||||
FFFFFFFFFFFFFFFF
|
||||
drop table t1;
|
||||
create table t1 (a bit, primary key (a)) partition by key (a);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a) */
|
||||
insert into t1 values (b'0'), (b'1');
|
||||
select hex(a) from t1;
|
||||
hex(a)
|
||||
0
|
||||
1
|
||||
alter table t1 drop primary key;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a) */
|
||||
select hex(a) from t1;
|
||||
hex(a)
|
||||
0
|
||||
1
|
||||
alter table t1 add primary key (a);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` bit(1) NOT NULL DEFAULT '\0',
|
||||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a) */
|
||||
select hex(a) from t1;
|
||||
hex(a)
|
||||
0
|
||||
1
|
||||
drop table t1;
|
@ -213,5 +213,10 @@ START TRANSACTION;
|
||||
INSERT INTO t1 VALUES (NULL, 'first row t2');
|
||||
SET autocommit=OFF;
|
||||
ALTER TABLE t1 AUTO_INCREMENT = 10;
|
||||
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
|
||||
INSERT INTO t1 VALUES (NULL, 'second row t2');
|
||||
SELECT a,b FROM t1 ORDER BY a;
|
||||
a b
|
||||
1 first row t2
|
||||
2 second row t2
|
||||
DROP TABLE t1;
|
||||
|
@ -1,8 +1,3 @@
|
||||
partition_basic_ndb : Bug#19899 Crashing the server
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-limitations-syntax.html
|
||||
partition_bit_ndb : NDB does not support bit column in index
|
||||
partition_sessions : needs system_3_init.inc
|
||||
partition_syntax_ndb : Bug#36735 Not supported
|
||||
partition_value_innodb : Bug#30581 partition_value tests use disallowed CAST() function
|
||||
partition_value_myisam : Bug#30581 partition_value tests use disallowed CAST() function
|
||||
partition_value_ndb : Bug#30581 partition_value tests use disallowed CAST() function
|
||||
|
@ -1,60 +0,0 @@
|
||||
################################################################################
|
||||
# t/partition_bit_ndb.test #
|
||||
# #
|
||||
# Purpose: #
|
||||
# Tests around bit type #
|
||||
# NDB branch #
|
||||
# #
|
||||
#------------------------------------------------------------------------------#
|
||||
# Original Author: HH #
|
||||
# Original Date: 2006-08-01 #
|
||||
# Change Author: #
|
||||
# Change Date: #
|
||||
# Change: #
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# NOTE: PLEASE DO NOT ADD NOT MYISAM SPECIFIC TESTCASES HERE !
|
||||
# TESTCASES WHICH MUST BE APPLIED TO ALL STORAGE ENGINES MUST BE ADDED IN
|
||||
# THE SOURCED FILES ONLY.
|
||||
#
|
||||
# Please read the README at the end of inc/partition.pre before changing
|
||||
# any of the variables.
|
||||
#
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# General not engine specific settings and requirements
|
||||
|
||||
##### Options, for debugging support #####
|
||||
let $debug= 0;
|
||||
let $with_partitioning= 1;
|
||||
|
||||
##### Option, for displaying files #####
|
||||
let $ls= 1;
|
||||
|
||||
##### Number of rows for the INSERT/UPDATE/DELETE/SELECT experiments #####
|
||||
# on partioned tables
|
||||
SET @max_row = 20;
|
||||
|
||||
# The server must support partitioning.
|
||||
--source include/have_partition.inc
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# Engine specific settings and requirements
|
||||
|
||||
##### Storage engine to be tested
|
||||
--source include/have_ndb.inc
|
||||
let $engine= 'NDB';
|
||||
connection default;
|
||||
|
||||
# range, list and hash partitioning in ndb requires new_mode
|
||||
--disable_query_log
|
||||
set new=on;
|
||||
--enable_query_log
|
||||
##### Assign a big number smaller than the maximum value for partitions #####
|
||||
# and smaller than the maximum value of SIGNED INTEGER
|
||||
let $MAX_VALUE= (2147483646);
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# Execute the tests to be applied to all storage engines
|
||||
--source suite/parts/inc/partition_bit.inc
|
@ -1,391 +0,0 @@
|
||||
|
||||
#--------------------------------------------------
|
||||
# Initialize system_3 test variables
|
||||
#--------------------------------------------------
|
||||
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
|
||||
let $NUM_VAL=`SELECT @NUM_VAL`;
|
||||
let $LOAD_LINES=`SELECT @LOAD_LINES`;
|
||||
let $LOG_UPPER=`SELECT @LOG_UPPER`;
|
||||
let $LOG_LOWER=`SELECT @LOG_LOWER`;
|
||||
#let $ENG1=`SELECT @ENG1`;
|
||||
let $ENG2=`SELECT @ENG2`;
|
||||
let $ENG_LOG=`SELECT @ENG_LOG`;
|
||||
let $CLIENT_HOST=`SELECT @CLIENT_HOST`;
|
||||
let $ENG=innodb;
|
||||
let $ENG1=innodb;
|
||||
#---------------------------------------------------------
|
||||
# Column list with definition for all tables to be checked
|
||||
#---------------------------------------------------------
|
||||
|
||||
let $column_list= f1 int,
|
||||
f2 char (15),
|
||||
f3 decimal (5,3),
|
||||
f4 datetime;
|
||||
|
||||
let $col_access_list = f1,f2,f3,f4 ;
|
||||
let $col_new_list = new.f1,new.f2,new.f3 new.f4 ;
|
||||
|
||||
#---------------------------------------------------
|
||||
# Setting the parameters to use during testing
|
||||
#---------------------------------------------------
|
||||
# Set number of variations of the f1 variable (used to segment the rows
|
||||
# being updated/deleted by a user at a time. The higher the number, the
|
||||
# more smaller segments used with each query.
|
||||
--replace_result $NUM_VAL NUM_VAL
|
||||
eval set @f1_nums=$NUM_VAL;
|
||||
|
||||
# The following sets the number controls the size of the log table.
|
||||
# Once a size of '@threshold' is reached, the first rows are removed
|
||||
# sunch that the table is down to '@shrink_to' lines
|
||||
--replace_result $LOG_LOWER LOG_LOWER
|
||||
eval set @shrink_to=$LOG_LOWER;
|
||||
--replace_result $LOG_UPPER LOG_UPPER
|
||||
eval set @threshold=$LOG_UPPER;
|
||||
|
||||
#---------------------------------------------------
|
||||
# Creating the database tables and loading the data
|
||||
#---------------------------------------------------
|
||||
|
||||
--disable_warnings
|
||||
drop database if exists systest1;
|
||||
--enable_warnings
|
||||
|
||||
create database systest1;
|
||||
|
||||
--disable_abort_on_error
|
||||
--replace_result $CLIENT_HOST CLIENT_HOST
|
||||
eval create user systuser@'$CLIENT_HOST';
|
||||
--enable_abort_on_error
|
||||
--replace_result $CLIENT_HOST CLIENT_HOST
|
||||
eval set password for systuser@'$CLIENT_HOST' = password('systpass');
|
||||
--replace_result $CLIENT_HOST CLIENT_HOST
|
||||
eval grant ALL on systest1.* to systuser@'$CLIENT_HOST';
|
||||
use systest1;
|
||||
--replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
|
||||
connect (systuser,localhost,systuser,systpass,systest1,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||
|
||||
create table tb1_master (
|
||||
f1 int,
|
||||
f2 char(15),
|
||||
f3 decimal (5,3),
|
||||
f4 datetime
|
||||
);
|
||||
|
||||
#--replace_result $ENG_LOG ENG_LOG
|
||||
eval create table tb1_logs (
|
||||
i1 int NOT NULL auto_increment, primary key (i1),
|
||||
dt1 datetime NOT NULL,
|
||||
entry_dsc char(100),
|
||||
f4 int
|
||||
) engine=$ENG_LOG
|
||||
;
|
||||
#PARTITION BY HASH (i1) PARTITIONS 8;
|
||||
|
||||
if ($debug)
|
||||
{
|
||||
SHOW CREATE TABLE tb1_logs;
|
||||
}
|
||||
|
||||
#--replace_result $ENG_LOG ENG_LOG
|
||||
eval create table ddl_logs (
|
||||
i1 int NOT NULL auto_increment, primary key (i1),
|
||||
dt1 datetime NOT NULL,
|
||||
entry_dsc char(100),
|
||||
errno int
|
||||
) engine=$ENG_LOG;
|
||||
#PARTITION BY HASH (i1) PARTITIONS 8;
|
||||
|
||||
if ($debug)
|
||||
{
|
||||
SHOW CREATE TABLE tb1_logs;
|
||||
}
|
||||
create table test_stat (
|
||||
dt1 datetime,
|
||||
table_name char(20),
|
||||
row_count int,
|
||||
start_row int,
|
||||
end_row int
|
||||
);
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# tb3_eng1: key partitioning
|
||||
#----------------------------------------------------------------------
|
||||
|
||||
#--replace_result $ENG1 ENG1
|
||||
eval create table tb3_eng1 (
|
||||
i1 int NOT NULL auto_increment, primary key (i1),
|
||||
$column_list
|
||||
) engine=$ENG1
|
||||
PARTITION BY KEY (i1) PARTITIONS 4
|
||||
(PARTITION part1,
|
||||
PARTITION part2,
|
||||
PARTITION part3,
|
||||
PARTITION part4);
|
||||
|
||||
#--replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
|
||||
eval load data local infile '$MYSQL_TEST_DIR/suite/system_3/data/tb1.txt'
|
||||
into table tb3_eng1 ($col_access_list);
|
||||
|
||||
if ($WITH_TRIGGERS)
|
||||
{
|
||||
delimiter //;
|
||||
|
||||
Create trigger tb3_eng1_ins after insert on tb3_eng1 for each row
|
||||
BEGIN
|
||||
insert into tb1_logs (dt1, entry_dsc, f4)
|
||||
values (now(), concat('Insert row ', new.f1,' ',
|
||||
new.f2, ' ', new.f3, ' (tb3_eng1)'), new.f1);
|
||||
END//
|
||||
|
||||
Create trigger tb3_eng1_upd after update on tb3_eng1 for each row
|
||||
BEGIN
|
||||
insert into tb1_logs (dt1, entry_dsc, f4)
|
||||
values (now(), concat('Update row ', old.f1,' ', old.f2, '->',
|
||||
new.f2, ' ', old.f3, '->', new.f3, ' (tb3_eng1)'), new.f1);
|
||||
END//
|
||||
|
||||
Create trigger tb3_eng1_del after delete on tb3_eng1 for each row
|
||||
BEGIN
|
||||
insert into tb1_logs (dt1, entry_dsc, f4)
|
||||
values (now(), concat('Delete row ', old.f1,' ', old.f2, ' ',
|
||||
old.f3, ' (tb3_eng1)'), old.f1);
|
||||
END//
|
||||
|
||||
delimiter ;//
|
||||
}
|
||||
delimiter //;
|
||||
|
||||
# This functions returns a random integer number
|
||||
# between zero and 'num'
|
||||
#-----------------------------------------------
|
||||
create function int_rand(num int) returns int
|
||||
BEGIN
|
||||
return round(num*rand()+0.5);
|
||||
END//
|
||||
|
||||
# This function returns a string in the length 'len' of
|
||||
# random letters (ascii range of 65-122)
|
||||
#------------------------------------------------------
|
||||
create function str_rand (len int) returns char(12)
|
||||
BEGIN
|
||||
declare tmp_letter char(1);
|
||||
declare tmp_word char(12);
|
||||
declare word_str char(12) default '';
|
||||
wl_loop: WHILE len DO
|
||||
set tmp_letter=char(round(57*rand()+65));
|
||||
set tmp_word=concat(word_str,tmp_letter);
|
||||
set word_str=tmp_word;
|
||||
set len=len-1;
|
||||
END WHILE wl_loop;
|
||||
return word_str;
|
||||
END//
|
||||
|
||||
|
||||
# This procedure scans 'tb1_master' table for rows where f1='num_pr'
|
||||
# and for each row inserts a row in 'tb3_eng1'
|
||||
#------------------------------------------------------------------
|
||||
eval create procedure ins_tb3_eng1 (num_pr int, str_pr char(15))
|
||||
BEGIN
|
||||
declare done int default 0;
|
||||
declare v3 decimal(5,3);
|
||||
declare cur1 cursor for
|
||||
select f3 from tb1_master where f1=num_pr;
|
||||
declare continue handler for sqlstate '01000' set done = 1;
|
||||
declare continue handler for sqlstate '02000' set done = 1;
|
||||
open cur1;
|
||||
fetch cur1 into v3;
|
||||
wl_loop: WHILE NOT done DO
|
||||
insert into tb3_eng1 ($col_access_list) values
|
||||
(int_rand(@f1_nums), concat('I:',str_pr,'-',num_pr), v3, now());
|
||||
fetch cur1 into v3;
|
||||
END WHILE wl_loop;
|
||||
close cur1;
|
||||
END//
|
||||
|
||||
|
||||
# This procedure does selects from the 'tb1_logs' and inserts the
|
||||
# count into the table
|
||||
#------------------------------------------------------------------
|
||||
create procedure slct_tb1_logs ()
|
||||
BEGIN
|
||||
declare done int default 0;
|
||||
declare v4 int;
|
||||
declare v_count int default 0;
|
||||
declare str_val char(15) default ELT(int_rand(3),
|
||||
'Insert', 'Update', 'Delete');
|
||||
declare cur1 cursor for
|
||||
select f4 from tb1_logs where entry_dsc like concat('%',str_val,'%');
|
||||
declare continue handler for sqlstate '01000' set done = 1;
|
||||
declare continue handler for sqlstate '02000' set done = 1;
|
||||
open cur1;
|
||||
fetch cur1 into v4;
|
||||
wl_loop: WHILE NOT done DO
|
||||
set v_count=v_count+1;
|
||||
fetch cur1 into v4;
|
||||
END WHILE wl_loop;
|
||||
close cur1;
|
||||
insert into tb1_logs (dt1, entry_dsc, f4)
|
||||
values (now(), concat('Number of \'', str_val, '\' rows is: ',
|
||||
v_count, ' (tb1_log)'),0);
|
||||
END//
|
||||
|
||||
delimiter ;//
|
||||
|
||||
--disable_abort_on_error
|
||||
insert into systest1.tb3_eng1 values (NULL,50,'init_val',12.345,'2005-01-01 00:00:00');
|
||||
insert into systest1.tb3_eng1 values (NULL,70,'init_val',12.345,'2005-01-01 00:00:00');
|
||||
--enable_abort_on_error
|
||||
|
||||
connection default;0.
|
||||
--disable_abort_on_error
|
||||
--replace_result $CLIENT_HOST CLIENT_HOST
|
||||
eval create user syst1user@'$CLIENT_HOST';
|
||||
--enable_abort_on_error
|
||||
--replace_result $CLIENT_HOST CLIENT_HOST
|
||||
eval set password for syst1user@'$CLIENT_HOST' = password('systpass');
|
||||
--replace_result $CLIENT_HOST CLIENT_HOST
|
||||
eval grant ALL on systest1.* to syst1user@'$CLIENT_HOST';
|
||||
use systest1;
|
||||
--replace_result $MASTER_MYPORT MASTER_MYPORT $MASTER_MYSOCK MASTER_MYSOCK
|
||||
connect (syst1user,localhost,syst1user,systpass,systest1,$MASTER_MYPORT,$MASTER_MYSOCK);
|
||||
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
let $NUM_VAL=`SELECT @NUM_VAL`;
|
||||
eval SET @f1_nums=$NUM_VAL;
|
||||
SET @tmp_num=int_rand(@f1_nums);
|
||||
SET @tmp_word=str_rand(4);
|
||||
|
||||
# DEBUG select @tmp_num, @tmp_word;
|
||||
|
||||
# Insert rows replacing the deleted rows using a strored procedure
|
||||
# that reads the rows from a master table
|
||||
CALL ins_tb3_eng1 (@tmp_num, @tmp_word);
|
||||
|
||||
connection syst1user;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
let $NUM_VAL=`SELECT @NUM_VAL`;
|
||||
eval SET @f1_nums=$NUM_VAL;
|
||||
SET @tmp_num=int_rand(@f1_nums);
|
||||
SET @tmp_word=str_rand(4);
|
||||
|
||||
# DEBUG select @tmp_num, @tmp_word;
|
||||
|
||||
# Insert rows replacing the deleted rows using a strored procedure
|
||||
# that reads the rows from a master table
|
||||
CALL ins_tb3_eng1 (@tmp_num, @tmp_word);
|
||||
|
||||
connection systuser;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
call slct_tb1_logs();
|
||||
|
||||
connection syst1user;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
let $NUM_VAL=`SELECT @NUM_VAL`;
|
||||
eval set @f1_nums=$NUM_VAL;
|
||||
set @tmp_num=int_rand(@f1_nums);
|
||||
set @tmp_word=str_rand(4);
|
||||
|
||||
select @tmp_num, @tmp_word;
|
||||
|
||||
# Update all rows in the table where f1 is one less the random number
|
||||
update tb3_eng1
|
||||
set f2=concat('U:',@tmp_word,'-',@tmp_num), f3=f3+1
|
||||
where f1=@tmp_num-1;
|
||||
|
||||
connection systuser;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
let $NUM_VAL=`SELECT @NUM_VAL`;
|
||||
eval set @f1_nums=$NUM_VAL;
|
||||
set @tmp_num=int_rand(@f1_nums);
|
||||
set @tmp_word=str_rand(4);
|
||||
|
||||
select @tmp_num, @tmp_word;
|
||||
|
||||
# Update all rows in the table where f1 is one less the random number
|
||||
update tb3_eng1
|
||||
set f2=concat('U:',@tmp_word,'-',@tmp_num), f3=f3+1
|
||||
where f1=@tmp_num-1;
|
||||
|
||||
connection syst1user;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
call slct_tb1_logs();
|
||||
|
||||
connection systuser;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
let $NUM_VAL=`SELECT @NUM_VAL`;
|
||||
eval set @f1_nums=$NUM_VAL;
|
||||
set @tmp_num=int_rand(@f1_nums);
|
||||
set @tmp_word=str_rand(4);
|
||||
|
||||
select @tmp_num, @tmp_word;
|
||||
|
||||
# Update all rows in the table where f1 is one less the random number
|
||||
update tb3_eng1
|
||||
set f2=concat('U:',@tmp_word,'-',@tmp_num), f3=f3+1
|
||||
where f1=@tmp_num-1;
|
||||
|
||||
|
||||
connection syst1user;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
#--replace_result $NUM_VAL <NUM_VAL>
|
||||
let $NUM_VAL=`SELECT @NUM_VAL`;
|
||||
eval set @f1_nums=$NUM_VAL;
|
||||
set @tmp_num=int_rand(@f1_nums);
|
||||
select @tmp_num;
|
||||
|
||||
# DEBUG select @tmp_num, @tmp_word;
|
||||
|
||||
# Delete all rows from the table where f1 is equal to the above number
|
||||
delete from tb3_eng1 where f1=@tmp_num;
|
||||
|
||||
connection systuser;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
select * from tb3_eng1 where f1>40;
|
||||
|
||||
|
||||
connection syst1user;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
let $NUM_VAL=`SELECT @NUM_VAL`;
|
||||
eval set @f1_nums=$NUM_VAL;
|
||||
set @tmp_num=int_rand(@f1_nums);
|
||||
select @tmp_num;
|
||||
|
||||
# DEBUG select @tmp_num, @tmp_word;
|
||||
|
||||
# Delete all rows from the table where f1 is equal to the above number
|
||||
delete from tb3_eng1 where f1=@tmp_num;
|
||||
|
||||
connection systuser;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
select * from tb3_eng1 where f1>40;
|
||||
|
||||
connection syst1user;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
let $NUM_VAL=`SELECT @NUM_VAL`;
|
||||
eval set @f1_nums=$NUM_VAL;
|
||||
set @tmp_num=int_rand(@f1_nums);
|
||||
select @tmp_num;
|
||||
|
||||
select @tmp_num, @tmp_word;
|
||||
|
||||
# Delete all rows from the table where f1 is equal to the above number
|
||||
delete from tb3_eng1 where f1=@tmp_num;
|
||||
|
||||
connection systuser;
|
||||
--source suite/system_3/include/system_3_init.inc
|
||||
use systest1;
|
||||
select * from tb3_eng1 where f1>40;
|
@ -68,10 +68,12 @@ INSERT INTO t1 VALUES (NULL, 'first row t2');
|
||||
|
||||
--connection con2
|
||||
SET autocommit=OFF;
|
||||
--error ER_LOCK_WAIT_TIMEOUT
|
||||
ALTER TABLE t1 AUTO_INCREMENT = 10;
|
||||
|
||||
--connection con1
|
||||
INSERT INTO t1 VALUES (NULL, 'second row t2');
|
||||
SELECT a,b FROM t1 ORDER BY a;
|
||||
--disconnect con2
|
||||
--disconnect con1
|
||||
--connection default
|
||||
|
@ -8,9 +8,9 @@
|
||||
#------------------------------------------------------------------------------#
|
||||
# Original Author: mleich #
|
||||
# Original Date: 2006-04-11 #
|
||||
# Change Author: #
|
||||
# Change Date: #
|
||||
# Change: #
|
||||
# Change Author: mleich #
|
||||
# Change Date: 2008-12-08 #
|
||||
# Change: Remove test from disabled.def + change test that it gets skipped #
|
||||
################################################################################
|
||||
|
||||
#
|
||||
@ -22,6 +22,12 @@
|
||||
# any of the variables.
|
||||
#
|
||||
|
||||
#
|
||||
# CAST() within the partitioning function si no more supported, but we get
|
||||
# this functionality probably soon again. Therefor we do not delete this test.
|
||||
--skip # CAST() in partitioning function is currently not supported.
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# General not engine specific settings and requirements
|
||||
|
||||
|
@ -8,9 +8,9 @@
|
||||
#------------------------------------------------------------------------------#
|
||||
# Original Author: mleich #
|
||||
# Original Date: 2006-04-11 #
|
||||
# Change Author: #
|
||||
# Change Date: #
|
||||
# Change: #
|
||||
# Change Author: mleich #
|
||||
# Change Date: 2008-12-08 #
|
||||
# Change: Remove test from disabled.def + change test that it gets skipped #
|
||||
################################################################################
|
||||
|
||||
#
|
||||
@ -22,6 +22,12 @@
|
||||
# any of the variables.
|
||||
#
|
||||
|
||||
#
|
||||
# CAST() within the partitioning function si no more supported, but we get
|
||||
# this functionality probably soon again. Therefor we do not delete this test.
|
||||
--skip # CAST() in partitioning function is currently not supported.
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# General not engine specific settings and requirements
|
||||
|
||||
|
@ -8,9 +8,9 @@
|
||||
#------------------------------------------------------------------------------#
|
||||
# Original Author: mleich #
|
||||
# Original Date: 2006-04-11 #
|
||||
# Change Author: #
|
||||
# Change Date: #
|
||||
# Change: #
|
||||
# Change Author: mleich #
|
||||
# Change Date: 2008-12-08 #
|
||||
# Change: Remove test from disabled.def + change test that it gets skipped #
|
||||
################################################################################
|
||||
|
||||
#
|
||||
@ -22,6 +22,12 @@
|
||||
# any of the variables.
|
||||
#
|
||||
|
||||
#
|
||||
# CAST() within the partitioning function si no more supported, but we get
|
||||
# this functionality probably soon again. Therefor we do not delete this test.
|
||||
--skip # CAST() in partitioning function is currently not supported.
|
||||
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# General not engine specific settings and requirements
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
rpl_ndb_circular : Bug#33849 COMMIT event missing in cluster circular replication.
|
||||
rpl_ndb_circular_simplex : Bug#33849 COMMIT event missing in cluster circular replication.
|
||||
rpl_ndb_circular : Bug#41183 rpl_ndb_circular, rpl_ndb_circular_simplex need maintenance, crash
|
||||
rpl_ndb_circular_simplex : Bug#41183 rpl_ndb_circular, rpl_ndb_circular_simplex need maintenance, crash
|
||||
|
||||
# the below testcase have been reworked to avoid the bug, test contains comment, keep bug open
|
||||
|
@ -17,14 +17,14 @@
|
||||
# * Valid & Invalid values #
|
||||
# * Scope & Access method #
|
||||
# * Data Integrity #
|
||||
# Modified: Horst Hunger 2008-11-27 #
|
||||
# Due to OS depending values the check has been changed #
|
||||
# from concrete values to ranges. #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
|
||||
# server-system-variables.html #
|
||||
# Reference: #
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
|
||||
# #
|
||||
###############################################################################
|
||||
# Changes: #
|
||||
# 2008-03-06 hhunger Got "lost connections with 5.1.24 #
|
||||
########################################################################
|
||||
|
||||
--source include/load_sysvars.inc
|
||||
|
||||
@ -38,8 +38,6 @@
|
||||
########################################################################
|
||||
|
||||
SET @start_value = @@global.key_buffer_size;
|
||||
SELECT @start_value;
|
||||
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_055_01------------------------#'
|
||||
########################################################################
|
||||
@ -49,9 +47,7 @@ SELECT @start_value;
|
||||
SET @@global.key_buffer_size = 99;
|
||||
--Error ER_NO_DEFAULT
|
||||
SET @@global.key_buffer_size = DEFAULT;
|
||||
--echo 'Bug# 34878: This variable has default value according to documentation';
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
|
||||
--echo '#---------------------FN_DYNVARS_055_02-------------------------#'
|
||||
###############################################
|
||||
@ -66,26 +62,25 @@ SELECT @@global.key_buffer_size = @start_value;
|
||||
# Change the value of key_buffer_size to a valid value #
|
||||
########################################################################
|
||||
|
||||
SET @@global.key_buffer_size = @min_key_buffer_size;
|
||||
SELECT @@global.key_buffer_size= @min_key_buffer_size;
|
||||
SET @@global.key_buffer_size = 8 ;
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
--disable_warnings
|
||||
#Due to "lost connection"
|
||||
#Due to increasing the runtime significantly and allocating the buffer instantly.
|
||||
#SET @@global.key_buffer_size = 4294967295;
|
||||
--enable_warnings
|
||||
#SELECT @@global.key_buffer_size;
|
||||
SET @@global.key_buffer_size = 1800;
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
SET @@global.key_buffer_size = 65535;
|
||||
SELECT @@global.key_buffer_size;
|
||||
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_055_04-------------------------#'
|
||||
###########################################################################
|
||||
# Change the value of key_buffer_size to invalid value #
|
||||
###########################################################################
|
||||
|
||||
# Due to "lost connection"
|
||||
# Due to increasing the runtime significantly and allocating the buffer instantly
|
||||
# with a size of 18446744073709551615 bytes with 32bit exec.
|
||||
#SET @@global.key_buffer_size = -1;
|
||||
#SELECT @@global.key_buffer_size;
|
||||
#SET @@global.key_buffer_size = 100000000000;
|
||||
@ -96,16 +91,14 @@ SELECT @@global.key_buffer_size;
|
||||
#SET @@global.key_buffer_size = -1024;
|
||||
#SELECT @@global.key_buffer_size;
|
||||
SET @@global.key_buffer_size = 4;
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@global.key_buffer_size = ON;
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@global.key_buffer_size = 'test';
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
|
||||
--echo '#-------------------FN_DYNVARS_055_05----------------------------#'
|
||||
###########################################################################
|
||||
@ -114,8 +107,7 @@ SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
|
||||
--Error ER_GLOBAL_VARIABLE
|
||||
SET @@session.key_buffer_size = 0;
|
||||
SELECT @@key_buffer_size = @min_key_buffer_size;
|
||||
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
|
||||
--echo '#----------------------FN_DYNVARS_055_06------------------------#'
|
||||
##############################################################################
|
||||
@ -130,17 +122,15 @@ SELECT @@key_buffer_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||||
WHERE VARIABLE_NAME='key_buffer_size';
|
||||
|
||||
|
||||
--echo '#---------------------FN_DYNVARS_055_07----------------------#'
|
||||
###################################################################
|
||||
# Check if TRUE and FALSE values can be used on variable #
|
||||
###################################################################
|
||||
|
||||
SET @@global.key_buffer_size = TRUE;
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
SET @@global.key_buffer_size = FALSE;
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
|
||||
--echo '#---------------------FN_DYNVARS_055_08----------------------#'
|
||||
#####################################################################
|
||||
@ -150,7 +140,7 @@ SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
|
||||
# due to differences in contents of the warnings
|
||||
--disable_warnings
|
||||
SET @@global.key_buffer_size = @min_key_buffer_size;
|
||||
SET @@global.key_buffer_size = 8 ;
|
||||
SELECT @@key_buffer_size = @@global.key_buffer_size;
|
||||
--enable_warnings
|
||||
|
||||
@ -160,8 +150,8 @@ SELECT @@key_buffer_size = @@global.key_buffer_size;
|
||||
##########################################################################
|
||||
|
||||
--Error ER_GLOBAL_VARIABLE
|
||||
SET key_buffer_size = @min_key_buffer_size;
|
||||
SELECT @@key_buffer_size = @min_key_buffer_size;
|
||||
SET key_buffer_size = 8 ;
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
--Error ER_PARSE_ERROR
|
||||
SET local.key_buffer_size = 10;
|
||||
--Error ER_UNKNOWN_TABLE
|
||||
@ -179,9 +169,9 @@ SELECT key_buffer_size = @@session.key_buffer_size;
|
||||
##############################
|
||||
|
||||
SET @@global.key_buffer_size = @start_value;
|
||||
SELECT @@global.key_buffer_size;
|
||||
|
||||
--enable_warnings
|
||||
#######################################################################
|
||||
# END OF key_buffer_size TESTS #
|
||||
#######################################################################
|
||||
|
||||
|
@ -17,9 +17,12 @@
|
||||
# * Valid & Invalid values #
|
||||
# * Scope & Access method #
|
||||
# * Data Integrity #
|
||||
# Modified: Horst Hunger, 2008-11-28 #
|
||||
# disabled warnings as they contain the values of this variable, #
|
||||
# modified the check of the value only checking a range. #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
|
||||
# server-system-variables.html #
|
||||
# Reference: #
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
@ -29,7 +32,7 @@
|
||||
|
||||
|
||||
######################################################################
|
||||
# START OF sort_buffer_size TESTS #
|
||||
# START OF sort_buffer_size TESTS #
|
||||
######################################################################
|
||||
|
||||
|
||||
@ -37,65 +40,63 @@
|
||||
# Save initial value #
|
||||
#############################################################
|
||||
|
||||
# due to difference when running on Windows (bug filed)
|
||||
# due to differences when running on Windows (bug filed)
|
||||
--source include/not_windows.inc
|
||||
|
||||
SET @start_global_value = @@global.sort_buffer_size;
|
||||
SELECT @start_global_value;
|
||||
SET @start_session_value = @@session.sort_buffer_size;
|
||||
SELECT @start_session_value;
|
||||
--disable_warnings
|
||||
|
||||
SET @start_global_value = @@global.sort_buffer_size;
|
||||
SET @start_session_value = @@session.sort_buffer_size;
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_151_01-------------------------#'
|
||||
######################################################################
|
||||
# Display the DEFAULT value of sort_buffer_size #
|
||||
# Display the DEFAULT value of sort_buffer_size #
|
||||
######################################################################
|
||||
|
||||
SET @@global.sort_buffer_size = 1000;
|
||||
SET @@global.sort_buffer_size = DEFAULT;
|
||||
SELECT @@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116;
|
||||
SELECT @@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000;
|
||||
|
||||
SET @@session.sort_buffer_size = 2000;
|
||||
SET @@session.sort_buffer_size = DEFAULT;
|
||||
SELECT @@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116;
|
||||
SELECT @@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000;
|
||||
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_151_02-------------------------#'
|
||||
######################################################################
|
||||
# Check the DEFAULT value of sort_buffer_size #
|
||||
# Check the DEFAULT value of sort_buffer_size #
|
||||
######################################################################
|
||||
|
||||
SET @@global.sort_buffer_size = DEFAULT;
|
||||
SELECT @@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116;
|
||||
SELECT @@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000;
|
||||
|
||||
SET @@session.sort_buffer_size = DEFAULT;
|
||||
SELECT @@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116;
|
||||
SELECT @@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000;
|
||||
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_151_03-------------------------#'
|
||||
################################################################################
|
||||
# Change the value of sort_buffer_size to a valid value for GLOBAL Scope #
|
||||
# Change the value of sort_buffer_size to a valid value for GLOBAL Scope #
|
||||
################################################################################
|
||||
|
||||
SET @@global.sort_buffer_size = 32776;
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
SET @@global.sort_buffer_size = 32777;
|
||||
SELECT @@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804;
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
SET @@global.sort_buffer_size = 4294967295;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
SET @@global.sort_buffer_size = 4294967294;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
--echo 'Bug# 34877: Invalid Values are showing in variable on assigning valid values.';
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_151_04-------------------------#'
|
||||
###################################################################################
|
||||
# Change the value of sort_buffer_size to a valid value for SESSION Scope #
|
||||
# Change the value of sort_buffer_size to a valid value for SESSION Scope #
|
||||
###################################################################################
|
||||
|
||||
SET @@session.sort_buffer_size = 32776;
|
||||
SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804;
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
SET @@session.sort_buffer_size = 32777;
|
||||
SELECT @@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804;
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
SET @@session.sort_buffer_size = 4294967295;
|
||||
SELECT @@session.sort_buffer_size;
|
||||
SET @@session.sort_buffer_size = 4294967294;
|
||||
@ -104,13 +105,13 @@ SELECT @@session.sort_buffer_size;
|
||||
|
||||
--echo '#------------------FN_DYNVARS_151_05-----------------------#'
|
||||
##################################################################
|
||||
# Change the value of sort_buffer_size to an invalid value #
|
||||
# Change the value of sort_buffer_size to an invalid value #
|
||||
##################################################################
|
||||
|
||||
SET @@global.sort_buffer_size = 32775;
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
SET @@global.sort_buffer_size = -1024;
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
SET @@global.sort_buffer_size = 4294967296;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
--Error ER_PARSE_ERROR
|
||||
@ -121,19 +122,16 @@ SET @@global.sort_buffer_size = test;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
|
||||
SET @@session.sort_buffer_size = 32775;
|
||||
SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804;
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
SET @@session.sort_buffer_size = -2;
|
||||
SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804;
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
--Error ER_PARSE_ERROR
|
||||
SET @@session.sort_buffer_size = 65530.34.;
|
||||
SET @@session.sort_buffer_size = 4294967296;
|
||||
SELECT @@session.sort_buffer_size;
|
||||
--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@session.sort_buffer_size = test;
|
||||
SELECT @@session.sort_buffer_size;
|
||||
|
||||
|
||||
--echo '#------------------FN_DYNVARS_151_06-----------------------#'
|
||||
####################################################################
|
||||
@ -141,14 +139,16 @@ SELECT @@session.sort_buffer_size;
|
||||
####################################################################
|
||||
|
||||
|
||||
SELECT @@global.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
SELECT @@global.sort_buffer_size = VARIABLE_VALUE FROM
|
||||
INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
|
||||
--echo '#------------------FN_DYNVARS_151_07-----------------------#'
|
||||
####################################################################
|
||||
# Check if the value in SESSION Table matches value in variable #
|
||||
####################################################################
|
||||
|
||||
SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM
|
||||
INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
|
||||
|
||||
--echo '#------------------FN_DYNVARS_151_08-----------------------#'
|
||||
@ -157,25 +157,22 @@ SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSI
|
||||
####################################################################
|
||||
|
||||
SET @@global.sort_buffer_size = TRUE;
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
SET @@global.sort_buffer_size = FALSE;
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
echo 'Bug: Errors should be displayed on assigning TRUE/FALSE to variable';
|
||||
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
|
||||
--echo '#---------------------FN_DYNVARS_151_09----------------------#'
|
||||
####################################################################################
|
||||
# Check if accessing variable with and without GLOBAL point to same variable #
|
||||
# Check if accessing variable with and without GLOBAL point to same variable #
|
||||
####################################################################################
|
||||
|
||||
SET @@global.sort_buffer_size = 9000;
|
||||
SELECT @@sort_buffer_size = @@global.sort_buffer_size;
|
||||
|
||||
|
||||
--echo '#---------------------FN_DYNVARS_151_10----------------------#'
|
||||
########################################################################################################
|
||||
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
|
||||
########################################################################################################
|
||||
###################################################################################################
|
||||
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable#
|
||||
###################################################################################################
|
||||
|
||||
SET @@sort_buffer_size = 9000;
|
||||
SELECT @@sort_buffer_size = @@local.sort_buffer_size;
|
||||
@ -184,12 +181,11 @@ SELECT @@local.sort_buffer_size = @@session.sort_buffer_size;
|
||||
|
||||
--echo '#---------------------FN_DYNVARS_151_11----------------------#'
|
||||
###################################################################################
|
||||
# Check if sort_buffer_size can be accessed with and without @@ sign #
|
||||
# Check if sort_buffer_size can be accessed with and without @@ sign #
|
||||
###################################################################################
|
||||
|
||||
SET sort_buffer_size = 9100;
|
||||
SELECT @sort_buffer_size= 32776 OR @@sort_buffer_size= 32804;
|
||||
SELECT @@sort_buffer_size;
|
||||
SELECT @@sort_buffer_size >= 32776 AND @@sort_buffer_size < 33000;
|
||||
--Error ER_UNKNOWN_TABLE
|
||||
SELECT local.sort_buffer_size;
|
||||
--Error ER_UNKNOWN_TABLE
|
||||
@ -203,11 +199,11 @@ SELECT sort_buffer_size = @@session.sort_buffer_size;
|
||||
####################################
|
||||
|
||||
SET @@global.sort_buffer_size = @start_global_value;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
SET @@session.sort_buffer_size = @start_session_value;
|
||||
SELECT @@session.sort_buffer_size;
|
||||
|
||||
--enable_warnings
|
||||
|
||||
#############################################################
|
||||
# END OF sort_buffer_size TESTS #
|
||||
# END OF sort_buffer_size TESTS #
|
||||
#############################################################
|
||||
|
||||
|
@ -1,14 +1,10 @@
|
||||
SET @start_value = @@global.key_buffer_size;
|
||||
SELECT @start_value;
|
||||
@start_value
|
||||
1048576
|
||||
'#--------------------FN_DYNVARS_055_01------------------------#'
|
||||
SET @@global.key_buffer_size = 99;
|
||||
SET @@global.key_buffer_size = DEFAULT;
|
||||
ERROR 42000: Variable 'key_buffer_size' doesn't have a default value
|
||||
'Bug# 34878: This variable has default value according to documentation';
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'#---------------------FN_DYNVARS_055_02-------------------------#'
|
||||
SET @@global.key_buffer_size = @start_value;
|
||||
@ -16,21 +12,20 @@ SELECT @@global.key_buffer_size = @start_value;
|
||||
@@global.key_buffer_size = @start_value
|
||||
1
|
||||
'#--------------------FN_DYNVARS_055_03------------------------#'
|
||||
SET @@global.key_buffer_size = @min_key_buffer_size;
|
||||
SELECT @@global.key_buffer_size= @min_key_buffer_size;
|
||||
@@global.key_buffer_size= @min_key_buffer_size
|
||||
SET @@global.key_buffer_size = 8 ;
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET @@global.key_buffer_size = 1800;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_buffer_size value: '1800'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET @@global.key_buffer_size = 65535;
|
||||
SELECT @@global.key_buffer_size;
|
||||
@@global.key_buffer_size
|
||||
61440
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable'
|
||||
'#--------------------FN_DYNVARS_055_04-------------------------#'
|
||||
SET @@global.key_buffer_size = 10000.01;
|
||||
ERROR 42000: Incorrect argument type to variable 'key_buffer_size'
|
||||
@ -40,25 +35,24 @@ SELECT @@global.key_buffer_size;
|
||||
SET @@global.key_buffer_size = 4;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_buffer_size value: '4'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
SET @@global.key_buffer_size = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'key_buffer_size'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET @@global.key_buffer_size = 'test';
|
||||
ERROR 42000: Incorrect argument type to variable 'key_buffer_size'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'#-------------------FN_DYNVARS_055_05----------------------------#'
|
||||
SET @@session.key_buffer_size = 0;
|
||||
ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
SELECT @@key_buffer_size = @min_key_buffer_size;
|
||||
@@key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'#----------------------FN_DYNVARS_055_06------------------------#'
|
||||
SELECT @@global.key_buffer_size = VARIABLE_VALUE
|
||||
@ -75,25 +69,25 @@ WHERE VARIABLE_NAME='key_buffer_size';
|
||||
SET @@global.key_buffer_size = TRUE;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_buffer_size value: '1'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET @@global.key_buffer_size = FALSE;
|
||||
Warnings:
|
||||
Warning 1438 Cannot drop default keycache
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'#---------------------FN_DYNVARS_055_08----------------------#'
|
||||
SET @@global.key_buffer_size = @min_key_buffer_size;
|
||||
SET @@global.key_buffer_size = 8 ;
|
||||
SELECT @@key_buffer_size = @@global.key_buffer_size;
|
||||
@@key_buffer_size = @@global.key_buffer_size
|
||||
1
|
||||
'#---------------------FN_DYNVARS_055_09----------------------#'
|
||||
SET key_buffer_size = @min_key_buffer_size;
|
||||
SET key_buffer_size = 8 ;
|
||||
ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
SELECT @@key_buffer_size = @min_key_buffer_size;
|
||||
@@key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET local.key_buffer_size = 10;
|
||||
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 'key_buffer_size = 10' at line 1
|
||||
@ -106,6 +100,3 @@ ERROR 42S02: Unknown table 'global' in field list
|
||||
SELECT key_buffer_size = @@session.key_buffer_size;
|
||||
ERROR 42S22: Unknown column 'key_buffer_size' in 'field list'
|
||||
SET @@global.key_buffer_size = @start_value;
|
||||
SELECT @@global.key_buffer_size;
|
||||
@@global.key_buffer_size
|
||||
1048576
|
||||
|
@ -1,14 +1,10 @@
|
||||
SET @start_value = @@global.key_buffer_size;
|
||||
SELECT @start_value;
|
||||
@start_value
|
||||
1048576
|
||||
'#--------------------FN_DYNVARS_055_01------------------------#'
|
||||
SET @@global.key_buffer_size = 99;
|
||||
SET @@global.key_buffer_size = DEFAULT;
|
||||
ERROR 42000: Variable 'key_buffer_size' doesn't have a default value
|
||||
'Bug# 34878: This variable has default value according to documentation';
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'#---------------------FN_DYNVARS_055_02-------------------------#'
|
||||
SET @@global.key_buffer_size = @start_value;
|
||||
@ -16,21 +12,20 @@ SELECT @@global.key_buffer_size = @start_value;
|
||||
@@global.key_buffer_size = @start_value
|
||||
1
|
||||
'#--------------------FN_DYNVARS_055_03------------------------#'
|
||||
SET @@global.key_buffer_size = @min_key_buffer_size;
|
||||
SELECT @@global.key_buffer_size= @min_key_buffer_size;
|
||||
@@global.key_buffer_size= @min_key_buffer_size
|
||||
SET @@global.key_buffer_size = 8 ;
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET @@global.key_buffer_size = 1800;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_buffer_size value: '1800'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET @@global.key_buffer_size = 65535;
|
||||
SELECT @@global.key_buffer_size;
|
||||
@@global.key_buffer_size
|
||||
61440
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable'
|
||||
'#--------------------FN_DYNVARS_055_04-------------------------#'
|
||||
SET @@global.key_buffer_size = 10000.01;
|
||||
ERROR 42000: Incorrect argument type to variable 'key_buffer_size'
|
||||
@ -40,25 +35,24 @@ SELECT @@global.key_buffer_size;
|
||||
SET @@global.key_buffer_size = 4;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_buffer_size value: '4'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
SET @@global.key_buffer_size = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'key_buffer_size'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET @@global.key_buffer_size = 'test';
|
||||
ERROR 42000: Incorrect argument type to variable 'key_buffer_size'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'#-------------------FN_DYNVARS_055_05----------------------------#'
|
||||
SET @@session.key_buffer_size = 0;
|
||||
ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
SELECT @@key_buffer_size = @min_key_buffer_size;
|
||||
@@key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'#----------------------FN_DYNVARS_055_06------------------------#'
|
||||
SELECT @@global.key_buffer_size = VARIABLE_VALUE
|
||||
@ -75,25 +69,25 @@ WHERE VARIABLE_NAME='key_buffer_size';
|
||||
SET @@global.key_buffer_size = TRUE;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect key_buffer_size value: '1'
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET @@global.key_buffer_size = FALSE;
|
||||
Warnings:
|
||||
Warning 1438 Cannot drop default keycache
|
||||
SELECT @@global.key_buffer_size = @min_key_buffer_size;
|
||||
@@global.key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
'#---------------------FN_DYNVARS_055_08----------------------#'
|
||||
SET @@global.key_buffer_size = @min_key_buffer_size;
|
||||
SET @@global.key_buffer_size = 8 ;
|
||||
SELECT @@key_buffer_size = @@global.key_buffer_size;
|
||||
@@key_buffer_size = @@global.key_buffer_size
|
||||
1
|
||||
'#---------------------FN_DYNVARS_055_09----------------------#'
|
||||
SET key_buffer_size = @min_key_buffer_size;
|
||||
SET key_buffer_size = 8 ;
|
||||
ERROR HY000: Variable 'key_buffer_size' is a GLOBAL variable and should be set with SET GLOBAL
|
||||
SELECT @@key_buffer_size = @min_key_buffer_size;
|
||||
@@key_buffer_size = @min_key_buffer_size
|
||||
SELECT @@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36;
|
||||
@@global.key_buffer_size >= 8 AND @@global.key_buffer_size <= 36
|
||||
1
|
||||
SET local.key_buffer_size = 10;
|
||||
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 'key_buffer_size = 10' at line 1
|
||||
@ -106,6 +100,3 @@ ERROR 42S02: Unknown table 'global' in field list
|
||||
SELECT key_buffer_size = @@session.key_buffer_size;
|
||||
ERROR 42S22: Unknown column 'key_buffer_size' in 'field list'
|
||||
SET @@global.key_buffer_size = @start_value;
|
||||
SELECT @@global.key_buffer_size;
|
||||
@@global.key_buffer_size
|
||||
1048576
|
||||
|
@ -1,47 +1,33 @@
|
||||
SET @start_global_value = @@global.sort_buffer_size;
|
||||
SELECT @start_global_value;
|
||||
@start_global_value
|
||||
262144
|
||||
SET @start_session_value = @@session.sort_buffer_size;
|
||||
SELECT @start_session_value;
|
||||
@start_session_value
|
||||
262144
|
||||
'#--------------------FN_DYNVARS_151_01-------------------------#'
|
||||
SET @@global.sort_buffer_size = 1000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '1000'
|
||||
SET @@global.sort_buffer_size = DEFAULT;
|
||||
SELECT @@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116;
|
||||
@@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116
|
||||
SELECT @@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000;
|
||||
@@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000
|
||||
1
|
||||
SET @@session.sort_buffer_size = 2000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '2000'
|
||||
SET @@session.sort_buffer_size = DEFAULT;
|
||||
SELECT @@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116;
|
||||
@@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116
|
||||
SELECT @@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000;
|
||||
@@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000
|
||||
1
|
||||
'#--------------------FN_DYNVARS_151_02-------------------------#'
|
||||
SET @@global.sort_buffer_size = DEFAULT;
|
||||
SELECT @@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116;
|
||||
@@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116
|
||||
SELECT @@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000;
|
||||
@@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000
|
||||
1
|
||||
SET @@session.sort_buffer_size = DEFAULT;
|
||||
SELECT @@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116;
|
||||
@@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116
|
||||
SELECT @@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000;
|
||||
@@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000
|
||||
1
|
||||
'#--------------------FN_DYNVARS_151_03-------------------------#'
|
||||
SET @@global.sort_buffer_size = 32776;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32776'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = 32777;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32777'
|
||||
SELECT @@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = 4294967295;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
@ -51,19 +37,14 @@ SET @@global.sort_buffer_size = 4294967294;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
@@global.sort_buffer_size
|
||||
4294967294
|
||||
'Bug# 34877: Invalid Values are showing in variable on assigning valid values.';
|
||||
'#--------------------FN_DYNVARS_151_04-------------------------#'
|
||||
SET @@session.sort_buffer_size = 32776;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32776'
|
||||
SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804;
|
||||
@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
@@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@session.sort_buffer_size = 32777;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32777'
|
||||
SELECT @@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804;
|
||||
@@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
@@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@session.sort_buffer_size = 4294967295;
|
||||
SELECT @@session.sort_buffer_size;
|
||||
@ -75,20 +56,14 @@ SELECT @@session.sort_buffer_size;
|
||||
4294967294
|
||||
'#------------------FN_DYNVARS_151_05-----------------------#'
|
||||
SET @@global.sort_buffer_size = 32775;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32775'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '0'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = 4294967296;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '4294967296'
|
||||
SELECT @@global.sort_buffer_size;
|
||||
@@global.sort_buffer_size
|
||||
4294967295
|
||||
@ -103,64 +78,47 @@ SELECT @@global.sort_buffer_size;
|
||||
@@global.sort_buffer_size
|
||||
4294967295
|
||||
SET @@session.sort_buffer_size = 32775;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32775'
|
||||
SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804;
|
||||
@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
@@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@session.sort_buffer_size = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '0'
|
||||
SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804;
|
||||
@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
@@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@session.sort_buffer_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.sort_buffer_size = 4294967296;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '4294967296'
|
||||
SELECT @@session.sort_buffer_size;
|
||||
@@session.sort_buffer_size
|
||||
4294967295
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
SET @@session.sort_buffer_size = test;
|
||||
ERROR 42000: Incorrect argument type to variable 'sort_buffer_size'
|
||||
SELECT @@session.sort_buffer_size;
|
||||
@@session.sort_buffer_size
|
||||
4294967295
|
||||
'#------------------FN_DYNVARS_151_06-----------------------#'
|
||||
SELECT @@global.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
SELECT @@global.sort_buffer_size = VARIABLE_VALUE FROM
|
||||
INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
@@global.sort_buffer_size = VARIABLE_VALUE
|
||||
1
|
||||
'#------------------FN_DYNVARS_151_07-----------------------#'
|
||||
SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM
|
||||
INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
@@session.sort_buffer_size = VARIABLE_VALUE
|
||||
1
|
||||
'#------------------FN_DYNVARS_151_08-----------------------#'
|
||||
SET @@global.sort_buffer_size = TRUE;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '1'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = FALSE;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '0'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
'Bug: Errors should be displayed on assigning TRUE/FALSE to variable'
|
||||
'#---------------------FN_DYNVARS_151_09----------------------#'
|
||||
SET @@global.sort_buffer_size = 9000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '9000'
|
||||
SELECT @@sort_buffer_size = @@global.sort_buffer_size;
|
||||
@@sort_buffer_size = @@global.sort_buffer_size
|
||||
0
|
||||
'#---------------------FN_DYNVARS_151_10----------------------#'
|
||||
SET @@sort_buffer_size = 9000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '9000'
|
||||
SELECT @@sort_buffer_size = @@local.sort_buffer_size;
|
||||
@@sort_buffer_size = @@local.sort_buffer_size
|
||||
1
|
||||
@ -169,14 +127,9 @@ SELECT @@local.sort_buffer_size = @@session.sort_buffer_size;
|
||||
1
|
||||
'#---------------------FN_DYNVARS_151_11----------------------#'
|
||||
SET sort_buffer_size = 9100;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '9100'
|
||||
SELECT @sort_buffer_size= 32776 OR @@sort_buffer_size= 32804;
|
||||
@sort_buffer_size= 32776 OR @@sort_buffer_size= 32804
|
||||
SELECT @@sort_buffer_size >= 32776 AND @@sort_buffer_size < 33000;
|
||||
@@sort_buffer_size >= 32776 AND @@sort_buffer_size < 33000
|
||||
1
|
||||
SELECT @@sort_buffer_size;
|
||||
@@sort_buffer_size
|
||||
32804
|
||||
SELECT local.sort_buffer_size;
|
||||
ERROR 42S02: Unknown table 'local' in field list
|
||||
SELECT session.sort_buffer_size;
|
||||
@ -184,10 +137,4 @@ ERROR 42S02: Unknown table 'session' in field list
|
||||
SELECT sort_buffer_size = @@session.sort_buffer_size;
|
||||
ERROR 42S22: Unknown column 'sort_buffer_size' in 'field list'
|
||||
SET @@global.sort_buffer_size = @start_global_value;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
@@global.sort_buffer_size
|
||||
262144
|
||||
SET @@session.sort_buffer_size = @start_session_value;
|
||||
SELECT @@session.sort_buffer_size;
|
||||
@@session.sort_buffer_size
|
||||
262144
|
||||
|
@ -1,47 +1,33 @@
|
||||
SET @start_global_value = @@global.sort_buffer_size;
|
||||
SELECT @start_global_value;
|
||||
@start_global_value
|
||||
262144
|
||||
SET @start_session_value = @@session.sort_buffer_size;
|
||||
SELECT @start_session_value;
|
||||
@start_session_value
|
||||
262144
|
||||
'#--------------------FN_DYNVARS_151_01-------------------------#'
|
||||
SET @@global.sort_buffer_size = 1000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '1000'
|
||||
SET @@global.sort_buffer_size = DEFAULT;
|
||||
SELECT @@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116;
|
||||
@@global.sort_buffer_size= 2097144 OR @@global.sort_buffer_size= 2097116
|
||||
SELECT @@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000;
|
||||
@@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000
|
||||
1
|
||||
SET @@session.sort_buffer_size = 2000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '2000'
|
||||
SET @@session.sort_buffer_size = DEFAULT;
|
||||
SELECT @@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116;
|
||||
@@session.sort_buffer_size= 2097144 OR @@session.sort_buffer_size= 2097116
|
||||
SELECT @@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000;
|
||||
@@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000
|
||||
1
|
||||
'#--------------------FN_DYNVARS_151_02-------------------------#'
|
||||
SET @@global.sort_buffer_size = DEFAULT;
|
||||
SELECT @@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116;
|
||||
@@global.sort_buffer_size = 2097144 OR @@global.sort_buffer_size= 2097116
|
||||
SELECT @@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000;
|
||||
@@global.sort_buffer_size >= 2097116 AND @@global.sort_buffer_size < 3000000
|
||||
1
|
||||
SET @@session.sort_buffer_size = DEFAULT;
|
||||
SELECT @@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116;
|
||||
@@session.sort_buffer_size = 2097144 OR @@session.sort_buffer_size= 2097116
|
||||
SELECT @@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000;
|
||||
@@session.sort_buffer_size >= 2097116 AND @@session.sort_buffer_size < 3000000
|
||||
1
|
||||
'#--------------------FN_DYNVARS_151_03-------------------------#'
|
||||
SET @@global.sort_buffer_size = 32776;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32776'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = 32777;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32777'
|
||||
SELECT @@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32777 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = 4294967295;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
@ -51,19 +37,14 @@ SET @@global.sort_buffer_size = 4294967294;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
@@global.sort_buffer_size
|
||||
4294967294
|
||||
'Bug# 34877: Invalid Values are showing in variable on assigning valid values.';
|
||||
'#--------------------FN_DYNVARS_151_04-------------------------#'
|
||||
SET @@session.sort_buffer_size = 32776;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32776'
|
||||
SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804;
|
||||
@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
@@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@session.sort_buffer_size = 32777;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32777'
|
||||
SELECT @@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804;
|
||||
@@session.sort_buffer_size= 32777 OR @@session.sort_buffer_size= 32804
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
@@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@session.sort_buffer_size = 4294967295;
|
||||
SELECT @@session.sort_buffer_size;
|
||||
@ -75,16 +56,12 @@ SELECT @@session.sort_buffer_size;
|
||||
4294967294
|
||||
'#------------------FN_DYNVARS_151_05-----------------------#'
|
||||
SET @@global.sort_buffer_size = 32775;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32775'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '0'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = 4294967296;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
@ -101,16 +78,12 @@ SELECT @@global.sort_buffer_size;
|
||||
@@global.sort_buffer_size
|
||||
4294967296
|
||||
SET @@session.sort_buffer_size = 32775;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '32775'
|
||||
SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804;
|
||||
@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
@@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@session.sort_buffer_size = -2;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '0'
|
||||
SELECT @@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804;
|
||||
@@session.sort_buffer_size= 32776 OR @@session.sort_buffer_size= 32804
|
||||
SELECT @@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000;
|
||||
@@session.sort_buffer_size >= 32776 AND @@session.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@session.sort_buffer_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
|
||||
@ -118,45 +91,34 @@ SET @@session.sort_buffer_size = 4294967296;
|
||||
SELECT @@session.sort_buffer_size;
|
||||
@@session.sort_buffer_size
|
||||
4294967296
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
SET @@session.sort_buffer_size = test;
|
||||
ERROR 42000: Incorrect argument type to variable 'sort_buffer_size'
|
||||
SELECT @@session.sort_buffer_size;
|
||||
@@session.sort_buffer_size
|
||||
4294967296
|
||||
'#------------------FN_DYNVARS_151_06-----------------------#'
|
||||
SELECT @@global.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
SELECT @@global.sort_buffer_size = VARIABLE_VALUE FROM
|
||||
INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
@@global.sort_buffer_size = VARIABLE_VALUE
|
||||
1
|
||||
'#------------------FN_DYNVARS_151_07-----------------------#'
|
||||
SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
SELECT @@session.sort_buffer_size = VARIABLE_VALUE FROM
|
||||
INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='sort_buffer_size';
|
||||
@@session.sort_buffer_size = VARIABLE_VALUE
|
||||
1
|
||||
'#------------------FN_DYNVARS_151_08-----------------------#'
|
||||
SET @@global.sort_buffer_size = TRUE;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '1'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
SET @@global.sort_buffer_size = FALSE;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '0'
|
||||
SELECT @@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804;
|
||||
@@global.sort_buffer_size= 32776 OR @@global.sort_buffer_size= 32804
|
||||
SELECT @@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000;
|
||||
@@global.sort_buffer_size >= 32776 AND @@global.sort_buffer_size < 33000
|
||||
1
|
||||
'Bug: Errors should be displayed on assigning TRUE/FALSE to variable'
|
||||
'#---------------------FN_DYNVARS_151_09----------------------#'
|
||||
SET @@global.sort_buffer_size = 9000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '9000'
|
||||
SELECT @@sort_buffer_size = @@global.sort_buffer_size;
|
||||
@@sort_buffer_size = @@global.sort_buffer_size
|
||||
0
|
||||
'#---------------------FN_DYNVARS_151_10----------------------#'
|
||||
SET @@sort_buffer_size = 9000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '9000'
|
||||
SELECT @@sort_buffer_size = @@local.sort_buffer_size;
|
||||
@@sort_buffer_size = @@local.sort_buffer_size
|
||||
1
|
||||
@ -165,14 +127,9 @@ SELECT @@local.sort_buffer_size = @@session.sort_buffer_size;
|
||||
1
|
||||
'#---------------------FN_DYNVARS_151_11----------------------#'
|
||||
SET sort_buffer_size = 9100;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '9100'
|
||||
SELECT @sort_buffer_size= 32776 OR @@sort_buffer_size= 32804;
|
||||
@sort_buffer_size= 32776 OR @@sort_buffer_size= 32804
|
||||
SELECT @@sort_buffer_size >= 32776 AND @@sort_buffer_size < 33000;
|
||||
@@sort_buffer_size >= 32776 AND @@sort_buffer_size < 33000
|
||||
1
|
||||
SELECT @@sort_buffer_size;
|
||||
@@sort_buffer_size
|
||||
32804
|
||||
SELECT local.sort_buffer_size;
|
||||
ERROR 42S02: Unknown table 'local' in field list
|
||||
SELECT session.sort_buffer_size;
|
||||
@ -180,10 +137,4 @@ ERROR 42S02: Unknown table 'session' in field list
|
||||
SELECT sort_buffer_size = @@session.sort_buffer_size;
|
||||
ERROR 42S22: Unknown column 'sort_buffer_size' in 'field list'
|
||||
SET @@global.sort_buffer_size = @start_global_value;
|
||||
SELECT @@global.sort_buffer_size;
|
||||
@@global.sort_buffer_size
|
||||
262144
|
||||
SET @@session.sort_buffer_size = @start_session_value;
|
||||
SELECT @@session.sort_buffer_size;
|
||||
@@session.sort_buffer_size
|
||||
262144
|
||||
|
@ -1,39 +1,21 @@
|
||||
SET @start_global_value = @@global.tmp_table_size;
|
||||
SELECT @start_global_value;
|
||||
@start_global_value
|
||||
16777216
|
||||
SET @start_session_value = @@session.tmp_table_size;
|
||||
SELECT @start_session_value;
|
||||
@start_session_value
|
||||
16777216
|
||||
'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
'#--------------------FN_DYNVARS_005_01-------------------------#'
|
||||
SET @@global.tmp_table_size = 100;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '100'
|
||||
SET @@global.tmp_table_size = DEFAULT;
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
16777216
|
||||
'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
SET @@session.tmp_table_size = 200;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '200'
|
||||
SET @@session.tmp_table_size = DEFAULT;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
16777216
|
||||
'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
'#--------------------FN_DYNVARS_005_02-------------------------#'
|
||||
SET @@global.tmp_table_size = DEFAULT;
|
||||
SELECT @@global.tmp_table_size = 33554432;
|
||||
@@global.tmp_table_size = 33554432
|
||||
0
|
||||
SET @@session.tmp_table_size = DEFAULT;
|
||||
SELECT @@session.tmp_table_size = 33554432;
|
||||
@@session.tmp_table_size = 33554432
|
||||
0
|
||||
'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
SELECT @@global.tmp_table_size >= 16777216;
|
||||
@@global.tmp_table_size >= 16777216
|
||||
1
|
||||
SELECT @@session.tmp_table_size >= 16777216;
|
||||
@@session.tmp_table_size >= 16777216
|
||||
1
|
||||
'#--------------------FN_DYNVARS_005_03-------------------------#'
|
||||
SET @@global.tmp_table_size = 1024;
|
||||
SELECT @@global.tmp_table_size;
|
||||
@ -52,7 +34,7 @@ SET @@session.tmp_table_size = 1024;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
1024
|
||||
SET @@session.tmp_table_size =4294967295;
|
||||
SET @@session.tmp_table_size = 4294967295;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
4294967295
|
||||
@ -79,7 +61,6 @@ Warning 1292 Truncated incorrect tmp_table_size value: '1000'
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
1024
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
SET @@global.tmp_table_size = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@global.tmp_table_size = OFF;
|
||||
@ -96,7 +77,6 @@ Warning 1292 Truncated incorrect tmp_table_size value: '0'
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
1024
|
||||
'Bug:Error should be shown that variable is numeric and can not assigned boolean value';
|
||||
SET @@global.tmp_table_size = 65530.34;
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@global.tmp_table_size ="Test";
|
||||
@ -120,18 +100,18 @@ 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;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
4294967295
|
||||
SELECT @@session.tmp_table_size IN (12345678901,4294967295);
|
||||
@@session.tmp_table_size IN (12345678901,4294967295)
|
||||
1
|
||||
'#------------------FN_DYNVARS_005_06-----------------------#'
|
||||
SELECT @@global.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||||
SELECT @@global.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||||
WHERE VARIABLE_NAME='tmp_table_size';
|
||||
@@global.tmp_table_size = VARIABLE_VALUE
|
||||
1
|
||||
'#------------------FN_DYNVARS_005_07-----------------------#'
|
||||
SELECT @@session.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||||
SELECT @@session.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||||
WHERE VARIABLE_NAME='tmp_table_size';
|
||||
@@session.tmp_table_size = VARIABLE_VALUE
|
||||
1
|
||||
@ -163,10 +143,4 @@ ERROR 42S02: Unknown table 'global' in field list
|
||||
SELECT tmp_table_size = @@session.tmp_table_size;
|
||||
ERROR 42S22: Unknown column 'tmp_table_size' in 'field list'
|
||||
SET @@global.tmp_table_size = @start_global_value;
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
16777216
|
||||
SET @@session.tmp_table_size = @start_session_value;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
16777216
|
@ -1,172 +0,0 @@
|
||||
SET @start_global_value = @@global.tmp_table_size;
|
||||
SELECT @start_global_value;
|
||||
@start_global_value
|
||||
16777216
|
||||
SET @start_session_value = @@session.tmp_table_size;
|
||||
SELECT @start_session_value;
|
||||
@start_session_value
|
||||
16777216
|
||||
'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
'#--------------------FN_DYNVARS_005_01-------------------------#'
|
||||
SET @@global.tmp_table_size = 100;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '100'
|
||||
SET @@global.tmp_table_size = DEFAULT;
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
16777216
|
||||
'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
SET @@session.tmp_table_size = 200;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '200'
|
||||
SET @@session.tmp_table_size = DEFAULT;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
16777216
|
||||
'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
'#--------------------FN_DYNVARS_005_02-------------------------#'
|
||||
SET @@global.tmp_table_size = DEFAULT;
|
||||
SELECT @@global.tmp_table_size = 33554432;
|
||||
@@global.tmp_table_size = 33554432
|
||||
0
|
||||
SET @@session.tmp_table_size = DEFAULT;
|
||||
SELECT @@session.tmp_table_size = 33554432;
|
||||
@@session.tmp_table_size = 33554432
|
||||
0
|
||||
'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
'#--------------------FN_DYNVARS_005_03-------------------------#'
|
||||
SET @@global.tmp_table_size = 1024;
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
1024
|
||||
SET @@global.tmp_table_size = 60020;
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
60020
|
||||
SET @@global.tmp_table_size = 4294967295;
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
4294967295
|
||||
'#--------------------FN_DYNVARS_005_04-------------------------#'
|
||||
SET @@session.tmp_table_size = 1024;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
1024
|
||||
SET @@session.tmp_table_size =4294967295;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
4294967295
|
||||
SET @@session.tmp_table_size = 65535;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
65535
|
||||
'#------------------FN_DYNVARS_005_05-----------------------#'
|
||||
SET @@global.tmp_table_size = 0;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '0'
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
1024
|
||||
SET @@global.tmp_table_size = -1024;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '0'
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
1024
|
||||
SET @@global.tmp_table_size = 1000;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '1000'
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
1024
|
||||
'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
SET @@global.tmp_table_size = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@global.tmp_table_size = OFF;
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@global.tmp_table_size = True;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '1'
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
1024
|
||||
SET @@global.tmp_table_size = False;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '0'
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
1024
|
||||
'Bug:Error should be shown that variable is numeric and can not assigned boolean value';
|
||||
SET @@global.tmp_table_size = 65530.34;
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@global.tmp_table_size ="Test";
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@session.tmp_table_size = ON;
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@session.tmp_table_size = OFF;
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@session.tmp_table_size = True;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '1'
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
1024
|
||||
SET @@session.tmp_table_size = False;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '0'
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
1024
|
||||
SET @@session.tmp_table_size = "Test";
|
||||
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
|
||||
SET @@session.tmp_table_size = 12345678901;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
12345678901
|
||||
'#------------------FN_DYNVARS_005_06-----------------------#'
|
||||
SELECT @@global.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||||
WHERE VARIABLE_NAME='tmp_table_size';
|
||||
@@global.tmp_table_size = VARIABLE_VALUE
|
||||
1
|
||||
'#------------------FN_DYNVARS_005_07-----------------------#'
|
||||
SELECT @@session.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||||
WHERE VARIABLE_NAME='tmp_table_size';
|
||||
@@session.tmp_table_size = VARIABLE_VALUE
|
||||
1
|
||||
'#---------------------FN_DYNVARS_001_09----------------------#'
|
||||
SET @@global.tmp_table_size = 1024;
|
||||
SET @@tmp_table_size = 4294967295;
|
||||
SELECT @@tmp_table_size = @@global.tmp_table_size;
|
||||
@@tmp_table_size = @@global.tmp_table_size
|
||||
0
|
||||
'#---------------------FN_DYNVARS_001_10----------------------#'
|
||||
SET @@tmp_table_size = 100;
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect tmp_table_size value: '100'
|
||||
SELECT @@tmp_table_size = @@local.tmp_table_size;
|
||||
@@tmp_table_size = @@local.tmp_table_size
|
||||
1
|
||||
SELECT @@local.tmp_table_size = @@session.tmp_table_size;
|
||||
@@local.tmp_table_size = @@session.tmp_table_size
|
||||
1
|
||||
'#---------------------FN_DYNVARS_001_11----------------------#'
|
||||
SET tmp_table_size = 1027;
|
||||
SELECT @@tmp_table_size;
|
||||
@@tmp_table_size
|
||||
1027
|
||||
SELECT local.tmp_table_size;
|
||||
ERROR 42S02: Unknown table 'local' in field list
|
||||
SELECT global.tmp_table_size;
|
||||
ERROR 42S02: Unknown table 'global' in field list
|
||||
SELECT tmp_table_size = @@session.tmp_table_size;
|
||||
ERROR 42S22: Unknown column 'tmp_table_size' in 'field list'
|
||||
SET @@global.tmp_table_size = @start_global_value;
|
||||
SELECT @@global.tmp_table_size;
|
||||
@@global.tmp_table_size
|
||||
16777216
|
||||
SET @@session.tmp_table_size = @start_session_value;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@@session.tmp_table_size
|
||||
16777216
|
@ -1,27 +1,29 @@
|
||||
############## mysql-test\t\tmp_table_size_basic.test #########################
|
||||
# #
|
||||
# Variable Name: tmp_table_size #
|
||||
# Scope: GLOBAL | SESSION #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: numeric #
|
||||
# Default Value: 33554432 #
|
||||
# Range: 1024-4294967295 #
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-02-13 #
|
||||
# Author: Salman #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable tmp_table_size #
|
||||
# that checks the behavior of this variable in the following ways#
|
||||
# * Default Value #
|
||||
# * Valid & Invalid values #
|
||||
# * Scope & Access method #
|
||||
# * Data Integrity #
|
||||
# #
|
||||
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
|
||||
# server-system-variables.html#option_mysqld_tmp_table_size #
|
||||
# #
|
||||
###############################################################################
|
||||
########################### tmp_table_size_basic.test ##########################
|
||||
# #
|
||||
# Variable Name: tmp_table_size #
|
||||
# Scope: GLOBAL | SESSION #
|
||||
# Access Type: Dynamic #
|
||||
# Data Type: numeric #
|
||||
# Default Value: system dependend #
|
||||
# Range: 1024-system dependend #
|
||||
# #
|
||||
# #
|
||||
# Creation Date: 2008-02-13 #
|
||||
# Author: Salman #
|
||||
# #
|
||||
# Description: Test Cases of Dynamic System Variable tmp_table_size #
|
||||
# that checks the behavior of this variable in the following ways #
|
||||
# * Default Value #
|
||||
# * Valid & Invalid values #
|
||||
# * Scope & Access method #
|
||||
# * Data Integrity #
|
||||
# Modified: 2008-12-04 HHunger #
|
||||
# removed the differences between 64 and 32 bit platforms #
|
||||
# #
|
||||
# Reference: #
|
||||
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
|
||||
# #
|
||||
################################################################################
|
||||
|
||||
--source include/load_sysvars.inc
|
||||
|
||||
@ -29,17 +31,12 @@
|
||||
# START OF tmp_table_size TESTS #
|
||||
##############################################################
|
||||
|
||||
|
||||
#############################################################
|
||||
# Save initial value #
|
||||
#############################################################
|
||||
|
||||
SET @start_global_value = @@global.tmp_table_size;
|
||||
SELECT @start_global_value;
|
||||
SET @start_session_value = @@session.tmp_table_size;
|
||||
SELECT @start_session_value;
|
||||
|
||||
--echo 'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_005_01-------------------------#'
|
||||
##############################################################
|
||||
@ -48,27 +45,19 @@ SELECT @start_session_value;
|
||||
|
||||
SET @@global.tmp_table_size = 100;
|
||||
SET @@global.tmp_table_size = DEFAULT;
|
||||
SELECT @@global.tmp_table_size;
|
||||
|
||||
--echo 'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
SET @@session.tmp_table_size = 200;
|
||||
SET @@session.tmp_table_size = DEFAULT;
|
||||
SELECT @@session.tmp_table_size;
|
||||
--echo 'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_005_02-------------------------#'
|
||||
########################################################################
|
||||
# Check the DEFAULT value of tmp_table_size #
|
||||
# Check the DEFAULT value of tmp_table_size #
|
||||
########################################################################
|
||||
# The DEFAULT value is system dependend.
|
||||
# Therefore we have only a plausibility check here
|
||||
SELECT @@global.tmp_table_size >= 16777216;
|
||||
|
||||
SET @@global.tmp_table_size = DEFAULT;
|
||||
SELECT @@global.tmp_table_size = 33554432;
|
||||
|
||||
SET @@session.tmp_table_size = DEFAULT;
|
||||
SELECT @@session.tmp_table_size = 33554432;
|
||||
|
||||
--echo 'Bug# 34876: This variable has invalid default value as compared to documentation';
|
||||
SELECT @@session.tmp_table_size >= 16777216;
|
||||
|
||||
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
|
||||
########################################################################
|
||||
@ -87,11 +76,11 @@ SELECT @@global.tmp_table_size;
|
||||
#########################################################################
|
||||
# Change the value of tmp_table_size to a valid value for SESSION Scope #
|
||||
#########################################################################
|
||||
|
||||
|
||||
SET @@session.tmp_table_size = 1024;
|
||||
SELECT @@session.tmp_table_size;
|
||||
|
||||
SET @@session.tmp_table_size =4294967295;
|
||||
SET @@session.tmp_table_size = 4294967295;
|
||||
SELECT @@session.tmp_table_size;
|
||||
SET @@session.tmp_table_size = 65535;
|
||||
SELECT @@session.tmp_table_size;
|
||||
@ -111,37 +100,28 @@ SELECT @@global.tmp_table_size;
|
||||
SET @@global.tmp_table_size = 1000;
|
||||
SELECT @@global.tmp_table_size;
|
||||
|
||||
--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
|
||||
|
||||
|
||||
-- Error ER_WRONG_TYPE_FOR_VAR
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@global.tmp_table_size = ON;
|
||||
|
||||
|
||||
-- Error ER_WRONG_TYPE_FOR_VAR
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@global.tmp_table_size = OFF;
|
||||
|
||||
|
||||
SET @@global.tmp_table_size = True;
|
||||
SELECT @@global.tmp_table_size;
|
||||
|
||||
SET @@global.tmp_table_size = False;
|
||||
SELECT @@global.tmp_table_size;
|
||||
--echo 'Bug:Error should be shown that variable is numeric and can not assigned boolean value';
|
||||
|
||||
|
||||
-- Error ER_WRONG_TYPE_FOR_VAR
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@global.tmp_table_size = 65530.34;
|
||||
|
||||
-- Error ER_WRONG_TYPE_FOR_VAR
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@global.tmp_table_size ="Test";
|
||||
|
||||
|
||||
-- Error ER_WRONG_TYPE_FOR_VAR
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@session.tmp_table_size = ON;
|
||||
|
||||
|
||||
-- Error ER_WRONG_TYPE_FOR_VAR
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@session.tmp_table_size = OFF;
|
||||
|
||||
SET @@session.tmp_table_size = True;
|
||||
@ -150,21 +130,21 @@ SELECT @@session.tmp_table_size;
|
||||
SET @@session.tmp_table_size = False;
|
||||
SELECT @@session.tmp_table_size;
|
||||
|
||||
-- Error ER_WRONG_TYPE_FOR_VAR
|
||||
--Error ER_WRONG_TYPE_FOR_VAR
|
||||
SET @@session.tmp_table_size = "Test";
|
||||
|
||||
SET @@session.tmp_table_size = 12345678901;
|
||||
SELECT @@session.tmp_table_size;
|
||||
|
||||
# With a 64 bit mysqld:12345678901,with a 32 bit mysqld: 4294967295
|
||||
SELECT @@session.tmp_table_size IN (12345678901,4294967295);
|
||||
|
||||
--echo '#------------------FN_DYNVARS_005_06-----------------------#'
|
||||
####################################################################
|
||||
# Check if the value in GLOBAL Table matches value in variable #
|
||||
####################################################################
|
||||
|
||||
|
||||
SELECT @@global.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||||
SELECT @@global.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
|
||||
WHERE VARIABLE_NAME='tmp_table_size';
|
||||
|
||||
--echo '#------------------FN_DYNVARS_005_07-----------------------#'
|
||||
@ -172,13 +152,10 @@ WHERE VARIABLE_NAME='tmp_table_size';
|
||||
# Check if the value in SESSION Table matches value in variable #
|
||||
####################################################################
|
||||
|
||||
SELECT @@session.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||||
SELECT @@session.tmp_table_size = VARIABLE_VALUE
|
||||
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
|
||||
WHERE VARIABLE_NAME='tmp_table_size';
|
||||
|
||||
|
||||
|
||||
|
||||
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
|
||||
########################################################################
|
||||
# Check if global and session variables are independent of each other #
|
||||
@ -216,16 +193,12 @@ SELECT global.tmp_table_size;
|
||||
--Error ER_BAD_FIELD_ERROR
|
||||
SELECT tmp_table_size = @@session.tmp_table_size;
|
||||
|
||||
|
||||
####################################
|
||||
# Restore initial value #
|
||||
####################################
|
||||
|
||||
SET @@global.tmp_table_size = @start_global_value;
|
||||
SELECT @@global.tmp_table_size;
|
||||
SET @@session.tmp_table_size = @start_session_value;
|
||||
SELECT @@session.tmp_table_size;
|
||||
|
||||
|
||||
###################################################
|
||||
# END OF tmp_table_size TESTS #
|
@ -1,9 +0,0 @@
|
||||
################################################################################
|
||||
# Created by Horst Hunger 2008-05-07 #
|
||||
# #
|
||||
# Wrapper for 32 bit machines #
|
||||
################################################################################
|
||||
|
||||
--source include/have_32bit.inc
|
||||
--source suite/sys_vars/inc/tmp_table_size_basic.inc
|
||||
|
@ -1,9 +0,0 @@
|
||||
################################################################################
|
||||
# Created by Horst Hunger 2008-05-07 #
|
||||
# #
|
||||
# Wrapper for 64 bit machines #
|
||||
################################################################################
|
||||
|
||||
--source include/have_64bit.inc
|
||||
--source suite/sys_vars/inc/tmp_table_size_basic.inc
|
||||
|
@ -751,6 +751,19 @@ ALTER TABLE t1 MODIFY COLUMN v VARCHAR(4);
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
#
|
||||
# Bug#31291 ALTER TABLE CONVERT TO CHARACTER SET does not change some data types
|
||||
#
|
||||
create table t1 (a tinytext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
create table t1 (a mediumtext character set latin1);
|
||||
alter table t1 convert to character set utf8;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
@ -10,6 +10,6 @@
|
||||
#
|
||||
##############################################################################
|
||||
federated_transactions : Bug#29523 Transactions do not work
|
||||
log_tables.test : Bug #37798: main.log_tables fails randomly on powermacg5 and windows
|
||||
slow_query_log_func.test : Bug #37962: *_func tests containing sleeps/race conditions
|
||||
slow_query_log_func : Bug #37962: *_func tests containing sleeps/race conditions
|
||||
wait_timeout_func : Bug #41225 joro wait_timeout_func fails
|
||||
kill : Bug#37780 2008-12-03 HHunger need some changes to be robust enoiugh for pushbuild.
|
||||
|
@ -445,3 +445,12 @@ EXPLAIN SELECT * FROM t1 FORCE INDEX(b)
|
||||
WHERE MATCH(a) AGAINST('test' IN BOOLEAN MODE) AND b=1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# BUG#37245 - Full text search problem
|
||||
#
|
||||
CREATE TABLE t1(a CHAR(10));
|
||||
INSERT INTO t1 VALUES('aaa15');
|
||||
SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa16' IN BOOLEAN MODE) FROM t1;
|
||||
SELECT MATCH(a) AGAINST('aaa1* aaa14 aaa15 aaa16' IN BOOLEAN MODE) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
@ -150,4 +150,18 @@ FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #40761: Assert on sum func on IF(..., CAST(longtext AS UNSIGNED), signed)
|
||||
# (was: LEFT JOIN on inline view crashes server)
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (c LONGTEXT);
|
||||
INSERT INTO t1 VALUES(1), (2), (3), (4), ('12345678901234567890');
|
||||
|
||||
SELECT * FROM (SELECT MAX(IF(1, CAST(c AS UNSIGNED), 0)) FROM t1) AS te;
|
||||
SELECT * FROM (SELECT MAX(IFNULL(CAST(c AS UNSIGNED), 0)) FROM t1) AS te;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -1263,4 +1263,14 @@ CREATE VIEW v1 AS SELECT CHAR(0x414243) as c1;
|
||||
SELECT HEX(c1) from v1;
|
||||
DROP VIEW v1;
|
||||
|
||||
#
|
||||
# Bug #35558 Wrong server metadata blows up the client
|
||||
#
|
||||
create table t1(a float);
|
||||
insert into t1 values (1.33);
|
||||
--enable_metadata
|
||||
select format(a, 2) from t1;
|
||||
--disable_metadata
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
@ -1383,4 +1383,11 @@ select a.VARIABLE_VALUE - b.VARIABLE_VALUE from t0 b, information_schema.global_
|
||||
where a.VARIABLE_NAME = b.VARIABLE_NAME;
|
||||
drop table t0;
|
||||
|
||||
#
|
||||
# Bug#35275 INFORMATION_SCHEMA.TABLES.CREATE_OPTIONS omits KEY_BLOCK_SIZE
|
||||
#
|
||||
CREATE TABLE t1(a INT) KEY_BLOCK_SIZE=1;
|
||||
SELECT CREATE_OPTIONS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t1';
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 5.1 tests.
|
||||
|
@ -1 +0,0 @@
|
||||
--log-bin=test.log
|
@ -20,6 +20,8 @@
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
source include/have_log_bin.inc;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
@ -45,10 +47,10 @@ connect (test_con1,localhost,tt,,);
|
||||
connection test_con1;
|
||||
|
||||
SELECT @@log_bin_trust_function_creators;
|
||||
SELECT @@sql_log_bin;
|
||||
|
||||
--echo ## Creating new function f1 ##
|
||||
--echo ## Creating new function f1 fails because no DETERMINISTIC ###
|
||||
delimiter |;
|
||||
--error ER_BINLOG_UNSAFE_ROUTINE
|
||||
CREATE FUNCTION f1(a INT) RETURNS INT
|
||||
BEGIN
|
||||
IF (a < 3) THEN
|
||||
@ -58,8 +60,30 @@ BEGIN
|
||||
END|
|
||||
delimiter ;|
|
||||
|
||||
--echo 'Bug: Create Function should give error here because non-super user';
|
||||
--echo 'is creating function here';
|
||||
--echo ## Creating new function f1 fails because non-super user ##
|
||||
delimiter |;
|
||||
--error ER_BINLOG_CREATE_ROUTINE_NEED_SUPER
|
||||
CREATE FUNCTION f1(a INT) RETURNS INT DETERMINISTIC
|
||||
BEGIN
|
||||
IF (a < 3) THEN
|
||||
INSERT INTO t2 VALUES (a);
|
||||
END IF;
|
||||
RETURN 1;
|
||||
END|
|
||||
delimiter ;|
|
||||
|
||||
connection default;
|
||||
|
||||
--echo ## Creating new function f1 succeeds ##
|
||||
delimiter |;
|
||||
CREATE FUNCTION f1(a INT) RETURNS INT DETERMINISTIC
|
||||
BEGIN
|
||||
IF (a < 3) THEN
|
||||
INSERT INTO t2 VALUES (a);
|
||||
END IF;
|
||||
RETURN 1;
|
||||
END|
|
||||
delimiter ;|
|
||||
|
||||
--echo ## Creating new table t1 ##
|
||||
CREATE TABLE t1 (a INT);
|
||||
|
@ -105,6 +105,7 @@ SELECT count(*) from t1;
|
||||
DROP PROCEDURE sp_addRec;
|
||||
DROP TABLE t1;
|
||||
|
||||
SET @@global.myisam_data_pointer_size = default;
|
||||
################################################################
|
||||
# End of functionality Testing for myisam_data_pointer_size #
|
||||
################################################################
|
||||
|
@ -291,6 +291,25 @@ EOF
|
||||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug29323.sql 2>&1
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/bug29323.sql;
|
||||
|
||||
#
|
||||
# Bug #33812: mysql client incorrectly parsing DELIMITER
|
||||
#
|
||||
# The space and ; after delimiter are important
|
||||
--exec $MYSQL -e "select 1 delimiter ;"
|
||||
|
||||
#
|
||||
# Bug #38158: mysql client regression, can't read dump files
|
||||
#
|
||||
--write_file $MYSQLTEST_VARDIR/tmp/bug38158.sql
|
||||
-- Testing
|
||||
--
|
||||
delimiter ||
|
||||
select 2 ||
|
||||
EOF
|
||||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/bug38158.sql 2>&1
|
||||
--exec $MYSQL -c < $MYSQLTEST_VARDIR/tmp/bug38158.sql 2>&1
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/bug38158.sql;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
@ -1,3 +1,4 @@
|
||||
--source include/have_partition.inc
|
||||
--source include/have_binlog_format_statement.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
|
@ -3,6 +3,17 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
#
|
||||
# Bug 40389: REORGANIZE PARTITION crashes when only using one partition
|
||||
#
|
||||
CREATE TABLE t1 (a INT PRIMARY KEY)
|
||||
ENGINE MYISAM
|
||||
PARTITION BY HASH (a)
|
||||
PARTITIONS 1;
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5);
|
||||
ALTER TABLE t1 REORGANIZE PARTITION;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug 21143: mysqld hang when error in number of subparts in
|
||||
# REORGANIZE command
|
||||
|
@ -3701,3 +3701,36 @@ SELECT a FROM t1 ORDER BY a LIMIT 2;
|
||||
SELECT a FROM t1 ORDER BY a LIMIT 2,4294967296;
|
||||
SELECT a FROM t1 ORDER BY a LIMIT 2,4294967297;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #37936: ASSERT_COLUMN_MARKED_FOR_WRITE in Field_datetime::store ,
|
||||
# Field_varstring::store
|
||||
#
|
||||
|
||||
CREATE TABLE A (date_key date);
|
||||
|
||||
CREATE TABLE C (
|
||||
pk int,
|
||||
int_nokey int,
|
||||
int_key int,
|
||||
date_key date NOT NULL,
|
||||
date_nokey date,
|
||||
varchar_key varchar(1)
|
||||
);
|
||||
|
||||
INSERT INTO C VALUES
|
||||
(1,1,1,'0000-00-00',NULL,NULL),
|
||||
(1,1,1,'0000-00-00',NULL,NULL);
|
||||
|
||||
SELECT 1 FROM C WHERE pk > ANY (SELECT 1 FROM C);
|
||||
|
||||
SELECT COUNT(DISTINCT 1) FROM C
|
||||
WHERE date_key = (SELECT 1 FROM A WHERE C.date_key IS NULL) GROUP BY pk;
|
||||
SELECT date_nokey FROM C
|
||||
WHERE int_key IN (SELECT 1 FROM A)
|
||||
HAVING date_nokey = '10:41:7'
|
||||
ORDER BY date_key;
|
||||
|
||||
DROP TABLE A,C;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -352,6 +352,51 @@ SELECT HEX(b1), HEX(b2), i2 FROM t2
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# Bug #35796 SHOW CREATE TABLE and default value for BIT field
|
||||
#
|
||||
CREATE TABLE IF NOT EXISTS t1 (
|
||||
f1 bit(2) NOT NULL default b'10',
|
||||
f2 bit(14) NOT NULL default b'11110000111100'
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--error ER_INVALID_DEFAULT
|
||||
CREATE TABLE IF NOT EXISTS t1 (
|
||||
f1 bit(2) NOT NULL default b''
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
||||
|
||||
|
||||
#
|
||||
# Bug#31399 Wrong query result when doing join buffering over BIT fields
|
||||
#
|
||||
create table t1bit7 (a1 bit(7) not null) engine=MyISAM;
|
||||
create table t2bit7 (b1 bit(7)) engine=MyISAM;
|
||||
|
||||
insert into t1bit7 values (b'1100000');
|
||||
insert into t1bit7 values (b'1100001');
|
||||
insert into t1bit7 values (b'1100010');
|
||||
insert into t2bit7 values (b'1100001');
|
||||
insert into t2bit7 values (b'1100010');
|
||||
insert into t2bit7 values (b'1100110');
|
||||
|
||||
select bin(a1) from t1bit7, t2bit7 where t1bit7.a1=t2bit7.b1;
|
||||
drop table t1bit7, t2bit7;
|
||||
|
||||
create table t1bit7 (a1 bit(15) not null) engine=MyISAM;
|
||||
create table t2bit7 (b1 bit(15)) engine=MyISAM;
|
||||
|
||||
insert into t1bit7 values (b'110000011111111');
|
||||
insert into t1bit7 values (b'110000111111111');
|
||||
insert into t1bit7 values (b'110001011111111');
|
||||
insert into t2bit7 values (b'110000111111111');
|
||||
insert into t2bit7 values (b'110001011111111');
|
||||
insert into t2bit7 values (b'110011011111111');
|
||||
|
||||
select bin(a1) from t1bit7, t2bit7 where t1bit7.a1=t2bit7.b1;
|
||||
drop table t1bit7, t2bit7;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
#
|
||||
|
@ -259,9 +259,7 @@ drop table t1;
|
||||
|
||||
create table t1(d double, u bigint unsigned);
|
||||
|
||||
insert into t1(d) values (9.2233720368547777e+18),
|
||||
(9.223372036854779e18),
|
||||
(9.22337203685479e18),
|
||||
insert into t1(d) values (9.22337203685479e18),
|
||||
(1.84e19);
|
||||
|
||||
update t1 set u = d;
|
||||
|
@ -551,4 +551,29 @@ INSERT INTO t1 VALUES (0), (0);
|
||||
SELECT 1 FROM t1 ORDER BY(UPDATEXML(a, '1', '1'));
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# BUG#38227 EXTRACTVALUE doesn't work with DTD declarations
|
||||
#
|
||||
# Check that quoted strings work fine in DOCTYPE declaration.
|
||||
#
|
||||
|
||||
SET @xml=
|
||||
'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title> Title - document with document declaration</title>
|
||||
</head>
|
||||
<body> Hi, Im a webpage with document a declaration </body>
|
||||
</html>';
|
||||
|
||||
SELECT ExtractValue(@xml, 'html/head/title');
|
||||
SELECT ExtractValue(@xml, 'html/body');
|
||||
|
||||
# These two documents will fail.
|
||||
# Quoted strings are not allowed in regular tags
|
||||
#
|
||||
SELECT ExtractValue('<xml "xxx" "yyy">CharData</xml>', '/xml');
|
||||
SELECT ExtractValue('<xml xxx "yyy">CharData</xml>', '/xml');
|
||||
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@ -3835,7 +3835,7 @@ int Field_longlong::store(double nr)
|
||||
error= 1;
|
||||
}
|
||||
else
|
||||
res=(longlong) (ulonglong) nr;
|
||||
res=(longlong) double2ulonglong(nr);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -3431,7 +3431,7 @@ int ha_partition::rnd_next(uchar *buf)
|
||||
|
||||
while (TRUE)
|
||||
{
|
||||
int result= file->rnd_next(buf);
|
||||
result= file->rnd_next(buf);
|
||||
if (!result)
|
||||
{
|
||||
m_last_part= part_id;
|
||||
|
@ -5114,6 +5114,9 @@ int Item_hex_string::save_in_field(Field *field, bool no_conversions)
|
||||
|
||||
ulonglong nr;
|
||||
uint32 length= str_value.length();
|
||||
if (!length)
|
||||
return 1;
|
||||
|
||||
if (length > 8)
|
||||
{
|
||||
nr= field->flags & UNSIGNED_FLAG ? ULONGLONG_MAX : LONGLONG_MAX;
|
||||
|
@ -394,19 +394,16 @@ static bool convert_constant_item(THD *thd, Item_field *field_item,
|
||||
TABLE *table= field->table;
|
||||
ulong orig_sql_mode= thd->variables.sql_mode;
|
||||
enum_check_fields orig_count_cuted_fields= thd->count_cuted_fields;
|
||||
my_bitmap_map *old_write_map;
|
||||
my_bitmap_map *old_read_map;
|
||||
my_bitmap_map *old_maps[2];
|
||||
ulonglong orig_field_val; /* original field value if valid */
|
||||
|
||||
LINT_INIT(old_write_map);
|
||||
LINT_INIT(old_read_map);
|
||||
LINT_INIT(old_maps[0]);
|
||||
LINT_INIT(old_maps[1]);
|
||||
LINT_INIT(orig_field_val);
|
||||
|
||||
if (table)
|
||||
{
|
||||
old_write_map= dbug_tmp_use_all_columns(table, table->write_set);
|
||||
old_read_map= dbug_tmp_use_all_columns(table, table->read_set);
|
||||
}
|
||||
dbug_tmp_use_all_columns(table, old_maps,
|
||||
table->read_set, table->write_set);
|
||||
/* For comparison purposes allow invalid dates like 2000-01-32 */
|
||||
thd->variables.sql_mode= (orig_sql_mode & ~MODE_NO_ZERO_DATE) |
|
||||
MODE_INVALID_DATES;
|
||||
@ -441,10 +438,7 @@ static bool convert_constant_item(THD *thd, Item_field *field_item,
|
||||
thd->variables.sql_mode= orig_sql_mode;
|
||||
thd->count_cuted_fields= orig_count_cuted_fields;
|
||||
if (table)
|
||||
{
|
||||
dbug_tmp_restore_column_map(table->write_set, old_write_map);
|
||||
dbug_tmp_restore_column_map(table->read_set, old_read_map);
|
||||
}
|
||||
dbug_tmp_restore_column_maps(table->read_set, table->write_set, old_maps);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -362,7 +362,10 @@ public:
|
||||
Item_func_unsigned(Item *a) :Item_func_signed(a) {}
|
||||
const char *func_name() const { return "cast_as_unsigned"; }
|
||||
void fix_length_and_dec()
|
||||
{ max_length=args[0]->max_length; unsigned_flag=1; }
|
||||
{
|
||||
max_length= min(args[0]->max_length, DECIMAL_MAX_PRECISION + 2);
|
||||
unsigned_flag=1;
|
||||
}
|
||||
longlong val_int();
|
||||
virtual void print(String *str, enum_query_type query_type);
|
||||
};
|
||||
|
@ -2033,10 +2033,11 @@ Item_func_format::Item_func_format(Item *org, Item *dec)
|
||||
|
||||
void Item_func_format::fix_length_and_dec()
|
||||
{
|
||||
collation.set(default_charset());
|
||||
uint char_length= args[0]->max_length/args[0]->collation.collation->mbmaxlen;
|
||||
max_length= ((char_length + (char_length-args[0]->decimals)/3) *
|
||||
collation.collation->mbmaxlen);
|
||||
uint max_sep_count= char_length/3 + (decimals ? 1 : 0) + /*sign*/1;
|
||||
collation.set(default_charset());
|
||||
max_length= (char_length + max_sep_count + decimals) *
|
||||
collation.collation->mbmaxlen;
|
||||
}
|
||||
|
||||
|
||||
|
222
sql/log.cc
222
sql/log.cc
@ -2314,6 +2314,7 @@ MYSQL_BIN_LOG::MYSQL_BIN_LOG()
|
||||
*/
|
||||
index_file_name[0] = 0;
|
||||
bzero((char*) &index_file, sizeof(index_file));
|
||||
bzero((char*) &purge_temp, sizeof(purge_temp));
|
||||
}
|
||||
|
||||
/* this is called only once */
|
||||
@ -2908,6 +2909,7 @@ err:
|
||||
int MYSQL_BIN_LOG::purge_first_log(Relay_log_info* rli, bool included)
|
||||
{
|
||||
int error;
|
||||
char *to_purge_if_included= NULL;
|
||||
DBUG_ENTER("purge_first_log");
|
||||
|
||||
DBUG_ASSERT(is_open());
|
||||
@ -2915,36 +2917,20 @@ int MYSQL_BIN_LOG::purge_first_log(Relay_log_info* rli, bool included)
|
||||
DBUG_ASSERT(!strcmp(rli->linfo.log_file_name,rli->event_relay_log_name));
|
||||
|
||||
pthread_mutex_lock(&LOCK_index);
|
||||
pthread_mutex_lock(&rli->log_space_lock);
|
||||
rli->relay_log.purge_logs(rli->group_relay_log_name, included,
|
||||
0, 0, &rli->log_space_total);
|
||||
// Tell the I/O thread to take the relay_log_space_limit into account
|
||||
rli->ignore_log_space_limit= 0;
|
||||
pthread_mutex_unlock(&rli->log_space_lock);
|
||||
to_purge_if_included= my_strdup(rli->group_relay_log_name, MYF(0));
|
||||
|
||||
/*
|
||||
Ok to broadcast after the critical region as there is no risk of
|
||||
the mutex being destroyed by this thread later - this helps save
|
||||
context switches
|
||||
*/
|
||||
pthread_cond_broadcast(&rli->log_space_cond);
|
||||
|
||||
/*
|
||||
Read the next log file name from the index file and pass it back to
|
||||
the caller
|
||||
If included is true, we want the first relay log;
|
||||
otherwise we want the one after event_relay_log_name.
|
||||
the caller.
|
||||
*/
|
||||
if ((included && (error=find_log_pos(&rli->linfo, NullS, 0))) ||
|
||||
(!included &&
|
||||
((error=find_log_pos(&rli->linfo, rli->event_relay_log_name, 0)) ||
|
||||
(error=find_next_log(&rli->linfo, 0)))))
|
||||
if((error=find_log_pos(&rli->linfo, rli->event_relay_log_name, 0)) ||
|
||||
(error=find_next_log(&rli->linfo, 0)))
|
||||
{
|
||||
char buff[22];
|
||||
sql_print_error("next log error: %d offset: %s log: %s included: %d",
|
||||
error,
|
||||
llstr(rli->linfo.index_file_offset,buff),
|
||||
rli->group_relay_log_name,
|
||||
rli->event_relay_log_name,
|
||||
included);
|
||||
goto err;
|
||||
}
|
||||
@ -2972,7 +2958,42 @@ int MYSQL_BIN_LOG::purge_first_log(Relay_log_info* rli, bool included)
|
||||
/* Store where we are in the new file for the execution thread */
|
||||
flush_relay_log_info(rli);
|
||||
|
||||
DBUG_EXECUTE_IF("crash_before_purge_logs", abort(););
|
||||
|
||||
pthread_mutex_lock(&rli->log_space_lock);
|
||||
rli->relay_log.purge_logs(to_purge_if_included, included,
|
||||
0, 0, &rli->log_space_total);
|
||||
// Tell the I/O thread to take the relay_log_space_limit into account
|
||||
rli->ignore_log_space_limit= 0;
|
||||
pthread_mutex_unlock(&rli->log_space_lock);
|
||||
|
||||
/*
|
||||
Ok to broadcast after the critical region as there is no risk of
|
||||
the mutex being destroyed by this thread later - this helps save
|
||||
context switches
|
||||
*/
|
||||
pthread_cond_broadcast(&rli->log_space_cond);
|
||||
|
||||
/*
|
||||
* Need to update the log pos because purge logs has been called
|
||||
* after fetching initially the log pos at the begining of the method.
|
||||
*/
|
||||
if((error=find_log_pos(&rli->linfo, rli->event_relay_log_name, 0)))
|
||||
{
|
||||
char buff[22];
|
||||
sql_print_error("next log error: %d offset: %s log: %s included: %d",
|
||||
error,
|
||||
llstr(rli->linfo.index_file_offset,buff),
|
||||
rli->group_relay_log_name,
|
||||
included);
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* If included was passed, rli->linfo should be the first entry. */
|
||||
DBUG_ASSERT(!included || rli->linfo.index_file_start_offset == 0);
|
||||
|
||||
err:
|
||||
my_free(to_purge_if_included, MYF(0));
|
||||
pthread_mutex_unlock(&LOCK_index);
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
@ -3023,7 +3044,6 @@ int MYSQL_BIN_LOG::purge_logs(const char *to_log,
|
||||
ulonglong *decrease_log_space)
|
||||
{
|
||||
int error;
|
||||
int ret = 0;
|
||||
bool exit_loop= 0;
|
||||
LOG_INFO log_info;
|
||||
THD *thd= current_thd;
|
||||
@ -3032,8 +3052,36 @@ int MYSQL_BIN_LOG::purge_logs(const char *to_log,
|
||||
|
||||
if (need_mutex)
|
||||
pthread_mutex_lock(&LOCK_index);
|
||||
if ((error=find_log_pos(&log_info, to_log, 0 /*no mutex*/)))
|
||||
if ((error=find_log_pos(&log_info, to_log, 0 /*no mutex*/)))
|
||||
{
|
||||
sql_print_error("MYSQL_LOG::purge_logs was called with file %s not "
|
||||
"listed in the index.", to_log);
|
||||
goto err;
|
||||
}
|
||||
|
||||
/*
|
||||
For crash recovery reasons the index needs to be updated before
|
||||
any files are deleted. Move files to be deleted into a temp file
|
||||
to be processed after the index is updated.
|
||||
*/
|
||||
if (!my_b_inited(&purge_temp))
|
||||
{
|
||||
if ((error=open_cached_file(&purge_temp, mysql_tmpdir, TEMP_PREFIX,
|
||||
DISK_BUFFER_SIZE, MYF(MY_WME))))
|
||||
{
|
||||
sql_print_error("MYSQL_LOG::purge_logs failed to open purge_temp");
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((error=reinit_io_cache(&purge_temp, WRITE_CACHE, 0, 0, 1)))
|
||||
{
|
||||
sql_print_error("MYSQL_LOG::purge_logs failed to reinit purge_temp "
|
||||
"for write");
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
File name exists in index file; delete until we find this file
|
||||
@ -3044,6 +3092,61 @@ int MYSQL_BIN_LOG::purge_logs(const char *to_log,
|
||||
while ((strcmp(to_log,log_info.log_file_name) || (exit_loop=included)) &&
|
||||
!log_in_use(log_info.log_file_name))
|
||||
{
|
||||
if ((error=my_b_write(&purge_temp, (const uchar*)log_info.log_file_name,
|
||||
strlen(log_info.log_file_name))) ||
|
||||
(error=my_b_write(&purge_temp, (const uchar*)"\n", 1)))
|
||||
{
|
||||
sql_print_error("MYSQL_LOG::purge_logs failed to copy %s to purge_temp",
|
||||
log_info.log_file_name);
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (find_next_log(&log_info, 0) || exit_loop)
|
||||
break;
|
||||
}
|
||||
|
||||
/* We know how many files to delete. Update index file. */
|
||||
if ((error=update_log_index(&log_info, need_update_threads)))
|
||||
{
|
||||
sql_print_error("MSYQL_LOG::purge_logs failed to update the index file");
|
||||
goto err;
|
||||
}
|
||||
|
||||
DBUG_EXECUTE_IF("crash_after_update_index", abort(););
|
||||
|
||||
/* Switch purge_temp for read. */
|
||||
if ((error=reinit_io_cache(&purge_temp, READ_CACHE, 0, 0, 0)))
|
||||
{
|
||||
sql_print_error("MSYQL_LOG::purge_logs failed to reinit purge_temp "
|
||||
"for read");
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* Read each entry from purge_temp and delete the file. */
|
||||
for (;;)
|
||||
{
|
||||
uint length;
|
||||
|
||||
if ((length=my_b_gets(&purge_temp, log_info.log_file_name,
|
||||
FN_REFLEN)) <= 1)
|
||||
{
|
||||
if (purge_temp.error)
|
||||
{
|
||||
error= purge_temp.error;
|
||||
sql_print_error("MSYQL_LOG::purge_logs error %d reading from "
|
||||
"purge_temp", error);
|
||||
goto err;
|
||||
}
|
||||
|
||||
/* Reached EOF */
|
||||
break;
|
||||
}
|
||||
|
||||
/* Get rid of the trailing '\n' */
|
||||
log_info.log_file_name[length-1]= 0;
|
||||
|
||||
ha_binlog_index_purge_file(current_thd, log_info.log_file_name);
|
||||
|
||||
MY_STAT s;
|
||||
if (!my_stat(log_info.log_file_name, &s, MYF(0)))
|
||||
{
|
||||
@ -3144,23 +3247,10 @@ int MYSQL_BIN_LOG::purge_logs(const char *to_log,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ha_binlog_index_purge_file(current_thd, log_info.log_file_name);
|
||||
|
||||
if (find_next_log(&log_info, 0) || exit_loop)
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
If we get killed -9 here, the sysadmin would have to edit
|
||||
the log index file after restart - otherwise, this should be safe
|
||||
*/
|
||||
error= update_log_index(&log_info, need_update_threads);
|
||||
if (error == 0) {
|
||||
error = ret;
|
||||
}
|
||||
|
||||
err:
|
||||
close_cached_file(&purge_temp);
|
||||
if (need_mutex)
|
||||
pthread_mutex_unlock(&LOCK_index);
|
||||
DBUG_RETURN(error);
|
||||
@ -3171,7 +3261,7 @@ err:
|
||||
index file.
|
||||
|
||||
@param thd Thread pointer
|
||||
@param before_date Delete all log files before given date.
|
||||
@param purge_time Delete all log files before given date.
|
||||
|
||||
@note
|
||||
If any of the logs before the deleted one is in use,
|
||||
@ -3188,6 +3278,7 @@ err:
|
||||
int MYSQL_BIN_LOG::purge_logs_before_date(time_t purge_time)
|
||||
{
|
||||
int error;
|
||||
char to_log[FN_REFLEN];
|
||||
LOG_INFO log_info;
|
||||
MY_STAT stat_area;
|
||||
THD *thd= current_thd;
|
||||
@ -3195,12 +3286,8 @@ int MYSQL_BIN_LOG::purge_logs_before_date(time_t purge_time)
|
||||
DBUG_ENTER("purge_logs_before_date");
|
||||
|
||||
pthread_mutex_lock(&LOCK_index);
|
||||
to_log[0]= 0;
|
||||
|
||||
/*
|
||||
Delete until we find curren file
|
||||
or a file that is used or a file
|
||||
that is older than purge_time.
|
||||
*/
|
||||
if ((error=find_log_pos(&log_info, NullS, 0 /*no mutex*/)))
|
||||
goto err;
|
||||
|
||||
@ -3250,55 +3337,18 @@ int MYSQL_BIN_LOG::purge_logs_before_date(time_t purge_time)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (stat_area.st_mtime >= purge_time)
|
||||
if (stat_area.st_mtime < purge_time)
|
||||
strmake(to_log,
|
||||
log_info.log_file_name,
|
||||
sizeof(log_info.log_file_name));
|
||||
else
|
||||
break;
|
||||
if (my_delete(log_info.log_file_name, MYF(0)))
|
||||
{
|
||||
if (my_errno == ENOENT)
|
||||
{
|
||||
/* It's not fatal even if we can't delete a log file */
|
||||
if (thd)
|
||||
{
|
||||
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_WARN,
|
||||
ER_LOG_PURGE_NO_FILE, ER(ER_LOG_PURGE_NO_FILE),
|
||||
log_info.log_file_name);
|
||||
}
|
||||
sql_print_information("Failed to delete file '%s'",
|
||||
log_info.log_file_name);
|
||||
my_errno= 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (thd)
|
||||
{
|
||||
push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
||||
ER_BINLOG_PURGE_FATAL_ERR,
|
||||
"a problem with deleting %s; "
|
||||
"consider examining correspondence "
|
||||
"of your binlog index file "
|
||||
"to the actual binlog files",
|
||||
log_info.log_file_name);
|
||||
}
|
||||
else
|
||||
{
|
||||
sql_print_information("Failed to delete log file '%s'",
|
||||
log_info.log_file_name);
|
||||
}
|
||||
error= LOG_INFO_FATAL;
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
ha_binlog_index_purge_file(current_thd, log_info.log_file_name);
|
||||
}
|
||||
if (find_next_log(&log_info, 0))
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
If we get killed -9 here, the sysadmin would have to edit
|
||||
the log index file after restart - otherwise, this should be safe
|
||||
*/
|
||||
error= update_log_index(&log_info, 1);
|
||||
error= (to_log[0] ? purge_logs(to_log, 1, 0, 1, (ulonglong *) 0) : 0);
|
||||
|
||||
err:
|
||||
pthread_mutex_unlock(&LOCK_index);
|
||||
|
@ -233,6 +233,13 @@ class MYSQL_BIN_LOG: public TC_LOG, private MYSQL_LOG
|
||||
pthread_cond_t update_cond;
|
||||
ulonglong bytes_written;
|
||||
IO_CACHE index_file;
|
||||
/*
|
||||
purge_temp is a temp file used in purge_logs so that the index file
|
||||
can be updated before deleting files from disk, yielding better crash
|
||||
recovery. It is created on demand the first time purge_logs is called
|
||||
and then reused for subsequent calls. It is cleaned up in cleanup().
|
||||
*/
|
||||
IO_CACHE purge_temp;
|
||||
char index_file_name[FN_REFLEN];
|
||||
/*
|
||||
The max size before rotation (usable only if log_type == LOG_BIN: binary
|
||||
|
@ -2668,7 +2668,7 @@ bool prune_partitions(THD *thd, TABLE *table, Item *pprune_cond)
|
||||
PART_PRUNE_PARAM prune_param;
|
||||
MEM_ROOT alloc;
|
||||
RANGE_OPT_PARAM *range_par= &prune_param.range_param;
|
||||
my_bitmap_map *old_read_set, *old_write_set;
|
||||
my_bitmap_map *old_sets[2];
|
||||
|
||||
prune_param.part_info= part_info;
|
||||
init_sql_alloc(&alloc, thd->variables.range_alloc_block_size, 0);
|
||||
@ -2682,8 +2682,8 @@ bool prune_partitions(THD *thd, TABLE *table, Item *pprune_cond)
|
||||
DBUG_RETURN(FALSE);
|
||||
}
|
||||
|
||||
old_write_set= dbug_tmp_use_all_columns(table, table->write_set);
|
||||
old_read_set= dbug_tmp_use_all_columns(table, table->read_set);
|
||||
dbug_tmp_use_all_columns(table, old_sets,
|
||||
table->read_set, table->write_set);
|
||||
range_par->thd= thd;
|
||||
range_par->table= table;
|
||||
/* range_par->cond doesn't need initialization */
|
||||
@ -2773,8 +2773,7 @@ all_used:
|
||||
retval= FALSE; // some partitions are used
|
||||
mark_all_partitions_as_used(prune_param.part_info);
|
||||
end:
|
||||
dbug_tmp_restore_column_map(table->write_set, old_write_set);
|
||||
dbug_tmp_restore_column_map(table->read_set, old_read_set);
|
||||
dbug_tmp_restore_column_maps(table->read_set, table->write_set, old_sets);
|
||||
thd->no_errors=0;
|
||||
thd->mem_root= range_par->old_root;
|
||||
free_root(&alloc,MYF(0)); // Return memory & allocator
|
||||
@ -11145,9 +11144,9 @@ print_key(KEY_PART *key_part, const uchar *key, uint used_length)
|
||||
String tmp(buff,sizeof(buff),&my_charset_bin);
|
||||
uint store_length;
|
||||
TABLE *table= key_part->field->table;
|
||||
my_bitmap_map *old_write_set, *old_read_set;
|
||||
old_write_set= dbug_tmp_use_all_columns(table, table->write_set);
|
||||
old_read_set= dbug_tmp_use_all_columns(table, table->read_set);
|
||||
my_bitmap_map *old_sets[2];
|
||||
|
||||
dbug_tmp_use_all_columns(table, old_sets, table->read_set, table->write_set);
|
||||
|
||||
for (; key < key_end; key+=store_length, key_part++)
|
||||
{
|
||||
@ -11173,8 +11172,7 @@ print_key(KEY_PART *key_part, const uchar *key, uint used_length)
|
||||
if (key+store_length < key_end)
|
||||
fputc('/',DBUG_FILE);
|
||||
}
|
||||
dbug_tmp_restore_column_map(table->write_set, old_write_set);
|
||||
dbug_tmp_restore_column_map(table->read_set, old_read_set);
|
||||
dbug_tmp_restore_column_maps(table->read_set, table->write_set, old_sets);
|
||||
}
|
||||
|
||||
|
||||
@ -11182,18 +11180,16 @@ static void print_quick(QUICK_SELECT_I *quick, const key_map *needed_reg)
|
||||
{
|
||||
char buf[MAX_KEY/8+1];
|
||||
TABLE *table;
|
||||
my_bitmap_map *old_read_map, *old_write_map;
|
||||
my_bitmap_map *old_sets[2];
|
||||
DBUG_ENTER("print_quick");
|
||||
if (!quick)
|
||||
DBUG_VOID_RETURN;
|
||||
DBUG_LOCK_FILE;
|
||||
|
||||
table= quick->head;
|
||||
old_read_map= dbug_tmp_use_all_columns(table, table->read_set);
|
||||
old_write_map= dbug_tmp_use_all_columns(table, table->write_set);
|
||||
dbug_tmp_use_all_columns(table, old_sets, table->read_set, table->write_set);
|
||||
quick->dbug_dump(0, TRUE);
|
||||
dbug_tmp_restore_column_map(table->read_set, old_read_map);
|
||||
dbug_tmp_restore_column_map(table->write_set, old_write_map);
|
||||
dbug_tmp_restore_column_maps(table->read_set, table->write_set, old_sets);
|
||||
|
||||
fprintf(DBUG_FILE,"other_keys: 0x%s:\n", needed_reg->print(buf));
|
||||
|
||||
|
@ -867,6 +867,7 @@ bool partition_info::check_partition_info(THD *thd, handlerton **eng_type,
|
||||
|
||||
if (part_type != HASH_PARTITION || !list_of_part_fields)
|
||||
{
|
||||
DBUG_ASSERT(part_expr);
|
||||
err= part_expr->walk(&Item::check_partition_func_processor, 0,
|
||||
NULL);
|
||||
if (!err && is_sub_partitioned() && !list_of_subpart_fields)
|
||||
|
@ -85,6 +85,7 @@ class Materialized_cursor: public Server_side_cursor
|
||||
List<Item> item_list;
|
||||
ulong fetch_limit;
|
||||
ulong fetch_count;
|
||||
bool is_rnd_inited;
|
||||
public:
|
||||
Materialized_cursor(select_result *result, TABLE *table);
|
||||
|
||||
@ -190,7 +191,11 @@ int mysql_open_cursor(THD *thd, uint flags, select_result *result,
|
||||
such command is SHOW VARIABLES or SHOW STATUS.
|
||||
*/
|
||||
if (rc)
|
||||
{
|
||||
if (result_materialize->materialized_cursor)
|
||||
delete result_materialize->materialized_cursor;
|
||||
goto err_open;
|
||||
}
|
||||
|
||||
if (sensitive_cursor->is_open())
|
||||
{
|
||||
@ -542,7 +547,8 @@ Materialized_cursor::Materialized_cursor(select_result *result_arg,
|
||||
:Server_side_cursor(&table_arg->mem_root, result_arg),
|
||||
table(table_arg),
|
||||
fetch_limit(0),
|
||||
fetch_count(0)
|
||||
fetch_count(0),
|
||||
is_rnd_inited(0)
|
||||
{
|
||||
fake_unit.init_query();
|
||||
fake_unit.thd= table->in_use;
|
||||
@ -599,11 +605,12 @@ int Materialized_cursor::open(JOIN *join __attribute__((unused)))
|
||||
THD *thd= fake_unit.thd;
|
||||
int rc;
|
||||
Query_arena backup_arena;
|
||||
|
||||
thd->set_n_backup_active_arena(this, &backup_arena);
|
||||
/* Create a list of fields and start sequential scan */
|
||||
rc= (result->prepare(item_list, &fake_unit) ||
|
||||
table->file->ha_rnd_init(TRUE));
|
||||
rc= result->prepare(item_list, &fake_unit);
|
||||
if (!rc && !(rc= table->file->ha_rnd_init(TRUE)))
|
||||
is_rnd_inited= 1;
|
||||
|
||||
thd->restore_active_arena(this, &backup_arena);
|
||||
if (rc == 0)
|
||||
{
|
||||
@ -678,7 +685,8 @@ void Materialized_cursor::close()
|
||||
{
|
||||
/* Free item_list items */
|
||||
free_items();
|
||||
(void) table->file->ha_rnd_end();
|
||||
if (is_rnd_inited)
|
||||
(void) table->file->ha_rnd_end();
|
||||
/*
|
||||
We need to grab table->mem_root to prevent free_tmp_table from freeing:
|
||||
the cursor object was allocated in this memory.
|
||||
|
@ -4233,9 +4233,8 @@ uint prep_alter_part_table(THD *thd, TABLE *table, Alter_info *alter_info,
|
||||
after the change as before. Thus we can reply ok immediately
|
||||
without any changes at all.
|
||||
*/
|
||||
DBUG_RETURN(fast_end_partition(thd, ULL(0), ULL(0),
|
||||
table, NULL,
|
||||
TRUE, NULL, FALSE));
|
||||
*fast_alter_partition= TRUE;
|
||||
DBUG_RETURN(FALSE);
|
||||
}
|
||||
else if (new_part_no > curr_part_no)
|
||||
{
|
||||
|
@ -1667,8 +1667,11 @@ JOIN::exec()
|
||||
(zero_result_cause?zero_result_cause:"No tables used"));
|
||||
else
|
||||
{
|
||||
result->send_fields(*columns_list,
|
||||
Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF);
|
||||
if (result->send_fields(*columns_list,
|
||||
Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF))
|
||||
{
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
/*
|
||||
We have to test for 'conds' here as the WHERE may not be constant
|
||||
even if we don't have any tables for prepared statements or if
|
||||
@ -13856,6 +13859,7 @@ join_init_cache(THD *thd,JOIN_TAB *tables,uint table_count)
|
||||
length=0;
|
||||
for (i=0 ; i < table_count ; i++)
|
||||
{
|
||||
bool have_bit_fields= FALSE;
|
||||
uint null_fields=0,used_fields;
|
||||
Field **f_ptr,*field;
|
||||
MY_BITMAP *read_set= tables[i].table->read_set;
|
||||
@ -13870,13 +13874,16 @@ join_init_cache(THD *thd,JOIN_TAB *tables,uint table_count)
|
||||
length+=field->fill_cache_field(copy);
|
||||
if (copy->blob_field)
|
||||
(*blob_ptr++)=copy;
|
||||
if (field->maybe_null())
|
||||
if (field->real_maybe_null())
|
||||
null_fields++;
|
||||
if (field->type() == MYSQL_TYPE_BIT &&
|
||||
((Field_bit*)field)->bit_len)
|
||||
have_bit_fields= TRUE;
|
||||
copy++;
|
||||
}
|
||||
}
|
||||
/* Copy null bits from table */
|
||||
if (null_fields && tables[i].table->s->null_fields)
|
||||
if (null_fields || have_bit_fields)
|
||||
{ /* must copy null bits */
|
||||
copy->str= tables[i].table->null_flags;
|
||||
copy->length= tables[i].table->s->null_bytes;
|
||||
|
@ -993,7 +993,7 @@ static bool get_field_default_value(THD *thd, TABLE *table,
|
||||
{
|
||||
bool has_default;
|
||||
bool has_now_default;
|
||||
|
||||
enum enum_field_types field_type= field->type();
|
||||
/*
|
||||
We are using CURRENT_TIMESTAMP instead of NOW because it is
|
||||
more standard
|
||||
@ -1001,7 +1001,7 @@ static bool get_field_default_value(THD *thd, TABLE *table,
|
||||
has_now_default= table->timestamp_field == field &&
|
||||
field->unireg_check != Field::TIMESTAMP_UN_FIELD;
|
||||
|
||||
has_default= (field->type() != FIELD_TYPE_BLOB &&
|
||||
has_default= (field_type != FIELD_TYPE_BLOB &&
|
||||
!(field->flags & NO_DEFAULT_VALUE_FLAG) &&
|
||||
field->unireg_check != Field::NEXT_NUMBER &&
|
||||
!((thd->variables.sql_mode & (MODE_MYSQL323 | MODE_MYSQL40))
|
||||
@ -1016,7 +1016,19 @@ static bool get_field_default_value(THD *thd, TABLE *table,
|
||||
{ // Not null by default
|
||||
char tmp[MAX_FIELD_WIDTH];
|
||||
String type(tmp, sizeof(tmp), field->charset());
|
||||
field->val_str(&type);
|
||||
if (field_type == MYSQL_TYPE_BIT)
|
||||
{
|
||||
longlong dec= field->val_int();
|
||||
char *ptr= longlong2str(dec, tmp + 2, 2);
|
||||
uint32 length= (uint32) (ptr - tmp);
|
||||
tmp[0]= 'b';
|
||||
tmp[1]= '\'';
|
||||
tmp[length]= '\'';
|
||||
type.length(length + 1);
|
||||
quoted= 0;
|
||||
}
|
||||
else
|
||||
field->val_str(&type);
|
||||
if (type.length())
|
||||
{
|
||||
String def_val;
|
||||
@ -3577,6 +3589,11 @@ static int get_schema_tables_record(THD *thd, TABLE_LIST *tables,
|
||||
(share->transactional == HA_CHOICE_YES ? "1" : "0"),
|
||||
NullS);
|
||||
}
|
||||
if (share->key_block_size)
|
||||
{
|
||||
ptr= strmov(ptr, " KEY_BLOCK_SIZE=");
|
||||
ptr= longlong10_to_str(share->key_block_size, ptr, 10);
|
||||
}
|
||||
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
||||
if (is_partitioned)
|
||||
ptr= strmov(ptr, " partitioned");
|
||||
|
@ -3111,10 +3111,12 @@ static bool prepare_blob_field(THD *thd, Create_field *sql_field)
|
||||
push_warning(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, ER_AUTO_CONVERT,
|
||||
warn_buff);
|
||||
}
|
||||
|
||||
|
||||
if ((sql_field->flags & BLOB_FLAG) && sql_field->length)
|
||||
{
|
||||
if (sql_field->sql_type == MYSQL_TYPE_BLOB)
|
||||
if (sql_field->sql_type == FIELD_TYPE_BLOB ||
|
||||
sql_field->sql_type == FIELD_TYPE_TINY_BLOB ||
|
||||
sql_field->sql_type == FIELD_TYPE_MEDIUM_BLOB)
|
||||
{
|
||||
/* The user has given a length to the blob column */
|
||||
sql_field->sql_type= get_blob_type_from_length(sql_field->length);
|
||||
|
30
sql/table.h
30
sql/table.h
@ -1691,5 +1691,35 @@ static inline void dbug_tmp_restore_column_map(MY_BITMAP *bitmap,
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Variant of the above : handle both read and write sets.
|
||||
Provide for the possiblity of the read set being the same as the write set
|
||||
*/
|
||||
static inline void dbug_tmp_use_all_columns(TABLE *table,
|
||||
my_bitmap_map **save,
|
||||
MY_BITMAP *read_set,
|
||||
MY_BITMAP *write_set)
|
||||
{
|
||||
#ifndef DBUG_OFF
|
||||
save[0]= read_set->bitmap;
|
||||
save[1]= write_set->bitmap;
|
||||
(void) tmp_use_all_columns(table, read_set);
|
||||
(void) tmp_use_all_columns(table, write_set);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
static inline void dbug_tmp_restore_column_maps(MY_BITMAP *read_set,
|
||||
MY_BITMAP *write_set,
|
||||
my_bitmap_map **old)
|
||||
{
|
||||
#ifndef DBUG_OFF
|
||||
tmp_restore_column_map(read_set, old[0]);
|
||||
tmp_restore_column_map(write_set, old[1]);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
size_t max_row_length(TABLE *table, const uchar *data);
|
||||
|
||||
|
@ -161,11 +161,11 @@ static int FTB_WORD_cmp(my_off_t *v, FTB_WORD *a, FTB_WORD *b)
|
||||
|
||||
static int FTB_WORD_cmp_list(CHARSET_INFO *cs, FTB_WORD **a, FTB_WORD **b)
|
||||
{
|
||||
/* ORDER BY word DESC, ndepth DESC */
|
||||
int i= ha_compare_text(cs, (uchar*) (*b)->word+1,(*b)->len-1,
|
||||
(uchar*) (*a)->word+1,(*a)->len-1,0,0);
|
||||
/* ORDER BY word, ndepth */
|
||||
int i= ha_compare_text(cs, (uchar*) (*a)->word + 1, (*a)->len - 1,
|
||||
(uchar*) (*b)->word + 1, (*b)->len - 1, 0, 0);
|
||||
if (!i)
|
||||
i=CMP_NUM((*b)->ndepth,(*a)->ndepth);
|
||||
i= CMP_NUM((*a)->ndepth, (*b)->ndepth);
|
||||
return i;
|
||||
}
|
||||
|
||||
@ -865,23 +865,49 @@ static int ftb_find_relevance_add_word(MYSQL_FTPARSER_PARAM *param,
|
||||
FT_INFO *ftb= ftb_param->ftb;
|
||||
FTB_WORD *ftbw;
|
||||
int a, b, c;
|
||||
/*
|
||||
Find right-most element in the array of query words matching this
|
||||
word from a document.
|
||||
*/
|
||||
for (a= 0, b= ftb->queue.elements, c= (a+b)/2; b-a>1; c= (a+b)/2)
|
||||
{
|
||||
ftbw= ftb->list[c];
|
||||
if (ha_compare_text(ftb->charset, (uchar*)word, len,
|
||||
(uchar*)ftbw->word+1, ftbw->len-1,
|
||||
(my_bool)(ftbw->flags&FTB_FLAG_TRUNC), 0) > 0)
|
||||
(my_bool) (ftbw->flags & FTB_FLAG_TRUNC), 0) < 0)
|
||||
b= c;
|
||||
else
|
||||
a= c;
|
||||
}
|
||||
/*
|
||||
If there were no words with truncation operator, we iterate to the
|
||||
beginning of an array until array element is equal to the word from
|
||||
a document. This is done mainly because the same word may be
|
||||
mentioned twice (or more) in the query.
|
||||
|
||||
In case query has words with truncation operator we must iterate
|
||||
to the beginning of the array. There may be non-matching query words
|
||||
between matching word with truncation operator and the right-most
|
||||
matching element. E.g., if we're looking for 'aaa15' in an array of
|
||||
'aaa1* aaa14 aaa15 aaa16'.
|
||||
|
||||
Worse of that there still may be match even if the binary search
|
||||
above didn't find matching element. E.g., if we're looking for
|
||||
'aaa15' in an array of 'aaa1* aaa14 aaa16'. The binary search will
|
||||
stop at 'aaa16'.
|
||||
*/
|
||||
for (; c >= 0; c--)
|
||||
{
|
||||
ftbw= ftb->list[c];
|
||||
if (ha_compare_text(ftb->charset, (uchar*)word, len,
|
||||
(uchar*)ftbw->word + 1,ftbw->len - 1,
|
||||
(my_bool)(ftbw->flags & FTB_FLAG_TRUNC), 0))
|
||||
break;
|
||||
{
|
||||
if (ftb->with_scan & FTB_FLAG_TRUNC)
|
||||
continue;
|
||||
else
|
||||
break;
|
||||
}
|
||||
if (ftbw->docid[1] == ftb->info->lastpos)
|
||||
continue;
|
||||
ftbw->docid[1]= ftb->info->lastpos;
|
||||
|
@ -328,7 +328,7 @@ int my_xml_parse(MY_XML_PARSER *p,const char *str, size_t len)
|
||||
}
|
||||
|
||||
while ((MY_XML_IDENT == (lex=my_xml_scan(p,&a))) ||
|
||||
(MY_XML_STRING == lex))
|
||||
((MY_XML_STRING == lex && exclam)))
|
||||
{
|
||||
MY_XML_ATTR b;
|
||||
if (MY_XML_EQ == (lex=my_xml_scan(p,&b)))
|
||||
@ -349,13 +349,22 @@ int my_xml_parse(MY_XML_PARSER *p,const char *str, size_t len)
|
||||
return MY_XML_ERROR;
|
||||
}
|
||||
}
|
||||
else if ((MY_XML_STRING == lex) || (MY_XML_IDENT == lex))
|
||||
else if (MY_XML_IDENT == lex)
|
||||
{
|
||||
p->current_node_type= MY_XML_NODE_ATTR;
|
||||
if ((MY_XML_OK != my_xml_enter(p,a.beg,(size_t) (a.end-a.beg))) ||
|
||||
(MY_XML_OK != my_xml_leave(p,a.beg,(size_t) (a.end-a.beg))))
|
||||
return MY_XML_ERROR;
|
||||
}
|
||||
else if ((MY_XML_STRING == lex) && exclam)
|
||||
{
|
||||
/*
|
||||
We are in <!DOCTYPE>, e.g.
|
||||
<!DOCTYPE name SYSTEM "SystemLiteral">
|
||||
<!DOCTYPE name PUBLIC "PublidLiteral" "SystemLiteral">
|
||||
Just skip "SystemLiteral" and "PublicidLiteral"
|
||||
*/
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
@ -16552,6 +16552,61 @@ static void test_change_user()
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
#ifdef HAVE_SPATIAL
|
||||
/**
|
||||
Bug#37956 memory leak and / or crash with geometry and prepared statements!
|
||||
*/
|
||||
|
||||
static void test_bug37956(void)
|
||||
{
|
||||
const char *query="select point(?,?)";
|
||||
MYSQL_STMT *stmt=NULL;
|
||||
ulong val=0;
|
||||
MYSQL_BIND bind_param[2];
|
||||
unsigned char buff[2]= { 134, 211 };
|
||||
DBUG_ENTER("test_bug37956");
|
||||
myheader("test_bug37956");
|
||||
|
||||
stmt= mysql_simple_prepare(mysql, query);
|
||||
check_stmt(stmt);
|
||||
|
||||
val=1;
|
||||
mysql_stmt_attr_set(stmt, STMT_ATTR_UPDATE_MAX_LENGTH, (void *)&val);
|
||||
val=CURSOR_TYPE_READ_ONLY;
|
||||
mysql_stmt_attr_set(stmt, STMT_ATTR_CURSOR_TYPE, (void *)&val);
|
||||
val=0;
|
||||
mysql_stmt_attr_set(stmt, STMT_ATTR_PREFETCH_ROWS, (void *)&val);
|
||||
|
||||
memset(bind_param, 0, sizeof(bind_param));
|
||||
bind_param[0].buffer_type=MYSQL_TYPE_TINY;
|
||||
bind_param[0].buffer= (void *)buff;
|
||||
bind_param[0].is_null=NULL;
|
||||
bind_param[0].error=NULL;
|
||||
bind_param[0].is_unsigned=1;
|
||||
bind_param[1].buffer_type=MYSQL_TYPE_TINY;
|
||||
bind_param[1].buffer= (void *)(buff+1);
|
||||
bind_param[1].is_null=NULL;
|
||||
bind_param[1].error=NULL;
|
||||
bind_param[1].is_unsigned=1;
|
||||
|
||||
if (mysql_stmt_bind_param(stmt, bind_param))
|
||||
{
|
||||
mysql_stmt_close(stmt);
|
||||
DIE_UNLESS(0);
|
||||
}
|
||||
|
||||
if (mysql_stmt_execute(stmt))
|
||||
{
|
||||
mysql_stmt_close(stmt);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
/* Should never reach here: execution returns an error. */
|
||||
mysql_stmt_close(stmt);
|
||||
DIE_UNLESS(0);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
Bug#27592 (stack overrun when storing datetime value using prepared statements)
|
||||
*/
|
||||
@ -17967,6 +18022,9 @@ static struct my_tests_st my_tests[]= {
|
||||
{ "test_wl4166_2", test_wl4166_2 },
|
||||
{ "test_bug38486", test_bug38486 },
|
||||
{ "test_bug40365", test_bug40365 },
|
||||
#ifdef HAVE_SPATIAL
|
||||
{ "test_bug37956", test_bug37956 },
|
||||
#endif
|
||||
{ 0, 0 }
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user