Commit 0bbf27bd authored by Marc Alff's avatar Marc Alff

local merge

parents 7ceb3b42 9b406e69
This diff is collapsed.
DO NOT TRANSLATE OR LOCALIZE
***************************************************************************
This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at Oracle Corporation.
************************************************************
LICENSE
************************************************************
License information and use restrictions of this software can
be found in these files:
- For GPL (free) distributions, see the COPYING file and
the EXCEPTIONS-CLIENT file.
- For commercial distributions, see the LICENSE.mysql file.
GPLv2 Disclaimer
For the avoidance of doubt, except that if any license choice
other than GPL or LGPL is available it will apply instead, Oracle
elects to use only the General Public License version 2 (GPLv2)
at this time for any software where a choice of GPL license versions
is made available with the language indicating that GPLv2 or any
later version may be used, or where a choice of which version of
the GPL is applied is otherwise unspecified.
************************************************************
FURTHER INFORMATION
************************************************************
For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://dev.mysql.com/
- The current MySQL documentation: http://dev.mysql.com/doc/
Some manual sections of special interest:
- If you are migrating from an older version of MySQL, please read
the "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading
chapter.
- For the new features/bugfix history, see the Change History appendix.
- For the currently known bugs/misfeatures (known errors) see the
Problems and Common Errors appendix.
- For a list of developers and other contributors, see the Credits
appendix.
A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format. You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.
************************************************************
IMPORTANT:
Bug or error reports should be sent to http://bugs.mysql.com.
************************************************************
************************************************************
THIRD-PARTY SOFTWARE
************************************************************
%%The following software may be included in this product:
FindGTest.cmake (part of CMake 2.8.0)
......
......@@ -27,7 +27,7 @@ AC_PREREQ(2.59)
# Remember to also update version.c in ndb.
# When changing major version number please also check switch statement
# in client/mysqlbinlog.cc:check_master_version().
AC_INIT([MySQL Server], [5.5.99-m3], [], [mysql])
AC_INIT([MySQL Server], [5.6.99-m4], [], [mysql])
AC_CONFIG_SRCDIR([sql/mysqld.cc])
AC_CANONICAL_SYSTEM
# USTAR format gives us the possibility to store longer path names in
......
......@@ -38,6 +38,7 @@ extern "C" {
#define my_wc_t ulong
#define MY_CS_REPLACEMENT_CHARACTER 0xFFFD
/*
On i386 we store Unicode->CS conversion tables for
......
......@@ -4,6 +4,7 @@
binlog.binlog_multi_engine # joro : NDB tests marked as experimental as agreed with bochklin
funcs_1.charset_collation_1 # depends on compile-time decisions
funcs_1.myisam_views @solaris # Bug#50595 2010-03-05 alik funcs_1.myisam_views takes longer time on 6.0 branch than 5.1 branch
main.information_schema # Bug#47449 2009-09-19 alik main.information_schema and innodb.innodb_information_schema fail sporadically
main.lock_multi_bug38499 # Bug#47448 2009-09-19 alik main.lock_multi_bug38499 times out sporadically
......
This diff is collapsed.
This diff is collapsed.
......@@ -2158,6 +2158,10 @@ u_decimal hex(utf8mb4_encoding)
INSERT INTO t1 VALUES (1114111, x'f5808080');
Warnings:
Warning 1366 Incorrect string value: '\xF5\x80\x80\x80' for column 'utf8mb4_encoding' at row 1
SELECT character_maximum_length, character_octet_length FROM information_schema.columns WHERE
table_name= 't1' AND column_name= 'utf8mb4_encoding';
character_maximum_length character_octet_length
10 40
DROP TABLE IF EXISTS t2;
CREATE TABLE t2 (
u_decimal int NOT NULL,
......@@ -2168,20 +2172,197 @@ INSERT INTO t2 VALUES (65131, x'efb9ab');
INSERT INTO t2 VALUES (1114111, x'f48fbfbf');
Warnings:
Warning 1366 Incorrect string value: '\xF4\x8F\xBF\xBF' for column 'utf8mb3_encoding' at row 1
SELECT character_maximum_length, character_octet_length FROM information_schema.columns WHERE
table_name= 't2' AND column_name= 'utf8mb3_encoding';
character_maximum_length character_octet_length
10 30
UPDATE t2 SET utf8mb3_encoding= x'f48fbfbd' where u_decimal= 42856;
Warnings:
Warning 1366 Incorrect string value: '\xF4\x8F\xBF\xBD' for column 'utf8mb3_encoding' at row 1
UPDATE t2 SET utf8mb3_encoding= _utf8mb4 x'ea9da8' where u_decimal= 42856;
SELECT HEX(CONCAT(utf8mb4_encoding, _utf8 x'ea9da8')) FROM t1;
HEX(CONCAT(utf8mb4_encoding, _utf8 x'ea9da8'))
F09D8480EA9DA8
F09D849EEA9DA8
F09D859EEA9DA8
F09D878FEA9DA8
F09D9C9FEA9DA8
F09D9E9FEA9DA8
F48FBFBFEA9DA8
F3A087AFEA9DA8
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9ABEA9DA8
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
EA9DA8
SELECT HEX(CONCAT(utf8mb4_encoding, utf8mb3_encoding)) FROM t1,t2;
HEX(CONCAT(utf8mb4_encoding, utf8mb3_encoding))
F09D8480EA9DA8
F09D8480EFB9AB
F09D8480
F09D849EEA9DA8
F09D849EEFB9AB
F09D849E
F09D859EEA9DA8
F09D859EEFB9AB
F09D859E
F09D878FEA9DA8
F09D878FEFB9AB
F09D878F
F09D9C9FEA9DA8
F09D9C9FEFB9AB
F09D9C9F
F09D9E9FEA9DA8
F09D9E9FEFB9AB
F09D9E9F
F48FBFBFEA9DA8
F48FBFBFEFB9AB
F48FBFBF
F3A087AFEA9DA8
F3A087AFEFB9AB
F3A087AF
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EFB9AB
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9ABEA9DA8
EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9ABEFB9AB
EFB9ABF09D849EF09D859EF09D859EF09D8480F09D859FEFB9ABEFB9ABF09D85A0EFB9AB
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EA9DA8
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480EFB9AB
F09D849EF09D859EF09D859EF09D8480F09D859FF09D859FF09D859FF09D85A0F09D85A0F09D8480
EA9DA8
EFB9AB
SELECT count(*) FROM t1, t2
WHERE t1.utf8mb4_encoding > t2.utf8mb3_encoding;
count(*)
33
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8;
Warnings:
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x80' for column 'utf8mb4_encoding' at row 1
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x9E' for column 'utf8mb4_encoding' at row 2
Warning 1366 Incorrect string value: '\xF0\x9D\x85\x9E' for column 'utf8mb4_encoding' at row 3
Warning 1366 Incorrect string value: '\xF0\x9D\x87\x8F' for column 'utf8mb4_encoding' at row 4
Warning 1366 Incorrect string value: '\xF0\x9D\x9C\x9F' for column 'utf8mb4_encoding' at row 5
Warning 1366 Incorrect string value: '\xF0\x9D\x9E\x9F' for column 'utf8mb4_encoding' at row 6
Warning 1366 Incorrect string value: '\xF4\x8F\xBF\xBF' for column 'utf8mb4_encoding' at row 7
Warning 1366 Incorrect string value: '\xF3\xA0\x87\xAF' for column 'utf8mb4_encoding' at row 8
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x9E\xF0\x9D...' for column 'utf8mb4_encoding' at row 9
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x9E\xF0\x9D...' for column 'utf8mb4_encoding' at row 10
Warning 1366 Incorrect string value: '\xF0\x9D\x84\x9E\xF0\x9D...' for column 'utf8mb4_encoding' at row 11
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
SELECT u_decimal,hex(utf8mb4_encoding),utf8mb4_encoding FROM t1;
u_decimal hex(utf8mb4_encoding) utf8mb4_encoding
119040 3F ?
119070 3F ?
119134 3F ?
119247 3F ?
120607 3F ?
120735 3F ?
1114111 3F ?
917999 3F ?
119070 3F3F3F3F3F3F3F3F3F3F ??????????
65131 EFB9AB3F3F3F3F3FEFB9ABEFB9AB3FEFB9AB ﹫?????﹫﹫?﹫
119070 3F3F3F3F3F3F3F3F3F3F ??????????
1114111
ALTER TABLE t2 CONVERT TO CHARACTER SET utf8mb4;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
42856 EA9DA8
65131 EFB9AB
1114111
ALTER TABLE t2 CONVERT TO CHARACTER SET utf8mb3;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
42856 EA9DA8
65131 EFB9AB
1114111
ALTER TABLE t1 MODIFY utf8mb4_encoding VARCHAR(10) CHARACTER SET utf8mb3;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
119040 3F
119070 3F
119134 3F
119247 3F
120607 3F
120735 3F
1114111 3F
917999 3F
119070 3F3F3F3F3F3F3F3F3F3F
65131 EFB9AB3F3F3F3F3FEFB9ABEFB9AB3FEFB9AB
119070 3F3F3F3F3F3F3F3F3F3F
1114111
ALTER TABLE t1 MODIFY utf8mb4_encoding VARCHAR(10) CHARACTER SET utf8mb4;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`u_decimal` int(11) NOT NULL,
`utf8mb4_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
SELECT u_decimal,hex(utf8mb4_encoding) FROM t1;
u_decimal hex(utf8mb4_encoding)
119040 3F
119070 3F
119134 3F
119247 3F
120607 3F
120735 3F
1114111 3F
917999 3F
119070 3F3F3F3F3F3F3F3F3F3F
65131 EFB9AB3F3F3F3F3FEFB9ABEFB9AB3FEFB9AB
119070 3F3F3F3F3F3F3F3F3F3F
1114111
ALTER TABLE t2 MODIFY utf8mb3_encoding VARCHAR(10) CHARACTER SET utf8mb4;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`u_decimal` int(11) NOT NULL,
`utf8mb3_encoding` varchar(10) CHARACTER SET utf8mb4 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
SELECT u_decimal,hex(utf8mb3_encoding) FROM t2;
u_decimal hex(utf8mb3_encoding)
42856 EA9DA8
65131 EFB9AB
1114111
DROP TABLE IF EXISTS t3;
CREATE TABLE t3 (
u_decimal int NOT NULL,
utf8mb3_encoding VARCHAR(10) NOT NULL
) CHARACTER SET utf8;
INSERT INTO t3 SELECT * FROM t1;
DROP TABLE IF EXISTS t4;
CREATE TABLE t4 (
u_decimal int NOT NULL,
utf8mb4_encoding VARCHAR(10) NOT NULL
) CHARACTER SET utf8mb4;
INSERT INTO t3 SELECT * FROM t2;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
#
# Testing that mixing utf8 and utf8mb4 collations returns utf8mb4
#
......@@ -2231,6 +2412,62 @@ SELECT CONCAT('a', _utf8 '
ERROR HY000: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (utf8_general_ci,COERCIBLE) for operation 'concat'
DROP TABLE t1;
#
# Bug#51675 Server crashes on inserting 4 byte char.
# after ALTER TABLE to 'utf8mb4'
#
SET NAMES utf8;
CREATE TABLE t1 (
subject varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci,
p VARCHAR(15) CHARACTER SET utf8
) DEFAULT CHARSET=latin1;
ALTER TABLE t1 ADD INDEX (subject);
ALTER TABLE t1
DEFAULT CHARACTER SET utf8,
MODIFY subject varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci,
MODIFY p varchar(255) CHARACTER SET utf8;
Warnings:
Warning 1071 Specified key was too long; max key length is 1000 bytes
Warning 1071 Specified key was too long; max key length is 1000 bytes
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`p` varchar(255) DEFAULT NULL,
KEY `subject` (`subject`(250))
) ENGINE=MyISAM DEFAULT CHARSET=utf8
INSERT INTO t1(subject) VALUES ('abcd');
INSERT INTO t1(subject) VALUES(x'f0909080');
DROP TABLE t1;
#
# Bug #51676 Server crashes on SELECT, ORDER BY on 'utf8mb4' column
#
SET NAMES utf8mb4;
CREATE TABLE t1 (
subject varchar(255) character set utf8mb4 collate utf8mb4_unicode_ci,
p varchar(15) character set utf8mb4
) DEFAULT CHARSET=latin1;
INSERT INTO t1(subject) VALUES(0xF0909080);
INSERT INTO t1(subject) VALUES(0x616263F0909080646566);
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`subject` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`p` varchar(15) CHARACTER SET utf8mb4 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t1 ORDER BY 1;
subject p
abc𐐀def NULL
𐐀 NULL
SELECT hex(subject), length(subject), char_length(subject), octet_length(subject) FROM t1 ORDER BY 1;
hex(subject) length(subject) char_length(subject) octet_length(subject)
616263F0909080646566 10 7 10
F0909080 4 1 4
SELECT subject FROM t1 ORDER BY 1;
subject
abc𐐀def
𐐀
DROP TABLE t1;
#
# End of 5.5 tests
#
#
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
select (@err_log:=variable_value)*0 from information_schema.global_variables where variable_name="log_error";
(@err_log:=variable_value)*0
0
select instr(@err_log, "some_random_name5435413.err")>0;
instr(@err_log, "some_random_name5435413.err")>0
1
select (@err_log:=variable_value)*0 from information_schema.global_variables where variable_name="log_error";
(@err_log:=variable_value)*0
0
select instr(@err_log, ".err")>0;
instr(@err_log, ".err")>0
1
select variable_value from information_schema.global_variables where variable_name="log_error";
variable_value
# Use default setting for mysqld processes
!include include/default_mysqld.cnf
[mysqld.1]
log-error=some_random_name5435413
# Test for BUG#51215 "log-error partially works with version 5.5"
# when --log-error is used without argument
# check displayed value. We can check only the base name, the rest
# depends on paths, symbolic links, --vardir, etc...
select (@err_log:=variable_value)*0 from information_schema.global_variables where variable_name="log_error";
select instr(@err_log, "some_random_name5435413.err")>0;
# Check file's existence. The displayed value may be relative or not.
let $err_log=`select @err_log`;
let $err_log_relative=`select instr(@err_log, ".")=1`;
if ($err_log_relative)
{
let $MYSQLD_DATADIR= `SELECT @@datadir`;
file_exists $MYSQLD_DATADIR/$err_log;
}
if (!$err_log_relative)
{
file_exists $err_log;
}
# Use default setting for mysqld processes
!include include/default_mysqld.cnf
[mysqld.1]
log-error
# Test for BUG#51215 "log-error partially works with version 5.5"
# when --log-error is used without argument
# check displayed value. We can check only the suffix, because
# the rest depends on paths, symbolic links, --vardir, etc...
select (@err_log:=variable_value)*0 from information_schema.global_variables where variable_name="log_error";
select instr(@err_log, ".err")>0;
# Check file's existence. The displayed value may be relative or not.
let $err_log=`select @err_log`;
let $err_log_relative=`select instr(@err_log, ".")=1`;
if ($err_log_relative)
{
let $MYSQLD_DATADIR= `SELECT @@datadir`;
file_exists $MYSQLD_DATADIR/$err_log;
}
if (!$err_log_relative)
{
file_exists $err_log;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment