MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:bar Date:December 6 2007 7:42am
Subject:bk commit into 6.0 tree (bar:1.2699) BUG#32389
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of bar. When bar does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-12-06 11:42:19+04:00, bar@stripped +8 -0
  Bug#32389 [Dup] crash if utf16 and regexp
  Adding test coverage for REGEXP
  No code changes.

  mysql-test/r/ctype_utf16.result@stripped, 2007-12-06 11:42:16+04:00, bar@stripped +45 -0
    Adding test coverage for REGEXP

  mysql-test/r/ctype_utf16_uca.result@stripped, 2007-12-06 11:42:16+04:00, bar@stripped +45 -0
    Adding test coverage for REGEXP

  mysql-test/r/ctype_utf32.result@stripped, 2007-12-06 11:42:16+04:00, bar@stripped +45 -0
    Adding test coverage for REGEXP

  mysql-test/r/ctype_utf32_uca.result@stripped, 2007-12-06 11:42:16+04:00, bar@stripped +45 -0
    Adding test coverage for REGEXP

  mysql-test/t/ctype_utf16.test@stripped, 2007-12-06 11:42:16+04:00, bar@stripped +7 -0
    Adding test coverage for REGEXP

  mysql-test/t/ctype_utf16_uca.test@stripped, 2007-12-06 11:42:16+04:00, bar@stripped +7 -0
    Adding test coverage for REGEXP

  mysql-test/t/ctype_utf32.test@stripped, 2007-12-06 11:42:16+04:00, bar@stripped +6 -0
    Adding test coverage for REGEXP

  mysql-test/t/ctype_utf32_uca.test@stripped, 2007-12-06 11:42:16+04:00, bar@stripped +7 -0
    Adding test coverage for REGEXP

diff -Nrup a/mysql-test/r/ctype_utf16.result b/mysql-test/r/ctype_utf16.result
--- a/mysql-test/r/ctype_utf16.result	2007-10-30 17:44:45 +04:00
+++ b/mysql-test/r/ctype_utf16.result	2007-12-06 11:42:16 +04:00
@@ -1040,3 +1040,48 @@ DB7FDCFF	F3AFB3BF	DB7FDCFF
 E000	EE8080	E000
 FFFF	EFBFBF	FFFF
 drop table t1;
+set collation_connection=utf16_general_ci;
+drop table if exists t1;
+create table t1 as
+select repeat(' ', 64) as s1, repeat(' ',64) as s2
+union
+select null, null;
+show create table t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `s1` varchar(64) CHARACTER SET utf16 DEFAULT NULL,
+  `s2` varchar(64) CHARACTER SET utf16 DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+delete from t1;
+insert into t1 values('aaa','aaa');
+insert into t1 values('aaa|qqq','qqq');
+insert into t1 values('gheis','^[^a-dXYZ]+$');
+insert into t1 values('aab','^aa?b');
+insert into t1 values('Baaan','^Ba*n');
+insert into t1 values('aaa','qqq|aaa');
+insert into t1 values('qqq','qqq|aaa');
+insert into t1 values('bbb','qqq|aaa');
+insert into t1 values('bbb','qqq');
+insert into t1 values('aaa','aba');
+insert into t1 values(null,'abc');
+insert into t1 values('def',null);
+insert into t1 values(null,null);
+insert into t1 values('ghi','ghi[');
+select HIGH_PRIORITY s1 regexp s2 from t1;
+s1 regexp s2
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+NULL
+NULL
+NULL
+NULL
+drop table t1;
+set names latin1;
diff -Nrup a/mysql-test/r/ctype_utf16_uca.result b/mysql-test/r/ctype_utf16_uca.result
--- a/mysql-test/r/ctype_utf16_uca.result	2007-10-22 17:19:07 +05:00
+++ b/mysql-test/r/ctype_utf16_uca.result	2007-12-06 11:42:16 +04:00
@@ -2415,4 +2415,49 @@ hex(weight_string(cast(_latin1 0xDF6368 
 select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4)));
 hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4)))
 0FEA0FEA0EE20209
+set collation_connection=utf16_unicode_ci;
+drop table if exists t1;
+create table t1 as
+select repeat(' ', 64) as s1, repeat(' ',64) as s2
+union
+select null, null;
+show create table t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `s1` varchar(64) CHARACTER SET utf16 COLLATE utf16_unicode_ci DEFAULT NULL,
+  `s2` varchar(64) CHARACTER SET utf16 COLLATE utf16_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+delete from t1;
+insert into t1 values('aaa','aaa');
+insert into t1 values('aaa|qqq','qqq');
+insert into t1 values('gheis','^[^a-dXYZ]+$');
+insert into t1 values('aab','^aa?b');
+insert into t1 values('Baaan','^Ba*n');
+insert into t1 values('aaa','qqq|aaa');
+insert into t1 values('qqq','qqq|aaa');
+insert into t1 values('bbb','qqq|aaa');
+insert into t1 values('bbb','qqq');
+insert into t1 values('aaa','aba');
+insert into t1 values(null,'abc');
+insert into t1 values('def',null);
+insert into t1 values(null,null);
+insert into t1 values('ghi','ghi[');
+select HIGH_PRIORITY s1 regexp s2 from t1;
+s1 regexp s2
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+NULL
+NULL
+NULL
+NULL
+drop table t1;
+set names latin1;
 End of 5.2 tests
diff -Nrup a/mysql-test/r/ctype_utf32.result b/mysql-test/r/ctype_utf32.result
--- a/mysql-test/r/ctype_utf32.result	2007-10-30 17:44:45 +04:00
+++ b/mysql-test/r/ctype_utf32.result	2007-12-06 11:42:16 +04:00
@@ -1004,3 +1004,48 @@ check table t1;
 Table	Op	Msg_type	Msg_text
 test.t1	check	status	OK
 drop table t1;
+set collation_connection=utf32_general_ci;
+drop table if exists t1;
+create table t1 as
+select repeat(' ', 64) as s1, repeat(' ',64) as s2
+union
+select null, null;
+show create table t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `s1` varchar(64) CHARACTER SET utf32 DEFAULT NULL,
+  `s2` varchar(64) CHARACTER SET utf32 DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+delete from t1;
+insert into t1 values('aaa','aaa');
+insert into t1 values('aaa|qqq','qqq');
+insert into t1 values('gheis','^[^a-dXYZ]+$');
+insert into t1 values('aab','^aa?b');
+insert into t1 values('Baaan','^Ba*n');
+insert into t1 values('aaa','qqq|aaa');
+insert into t1 values('qqq','qqq|aaa');
+insert into t1 values('bbb','qqq|aaa');
+insert into t1 values('bbb','qqq');
+insert into t1 values('aaa','aba');
+insert into t1 values(null,'abc');
+insert into t1 values('def',null);
+insert into t1 values(null,null);
+insert into t1 values('ghi','ghi[');
+select HIGH_PRIORITY s1 regexp s2 from t1;
+s1 regexp s2
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+NULL
+NULL
+NULL
+NULL
+drop table t1;
+set names latin1;
diff -Nrup a/mysql-test/r/ctype_utf32_uca.result b/mysql-test/r/ctype_utf32_uca.result
--- a/mysql-test/r/ctype_utf32_uca.result	2007-10-22 17:19:07 +05:00
+++ b/mysql-test/r/ctype_utf32_uca.result	2007-12-06 11:42:16 +04:00
@@ -2415,4 +2415,49 @@ hex(weight_string(cast(_latin1 0xDF6368 
 select hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4)));
 hex(weight_string(cast(_latin1 0xDF6368 as char) as char(4)))
 0FEA0FEA0EE20209
+set collation_connection=utf32_unicode_ci;
+drop table if exists t1;
+create table t1 as
+select repeat(' ', 64) as s1, repeat(' ',64) as s2
+union
+select null, null;
+show create table t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `s1` varchar(64) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL,
+  `s2` varchar(64) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+delete from t1;
+insert into t1 values('aaa','aaa');
+insert into t1 values('aaa|qqq','qqq');
+insert into t1 values('gheis','^[^a-dXYZ]+$');
+insert into t1 values('aab','^aa?b');
+insert into t1 values('Baaan','^Ba*n');
+insert into t1 values('aaa','qqq|aaa');
+insert into t1 values('qqq','qqq|aaa');
+insert into t1 values('bbb','qqq|aaa');
+insert into t1 values('bbb','qqq');
+insert into t1 values('aaa','aba');
+insert into t1 values(null,'abc');
+insert into t1 values('def',null);
+insert into t1 values(null,null);
+insert into t1 values('ghi','ghi[');
+select HIGH_PRIORITY s1 regexp s2 from t1;
+s1 regexp s2
+1
+1
+1
+1
+1
+1
+1
+0
+0
+0
+NULL
+NULL
+NULL
+NULL
+drop table t1;
+set names latin1;
 End of 5.2 tests
diff -Nrup a/mysql-test/t/ctype_utf16.test b/mysql-test/t/ctype_utf16.test
--- a/mysql-test/t/ctype_utf16.test	2007-10-30 17:44:45 +04:00
+++ b/mysql-test/t/ctype_utf16.test	2007-12-06 11:42:16 +04:00
@@ -678,5 +678,12 @@ select hex(a), hex(@a:=convert(a using u
 drop table t1;
 
 #
+# Test basic regex functionality
+#
+set collation_connection=utf16_general_ci;
+--source include/ctype_regex.inc
+set names latin1;
+
+#
 ## TODO: add tests for all engines
 #
diff -Nrup a/mysql-test/t/ctype_utf16_uca.test b/mysql-test/t/ctype_utf16_uca.test
--- a/mysql-test/t/ctype_utf16_uca.test	2007-10-22 16:43:29 +05:00
+++ b/mysql-test/t/ctype_utf16_uca.test	2007-12-06 11:42:16 +04:00
@@ -284,4 +284,11 @@ select hex(weight_string(_utf16 0xD800DC
 set @@collation_connection=utf16_czech_ci;
 --source include/weight_string_chde.inc
 
+#
+# Test basic regex functionality
+#
+set collation_connection=utf16_unicode_ci;
+--source include/ctype_regex.inc
+set names latin1;
+
 --echo End of 5.2 tests
diff -Nrup a/mysql-test/t/ctype_utf32.test b/mysql-test/t/ctype_utf32.test
--- a/mysql-test/t/ctype_utf32.test	2007-10-30 17:44:45 +04:00
+++ b/mysql-test/t/ctype_utf32.test	2007-12-06 11:42:16 +04:00
@@ -710,5 +710,11 @@ flush tables;
 check table t1;
 drop table t1;
 
+#
+# Test basic regex functionality
+#
+set collation_connection=utf32_general_ci;
+--source include/ctype_regex.inc
+set names latin1;
 
 # TODO: add tests for all engines
diff -Nrup a/mysql-test/t/ctype_utf32_uca.test b/mysql-test/t/ctype_utf32_uca.test
--- a/mysql-test/t/ctype_utf32_uca.test	2007-10-22 16:43:29 +05:00
+++ b/mysql-test/t/ctype_utf32_uca.test	2007-12-06 11:42:16 +04:00
@@ -285,4 +285,11 @@ select hex(weight_string(_utf32 0x10001 
 set @@collation_connection=utf32_czech_ci;
 --source include/weight_string_chde.inc
 
+#
+# Test basic regex functionality
+#
+set collation_connection=utf32_unicode_ci;
+--source include/ctype_regex.inc
+set names latin1;
+
 --echo End of 5.2 tests
Thread
bk commit into 6.0 tree (bar:1.2699) BUG#32389bar6 Dec