2827 Tomas Ulin 2009-02-03 [merge]
merge
modified:
mysql-test/r/ctype_ldml.result
mysql-test/r/type_timestamp.result
mysql-test/suite/federated/federated.inc
mysql-test/suite/federated/federated.result
mysql-test/suite/federated/federated_archive.result
mysql-test/suite/federated/federated_bug_13118.result
mysql-test/suite/federated/federated_bug_25714.result
mysql-test/suite/federated/federated_bug_25714.test
mysql-test/suite/federated/federated_cleanup.inc
mysql-test/suite/federated/federated_innodb.result
mysql-test/suite/federated/federated_server.result
mysql-test/suite/rpl/r/rpl_trigger.result
mysql-test/suite/rpl/t/rpl_trigger.test
mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf
mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test
mysql-test/t/ctype_ldml.test
mysql-test/t/system_mysql_db_fix30020.test
mysql-test/t/type_timestamp.test
mysql-test/t/variables.test
mysys/charset.c
mysys/my_delete.c
sql/item.cc
2826 Tomas Ulin 2009-02-03
post merge fix
modified:
mysql-test/suite/rpl_ndb_big/r/rpl_ndb_sync.result
2825 Tomas Ulin 2009-02-02
post merge fix
added:
mysql-test/suite/rpl_ndb_big/my.cnf
modified:
mysql-test/Makefile.am
=== modified file 'mysql-test/r/ctype_ldml.result'
--- a/mysql-test/r/ctype_ldml.result 2008-12-09 08:41:43 +0000
+++ b/mysql-test/r/ctype_ldml.result 2009-02-02 20:50:45 +0000
@@ -71,6 +71,25 @@ select * from t1 where c1='b';
c1
a
drop table t1;
+CREATE TABLE t1 (
+col1 varchar(100) character set utf8 collate utf8_test_ci
+);
+INSERT INTO t1 (col1) VALUES ('abcd'),('efgh'),('ijkl');
+ALTER TABLE t1 ADD FULLTEXT INDEX (col1);
+SELECT * FROM t1 where match (col1) against ('abcd');
+col1
+abcd
+SELECT * FROM t1 where match (col1) against ('abcd' IN BOOLEAN MODE);
+col1
+abcd
+ALTER TABLE t1 ADD (col2 varchar(100) character set latin1);
+UPDATE t1 SET col2=col1;
+SELECT * FROM t1 WHERE col1=col2 ORDER BY col1;
+col1 col2
+abcd abcd
+efgh efgh
+ijkl ijkl
+DROP TABLE t1;
Vietnamese experimental collation
show collation like 'ucs2_vn_ci';
Collation Charset Id Default Compiled Sortlen
=== modified file 'mysql-test/r/type_timestamp.result'
--- a/mysql-test/r/type_timestamp.result 2007-11-14 13:54:18 +0000
+++ b/mysql-test/r/type_timestamp.result 2009-02-02 20:56:22 +0000
@@ -484,6 +484,7 @@ a b c
5 NULL 2001-09-09 04:46:59
6 NULL 2006-06-06 06:06:06
drop table t1;
+End of 4.1 tests
set time_zone= @@global.time_zone;
CREATE TABLE t1 (
`id` int(11) NOT NULL auto_increment,
@@ -500,3 +501,21 @@ select is_nullable from INFORMATION_SCHE
is_nullable
NO
drop table t1;
+CREATE TABLE t1 ( f1 INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+f2 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+f3 TIMESTAMP);
+INSERT INTO t1 (f2,f3) VALUES (NOW(), "0000-00-00 00:00:00");
+INSERT INTO t1 (f2,f3) VALUES (NOW(), NULL);
+INSERT INTO t1 (f2,f3) VALUES (NOW(), ASCII(NULL));
+INSERT INTO t1 (f2,f3) VALUES (NOW(), FROM_UNIXTIME('9999999999'));
+INSERT INTO t1 (f2,f3) VALUES (NOW(), TIME(NULL));
+UPDATE t1 SET f2=NOW(), f3=FROM_UNIXTIME('9999999999') WHERE f1=1;
+SELECT f1,f2-f3 FROM t1;
+f1 f2-f3
+1 0
+2 0
+3 0
+4 0
+5 0
+DROP TABLE t1;
+End of 5.0 tests
=== modified file 'mysql-test/suite/federated/federated.inc'
--- a/mysql-test/suite/federated/federated.inc 2008-12-15 12:41:31 +0000
+++ b/mysql-test/suite/federated/federated.inc 2009-02-02 20:50:45 +0000
@@ -5,13 +5,7 @@ connect (master,127.0.0.1,root,,test,$MA
connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
connection master;
---disable_warnings
-DROP DATABASE IF EXISTS federated;
---enable_warnings
CREATE DATABASE federated;
connection slave;
---disable_warnings
-DROP DATABASE IF EXISTS federated;
---enable_warnings
CREATE DATABASE federated;
=== modified file 'mysql-test/suite/federated/federated.result'
--- a/mysql-test/suite/federated/federated.result 2008-12-24 10:48:24 +0000
+++ b/mysql-test/suite/federated/federated.result 2009-02-02 20:50:45 +0000
@@ -1,6 +1,4 @@
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
SET @OLD_MASTER_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
SET @@GLOBAL.CONCURRENT_INSERT= 0;
@@ -2162,6 +2160,6 @@ End of 6.0 tests
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT;
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
=== modified file 'mysql-test/suite/federated/federated_archive.result'
--- a/mysql-test/suite/federated/federated_archive.result 2007-12-12 17:19:24 +0000
+++ b/mysql-test/suite/federated/federated_archive.result 2009-02-02 11:36:03 +0000
@@ -1,6 +1,4 @@
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
DROP TABLE IF EXISTS federated.archive_table;
CREATE TABLE federated.archive_table (
@@ -36,6 +34,6 @@ id name
DROP TABLE federated.t1;
DROP TABLE federated.archive_table;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
=== modified file 'mysql-test/suite/federated/federated_bug_13118.result'
--- a/mysql-test/suite/federated/federated_bug_13118.result 2007-12-12 17:19:24 +0000
+++ b/mysql-test/suite/federated/federated_bug_13118.result 2009-02-02 11:36:03 +0000
@@ -1,6 +1,4 @@
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
DROP TABLE IF EXISTS federated.bug_13118_table;
CREATE TABLE federated.bug_13118_table (
@@ -27,6 +25,6 @@ foo bar
DROP TABLE federated.t1;
DROP TABLE federated.bug_13118_table;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
=== modified file 'mysql-test/suite/federated/federated_bug_25714.result'
--- a/mysql-test/suite/federated/federated_bug_25714.result 2008-10-29 09:52:46 +0000
+++ b/mysql-test/suite/federated/federated_bug_25714.result 2009-02-02 20:50:45 +0000
@@ -1,6 +1,4 @@
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
SET @OLD_MASTER_CONCURRENT_INSERT= @@GLOBAL.CONCURRENT_INSERT;
SET @@GLOBAL.CONCURRENT_INSERT= 0;
@@ -50,6 +48,6 @@ SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MAS
DROP TABLE federated.t1;
SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
=== modified file 'mysql-test/suite/federated/federated_bug_25714.test'
--- a/mysql-test/suite/federated/federated_bug_25714.test 2008-10-29 17:40:17 +0000
+++ b/mysql-test/suite/federated/federated_bug_25714.test 2009-02-02 20:50:45 +0000
@@ -1,10 +1,10 @@
-source federated.inc;
-
# Check that path to the specific test program has been setup
if (`select LENGTH("$MYSQL_BUG25714") = 0`)
{
skip Need bug25714 test program;
}
+
+source federated.inc;
connection master;
# Disable concurrent inserts to avoid test failures when reading
=== modified file 'mysql-test/suite/federated/federated_cleanup.inc'
--- a/mysql-test/suite/federated/federated_cleanup.inc 2007-12-12 17:19:24 +0000
+++ b/mysql-test/suite/federated/federated_cleanup.inc 2009-02-02 11:36:03 +0000
@@ -1,9 +1,9 @@
connection master;
--disable_warnings
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
connection slave;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
--enable_warnings
=== modified file 'mysql-test/suite/federated/federated_innodb.result'
--- a/mysql-test/suite/federated/federated_innodb.result 2007-12-12 17:19:24 +0000
+++ b/mysql-test/suite/federated/federated_innodb.result 2009-02-02 11:36:03 +0000
@@ -1,6 +1,4 @@
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
create table federated.t1 (a int primary key, b varchar(64))
engine=myisam;
@@ -22,6 +20,6 @@ a b
drop table federated.t1;
drop table federated.t1;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
=== modified file 'mysql-test/suite/federated/federated_server.result'
--- a/mysql-test/suite/federated/federated_server.result 2009-01-22 13:07:58 +0000
+++ b/mysql-test/suite/federated/federated_server.result 2009-02-02 11:36:03 +0000
@@ -1,6 +1,4 @@
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
-DROP DATABASE IF EXISTS federated;
CREATE DATABASE federated;
create database first_db;
create database second_db;
@@ -277,6 +275,6 @@ call p1();
drop procedure p1;
drop server if exists s;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
DROP TABLE IF EXISTS federated.t1;
-DROP DATABASE IF EXISTS federated;
+DROP DATABASE federated;
=== modified file 'mysql-test/suite/rpl/r/rpl_trigger.result'
--- a/mysql-test/suite/rpl/r/rpl_trigger.result 2008-12-08 13:31:24 +0000
+++ b/mysql-test/suite/rpl/r/rpl_trigger.result 2009-02-02 21:29:18 +0000
@@ -862,6 +862,9 @@ drop table t21,t31;
drop table t11;
STOP SLAVE;
FLUSH LOGS;
+--> Stop master server
+--> Start master server
+--> Master binlog: Server ver: 5.0.16-debug-log, Binlog ver: 4
RESET SLAVE;
START SLAVE;
SELECT MASTER_POS_WAIT('master-bin.000001', 513) >= 0;
=== modified file 'mysql-test/suite/rpl/t/rpl_trigger.test'
--- a/mysql-test/suite/rpl/t/rpl_trigger.test 2009-02-01 14:30:58 +0000
+++ b/mysql-test/suite/rpl/t/rpl_trigger.test 2009-02-02 21:29:18 +0000
@@ -298,8 +298,28 @@ STOP SLAVE;
connection master;
let $MYSQLD_DATADIR= `select @@datadir`;
FLUSH LOGS;
+
+# Stop master server
+--echo --> Stop master server
+--write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+wait
+EOF
+--shutdown_server 10
+--source include/wait_until_disconnected.inc
+# Replace binlog
remove_file $MYSQLD_DATADIR/master-bin.000001;
copy_file $MYSQL_TEST_DIR/std_data/bug16266.000001 $MYSQLD_DATADIR/master-bin.000001;
+
+--echo --> Start master server
+--append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
+restart
+EOF
+--enable_reconnect
+--source include/wait_until_connected_again.inc
+let $binlog_version= query_get_value(SHOW BINLOG EVENTS, Info, 1);
+
+# Make the slave to replay the new binlog.
+--echo --> Master binlog: $binlog_version
# Make the slave to replay the new binlog.
=== modified file 'mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result'
--- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result 2008-04-25 22:17:34 +0000
+++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result 2009-02-02 20:31:01 +0000
@@ -45,58 +45,20 @@ CREATE TABLE t1 (a INT NOT NULL AUTO_INC
*** Basic testing ***
Insert rows via all hosts
Check data on both clusters
-* Cluster A *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 1 GROUP BY b ORDER BY b;
-COUNT(*) SUM(a) b
-10 190 master
-10 210 master1
-10 200 slave
-10 220 slave1
-* Cluster B *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 1 GROUP BY b ORDER BY b;
-COUNT(*) SUM(a) b
-10 190 master
-10 210 master1
-10 200 slave
-10 220 slave1
-
+Comparing tables master:test.t1 and slave:test.t1
*** Transaction testing ***
BEGIN;
BEGIN;
COMMIT;
COMMIT;
Check data on both clusters
-* Cluster A *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 2 GROUP BY b ORDER BY b;
-COUNT(*) SUM(a) b
-100 23900 master
-100 24100 master1
-100 24000 slave
-100 24200 slave1
-* Cluster B *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 2 GROUP BY b ORDER BY b;
-COUNT(*) SUM(a) b
-100 23900 master
-100 24100 master1
-100 24000 slave
-100 24200 slave1
-
+Comparing tables master:test.t1 and slave:test.t1
BEGIN;
BEGIN;
ROLLBACK;
ROLLBACK;
Check data on both clusters
-* Cluster A *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b;
-COUNT(*) SUM(a) b
-100 64100 master1
-100 64000 slave
-* Cluster B *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b;
-COUNT(*) SUM(a) b
-100 64100 master1
-100 64000 slave
-
+Comparing tables master:test.t1 and slave:test.t1
DROP TABLE t1;
DROP TABLE IF EXISTS t1;
=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf 2008-10-31 14:11:44 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf 2009-02-02 20:34:46 +0000
@@ -15,11 +15,6 @@ skip-slave-start
[mysqld.2.slave]
server-id= 2
-master-host= 127.0.0.1
-master-port= @mysqld.2.1.port
-master-password= @mysqld.2.1.#password
-master-user= @mysqld.2.1.#user
-master-connect-retry= 1
init-rpl-role= slave
log-bin
skip-slave-start
=== modified file 'mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test'
--- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test 2008-10-31 14:11:44 +0000
+++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test 2009-02-02 20:31:01 +0000
@@ -75,13 +75,10 @@ let $wait_condition= SELECT COUNT(*)=40
# Check data
--echo Check data on both clusters
---connection master
---echo * Cluster A *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 1 GROUP BY b ORDER BY b;
---connection slave
---echo * Cluster B *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 1 GROUP BY b ORDER BY b;
---echo
+let $diff_table_1=master:test.t1;
+let $diff_table_2=slave:test.t1;
+
+source include/diff_tables.inc;
--echo *** Transaction testing ***
# Start transaction for one mysqld and do mass of inserts for other.
@@ -119,13 +116,10 @@ let $wait_condition= SELECT COUNT(*)=400
--source include/wait_condition.inc
--echo Check data on both clusters
---connection master
---echo * Cluster A *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 2 GROUP BY b ORDER BY b;
---connection slave
---echo * Cluster B *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 2 GROUP BY b ORDER BY b;
---echo
+let $diff_table_1=master:test.t1;
+let $diff_table_2=slave:test.t1;
+
+source include/diff_tables.inc;
# Start transaction and then roll back
@@ -161,13 +155,10 @@ let $wait_condition= SELECT COUNT(*)=200
--source include/wait_condition.inc
--echo Check data on both clusters
---connection master
---echo * Cluster A *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b;
---connection slave
---echo * Cluster B *
-SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b;
---echo
+let $diff_table_1=master:test.t1;
+let $diff_table_2=slave:test.t1;
+
+source include/diff_tables.inc;
# Clean up
--connection master
=== modified file 'mysql-test/suite/rpl_ndb_big/r/rpl_ndb_sync.result'
--- a/mysql-test/suite/rpl_ndb_big/r/rpl_ndb_sync.result 2009-02-02 15:58:48 +0000
+++ b/mysql-test/suite/rpl_ndb_big/r/rpl_ndb_sync.result 2009-02-03 06:41:56 +0000
@@ -106,6 +106,8 @@ Last_IO_Errno <Last_IO_Errno>
Last_IO_Error <Last_IO_Error>
Last_SQL_Errno 0
Last_SQL_Error
+Replicate_Ignore_Server_Ids
+Master_Server_Id 1
SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
hex(c1) hex(c2) c3
1 1 row1
=== modified file 'mysql-test/t/ctype_ldml.test'
--- a/mysql-test/t/ctype_ldml.test 2009-01-26 16:03:39 +0000
+++ b/mysql-test/t/ctype_ldml.test 2009-02-02 20:50:45 +0000
@@ -55,6 +55,25 @@ insert into t1 values ('a');
select * from t1 where c1='b';
drop table t1;
+
+#
+# Bug#41084 full-text index added to custom UCA collation not working
+#
+CREATE TABLE t1 (
+ col1 varchar(100) character set utf8 collate utf8_test_ci
+);
+INSERT INTO t1 (col1) VALUES ('abcd'),('efgh'),('ijkl');
+ALTER TABLE t1 ADD FULLTEXT INDEX (col1);
+SELECT * FROM t1 where match (col1) against ('abcd');
+SELECT * FROM t1 where match (col1) against ('abcd' IN BOOLEAN MODE);
+ALTER TABLE t1 ADD (col2 varchar(100) character set latin1);
+UPDATE t1 SET col2=col1;
+SELECT * FROM t1 WHERE col1=col2 ORDER BY col1;
+DROP TABLE t1;
+
+#
+# Vietnamese experimental collation
+#
--echo Vietnamese experimental collation
show collation like 'ucs2_vn_ci';
=== modified file 'mysql-test/t/system_mysql_db_fix30020.test'
--- a/mysql-test/t/system_mysql_db_fix30020.test 2008-10-07 10:26:19 +0000
+++ b/mysql-test/t/system_mysql_db_fix30020.test 2009-02-02 20:50:45 +0000
@@ -105,4 +105,5 @@ backup_history, backup_progress;
# check that we dropped all system tables
show tables;
+exit;
# End of 4.1 tests
=== modified file 'mysql-test/t/type_timestamp.test'
--- a/mysql-test/t/type_timestamp.test 2007-05-05 20:03:19 +0000
+++ b/mysql-test/t/type_timestamp.test 2009-02-02 20:56:22 +0000
@@ -324,7 +324,7 @@ insert into t1 (a, c) values (4, '2004-0
select * from t1;
drop table t1;
-# End of 4.1 tests
+--echo End of 4.1 tests
# Restore timezone to default
set time_zone= @@global.time_zone;
@@ -339,3 +339,21 @@ PRIMARY KEY (`id`)
show fields from t1;
select is_nullable from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='t1' and COLUMN_NAME='posted_on';
drop table t1;
+
+#
+# Bug#41370: TIMESTAMP field does not accepts NULL from FROM_UNIXTIME()
+#
+
+CREATE TABLE t1 ( f1 INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+ f2 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ f3 TIMESTAMP);
+INSERT INTO t1 (f2,f3) VALUES (NOW(), "0000-00-00 00:00:00");
+INSERT INTO t1 (f2,f3) VALUES (NOW(), NULL);
+INSERT INTO t1 (f2,f3) VALUES (NOW(), ASCII(NULL));
+INSERT INTO t1 (f2,f3) VALUES (NOW(), FROM_UNIXTIME('9999999999'));
+INSERT INTO t1 (f2,f3) VALUES (NOW(), TIME(NULL));
+UPDATE t1 SET f2=NOW(), f3=FROM_UNIXTIME('9999999999') WHERE f1=1;
+SELECT f1,f2-f3 FROM t1;
+DROP TABLE t1;
+
+--echo End of 5.0 tests
=== modified file 'mysql-test/t/variables.test'
--- a/mysql-test/t/variables.test 2009-01-31 15:53:35 +0000
+++ b/mysql-test/t/variables.test 2009-02-02 23:28:17 +0000
@@ -6,7 +6,7 @@ drop table if exists t1,t2;
--enable_warnings
#
-# Bug #19263: variables.test doesn't clean up after itself (I/II -- save)
+# Bug#19263: variables.test doesn't clean up after itself (I/II -- save)
#
set @my_binlog_cache_size =@@global.binlog_cache_size;
set @my_connect_timeout =@@global.connect_timeout;
@@ -198,46 +198,46 @@ SELECT @@version_compile_os LIKE 'non-ex
# The following should give errors
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set big_tables=OFFF;
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set big_tables="OFFF";
---error 1193
+--error ER_UNKNOWN_SYSTEM_VARIABLE
set unknown_variable=1;
---error 1232
+--error ER_WRONG_TYPE_FOR_VAR
set max_join_size="hello";
---error 1286
+--error ER_UNKNOWN_STORAGE_ENGINE
set storage_engine=UNKNOWN_TABLE_TYPE;
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set storage_engine=MERGE, big_tables=2;
show local variables like 'storage_engine';
---error 1229
+--error ER_GLOBAL_VARIABLE
set SESSION query_cache_size=10000;
---error 1230
+--error ER_NO_DEFAULT
set GLOBAL storage_engine=DEFAULT;
---error 1115
+--error ER_UNKNOWN_CHARACTER_SET
set character_set_client=UNKNOWN_CHARACTER_SET;
---error 1273
+--error ER_UNKNOWN_COLLATION
set collation_connection=UNKNOWN_COLLATION;
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set character_set_client=NULL;
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set collation_connection=NULL;
---error 1228
+--error ER_LOCAL_VARIABLE
set global autocommit=1;
---error 1238
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@global.timestamp;
---error 1238
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set @@version='';
---error 1229
+--error ER_GLOBAL_VARIABLE
set @@concurrent_insert=1;
---error 1228
+--error ER_LOCAL_VARIABLE
set @@global.sql_auto_is_null=1;
---error 1238
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@global.sql_auto_is_null;
---error 1229
+--error ER_GLOBAL_VARIABLE
set myisam_max_sort_file_size=100;
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set @@SQL_WARNINGS=NULL;
# Test setting all variables
@@ -368,23 +368,23 @@ drop table t1,t2;
# error conditions
#
---error 1193
+--error ER_UNKNOWN_SYSTEM_VARIABLE
select @@xxxxxxxxxx;
select 1;
---error 1238
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.key_buffer_size;
---error 1229
+--error ER_GLOBAL_VARIABLE
set ft_boolean_syntax = @@init_connect;
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set global ft_boolean_syntax = @@init_connect;
---error 1229
+--error ER_GLOBAL_VARIABLE
set init_connect = NULL;
set global init_connect = NULL;
---error 1229
+--error ER_GLOBAL_VARIABLE
set ft_boolean_syntax = @@init_connect;
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set global ft_boolean_syntax = @@init_connect;
# Bug#3754 SET GLOBAL myisam_max_sort_file_size doesn't work as
@@ -417,15 +417,15 @@ select @a, @b;
#
# Bug#2586:Disallow global/session/local as structured var. instance names
#
---error 1064
+--error ER_PARSE_ERROR
set @@global.global.key_buffer_size= 1;
---error 1064
+--error ER_PARSE_ERROR
set GLOBAL global.key_buffer_size= 1;
---error 1064
+--error ER_PARSE_ERROR
SELECT @@global.global.key_buffer_size;
---error 1064
+--error ER_PARSE_ERROR
SELECT @@global.session.key_buffer_size;
---error 1064
+--error ER_PARSE_ERROR
SELECT @@global.local.key_buffer_size;
# BUG#5135: cannot turn on log_warnings with SET in 4.1 (and 4.0)
@@ -516,27 +516,27 @@ select @@lc_time_names;
--echo *** LC_TIME_NAMES: testing with string expressions
set lc_time_names=concat('de','_','DE');
select @@lc_time_names;
---error 1105
+--error ER_UNKNOWN_ERROR
set lc_time_names=concat('de','+','DE');
select @@lc_time_names;
--echo LC_TIME_NAMES: testing with numeric expressions
set @@lc_time_names=1+2;
select @@lc_time_names;
---error 1232
+--error ER_WRONG_TYPE_FOR_VAR
set @@lc_time_names=1/0;
select @@lc_time_names;
set lc_time_names=en_US;
--echo LC_TIME_NAMES: testing NULL and a negative number:
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set lc_time_names=NULL;
---error 1105
+--error ER_UNKNOWN_ERROR
set lc_time_names=-1;
select @@lc_time_names;
--echo LC_TIME_NAMES: testing locale with the last ID:
set lc_time_names=108;
select @@lc_time_names;
--echo LC_TIME_NAMES: testing a number beyond the valid ID range:
---error 1105
+--error ER_UNKNOWN_ERROR
set lc_time_names=109;
select @@lc_time_names;
--echo LC_TIME_NAMES: testing that 0 is en_US:
@@ -578,7 +578,7 @@ select @@query_prealloc_size = @test;
# Bug#31588 buffer overrun when setting variables
#
# Buffer-size Off By One. Should throw valgrind-warning without fix #31588.
---error 1231
+--error ER_WRONG_VALUE_FOR_VAR
set global sql_mode=repeat('a',80);
--echo End of 4.1 tests
@@ -596,9 +596,9 @@ drop table t1;
# Bug #10339: read only variables.
#
---error 1238
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set @@warning_count=1;
---error 1238
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set @@global.error_count=1;
#
@@ -616,9 +616,9 @@ select @@max_heap_table_size > 0;
# Bug #11775 Variable character_set_system does not exist (sometimes)
#
select @@character_set_system;
---error 1238
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set global character_set_system = latin1;
---error 1238
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set @@global.version_compile_os='234';
#
@@ -729,7 +729,7 @@ select @@@;
# Don't actually output, since it depends on the system
--replace_column 1 #
select @@hostname;
---error 1238
+--error ER_INCORRECT_GLOBAL_LOCAL_VAR
set @@hostname= "anothername";
--replace_column 2 #
show variables like 'hostname';
=== modified file 'mysys/charset.c'
--- a/mysys/charset.c 2008-12-09 08:41:43 +0000
+++ b/mysys/charset.c 2009-02-02 20:50:45 +0000
@@ -212,6 +212,8 @@ copy_uca_collation(CHARSET_INFO *to, CHA
to->max_sort_char= from->max_sort_char;
to->mbminlen= from->mbminlen;
to->mbmaxlen= from->mbmaxlen;
+ to->state|= MY_CS_AVAILABLE | MY_CS_LOADED |
+ MY_CS_STRNXFRM | MY_CS_UNICODE;
}
=== modified file 'mysys/my_delete.c'
--- a/mysys/my_delete.c 2008-07-23 08:52:08 +0000
+++ b/mysys/my_delete.c 2009-02-02 17:39:49 +0000
@@ -37,7 +37,7 @@ int my_delete(const char *name, myf MyFl
} /* my_delete */
#if defined(__WIN__)
-/*
+/**
Delete file which is possibly not closed.
This function is intended to be used exclusively as a temporal solution
@@ -53,6 +53,20 @@ int my_delete(const char *name, myf MyFl
renamed to <name>.<num>.deleted where <name> - the initial name of the
file, <num> - a hexadecimal number chosen to make the temporal name to
be unique.
+
+ @param the name of the being deleted file
+ @param the flags instructing how to react on an error internally in
+ the function
+
+ @note The per-thread @c my_errno holds additional info for a caller to
+ decide how critical the error can be.
+
+ @retval
+ 0 ok
+ @retval
+ 1 error
+
+
*/
int nt_share_delete(const char *name, myf MyFlags)
{
@@ -61,6 +75,7 @@ int nt_share_delete(const char *name, my
DBUG_ENTER("nt_share_delete");
DBUG_PRINT("my",("name %s MyFlags %d", name, MyFlags));
+ errno= 0;
for (cnt= GetTickCount(); cnt; cnt--)
{
sprintf(buf, "%s.%08X.deleted", name, cnt);
@@ -78,15 +93,23 @@ int nt_share_delete(const char *name, my
name, buf, errno));
break;
}
-
- if (DeleteFile(buf))
- DBUG_RETURN(0);
-
- my_errno= GetLastError();
+
+ if (errno == ERROR_FILE_NOT_FOUND)
+ {
+ my_errno= ENOENT; // marking, that `name' doesn't exist
+ }
+ else if (errno == 0)
+ {
+ if (DeleteFile(buf))
+ DBUG_RETURN(0);
+ else if ((my_errno= GetLastError()) == 0)
+ my_errno= ENOENT; // marking, that `buf' doesn't exist
+ } else
+ my_errno= errno;
+
if (MyFlags & (MY_FAE+MY_WME))
- my_error(EE_DELETE, MYF(ME_BELL + ME_WAITTANG + (MyFlags & ME_NOINPUT)),
- name, my_errno);
-
+ my_error(EE_DELETE, MYF(ME_BELL + ME_WAITTANG + (MyFlags & ME_NOINPUT)),
+ name, my_errno);
DBUG_RETURN(-1);
}
#endif
=== modified file 'sql/item.cc'
--- a/sql/item.cc 2009-01-26 16:03:39 +0000
+++ b/sql/item.cc 2009-02-02 20:56:22 +0000
@@ -325,7 +325,7 @@ int Item::save_time_in_field(Field *fiel
{
MYSQL_TIME ltime;
if (get_time(<ime))
- return set_field_to_null(field);
+ return set_field_to_null_with_conversions(field, 0);
field->set_notnull();
return field->store_time(<ime, MYSQL_TIMESTAMP_TIME);
}
@@ -335,7 +335,7 @@ int Item::save_date_in_field(Field *fiel
{
MYSQL_TIME ltime;
if (get_date(<ime, TIME_FUZZY_DATE))
- return set_field_to_null(field);
+ return set_field_to_null_with_conversions(field, 0);
field->set_notnull();
return field->store_time(<ime, MYSQL_TIMESTAMP_DATETIME);
}
| Thread |
|---|
| • bzr push into mysql-6.0-ndb branch (tomas.ulin:2825 to 2827) | Tomas Ulin | 3 Feb |