mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge branch '10.6' into 10.11
This commit is contained in:
@ -192,13 +192,20 @@ ELSE()
|
||||
SET (SKIP_COMPONENTS "N-O-N-E")
|
||||
ENDIF()
|
||||
|
||||
OPTION(NOT_FOR_DISTRIBUTION "Allow linking with GPLv2-incompatible system libraries. Only set it you never plan to distribute the resulting binaries" OFF)
|
||||
|
||||
IF("${MYSQL_NO_DASH_VERSION}" VERSION_LESS 11.2)
|
||||
SET(MEMPROTECT_DEFAULT ON)
|
||||
ELSE()
|
||||
SET(MEMPROTECT_DEFAULT OFF)
|
||||
ENDIF()
|
||||
|
||||
OPTION(WITH_PROTECT_STATEMENT_MEMROOT "Enable protection of statement's memory root after first SP/PS execution. Turned into account only for debug build"
|
||||
${MEMPROTECT_DEFAULT})
|
||||
|
||||
#
|
||||
# Enable protection of statement's memory root after first SP/PS execution.
|
||||
# Can be switched on only for debug build.
|
||||
#
|
||||
OPTION(WITH_PROTECT_STATEMENT_MEMROOT "Enable protection of statement's memory root after first SP/PS execution. Turned into account only for debug build" OFF)
|
||||
IF (WITH_PROTECT_STATEMENT_MEMROOT)
|
||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DPROTECT_STATEMENT_MEMROOT")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DPROTECT_STATEMENT_MEMROOT")
|
||||
|
@ -17,7 +17,9 @@
|
||||
#
|
||||
# Galera library does not compile with windows
|
||||
#
|
||||
IF (NOT WITHOUT_SERVER)
|
||||
IF(WITHOUT_SERVER)
|
||||
OPTION(WITH_WSREP "Galera server compatibility in build client utilities" ON)
|
||||
ELSE()
|
||||
IF(UNIX)
|
||||
SET(with_wsrep_default ON)
|
||||
ELSE()
|
||||
@ -67,4 +69,4 @@ ENDIF()
|
||||
IF (NOT WIN32)
|
||||
ADD_FEATURE_INFO(WSREP WITH_WSREP "WSREP replication API (to use, e.g. Galera Replication library)")
|
||||
ENDIF()
|
||||
ENDIF(NOT WITHOUT_SERVER)
|
||||
ENDIF(WITHOUT_SERVER)
|
||||
|
@ -1293,11 +1293,9 @@ INSERT INTO t1 (s1) VALUES
|
||||
(_ucs2 0x101C1000103A10181000103A),
|
||||
(_ucs2 0x101C103910181000103A /* tea */);
|
||||
|
||||
# enable view-protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) FROM t1 ORDER BY id;
|
||||
--enable_view_protocol
|
||||
--disable_service_connection
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) as exp FROM t1 ORDER BY id;
|
||||
--enable_service_connection
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
|
@ -1,7 +1,3 @@
|
||||
#remove this include after fix MDEV-27871
|
||||
# maybe some tests need to be excluded separately after fix
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
SET TIME_ZONE = _latin1 '+03:00';
|
||||
|
||||
--echo #
|
||||
@ -464,6 +460,7 @@ show create table t1;
|
||||
drop table t1;
|
||||
|
||||
--disable_ps2_protocol
|
||||
--disable_view_protocol
|
||||
# Ensure that row_count() value is reset after drop table.
|
||||
select 1;
|
||||
select hex(concat(row_count()));
|
||||
@ -475,6 +472,7 @@ select hex(concat(found_rows()));
|
||||
create table t1 as select concat(found_rows()) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
--enable_view_protocol
|
||||
--enable_ps2_protocol
|
||||
|
||||
create table t1 as select concat(uuid_short()) as c1;
|
||||
@ -664,71 +662,71 @@ create table t1 as select concat(Dimension(GeomFromText('LINSTRING(0 0,10 10)'))
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
@ -874,7 +872,7 @@ create table t1 as select concat(sec_to_time(2378)) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
@ -894,12 +892,12 @@ create table t1 as select concat(from_unixtime(1111885200)) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
select * from t1;
|
||||
@ -1646,9 +1644,11 @@ INSERT INTO t1 VALUES (1234567);
|
||||
SELECT GROUP_CONCAT(IFNULL(a,'')) FROM t1;
|
||||
SELECT GROUP_CONCAT(IF(a,a,'')) FROM t1;
|
||||
SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
|
||||
--disable_view_protocol
|
||||
--enable_metadata
|
||||
SELECT COALESCE(a,'') FROM t1 GROUP BY 1;
|
||||
--disable_metadata
|
||||
--enable_view_protocol
|
||||
--echo # All columns must be VARCHAR(9) with the same length:
|
||||
--disable_warnings
|
||||
CREATE TABLE t2 AS
|
||||
@ -1764,15 +1764,17 @@ SELECT
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
--enable_metadata
|
||||
# PS protocol gives different "Max length" value for DATETIME.
|
||||
--disable_ps_protocol
|
||||
--disable_view_protocol
|
||||
--enable_metadata
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
--disable_metadata
|
||||
--enable_view_protocol
|
||||
--enable_ps_protocol
|
||||
SELECT
|
||||
HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
|
||||
|
@ -52,14 +52,13 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # IF, CASE, LEAST
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
eval SELECT IF('abc' COLLATE $coll = 'abc ', 'pad', 'nopad');
|
||||
eval SELECT CASE 'abc' COLLATE $coll WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
eval SELECT CASE WHEN 'abc' COLLATE $coll = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
eval SELECT HEX(LEAST('abc ' COLLATE $coll, 'abc '));
|
||||
eval SELECT HEX(GREATEST('abc ' COLLATE $coll, 'abc '));
|
||||
--enable_view_protocol
|
||||
|
||||
eval SELECT IF('abc' COLLATE $coll = 'abc ', 'pad', 'nopad') as exp;
|
||||
eval SELECT CASE 'abc' COLLATE $coll WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
eval SELECT CASE WHEN 'abc' COLLATE $coll = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
eval SELECT HEX(LEAST('abc ' COLLATE $coll, 'abc ')) as exp;
|
||||
eval SELECT HEX(GREATEST('abc ' COLLATE $coll, 'abc ')) as exp;
|
||||
|
||||
--echo #
|
||||
--echo # Collation mix
|
||||
--echo #
|
||||
|
@ -3,10 +3,7 @@
|
||||
--echo #
|
||||
|
||||
SELECT @@character_set_connection, HEX(CAST(_utf8'÷' AS CHAR));
|
||||
# enable view-protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR));
|
||||
--enable_view_protocol
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR)) as exp;
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 64) AS subject, REPEAT(' ',64) AS pattern LIMIT 0;
|
||||
SHOW COLUMNS FROM t1;
|
||||
INSERT INTO t1 VALUES (_utf8'2001÷01÷01',_utf8'%Y÷%m÷%d');
|
||||
|
@ -2,11 +2,6 @@
|
||||
# Tests with the utf8mb4 character set
|
||||
#
|
||||
|
||||
# Tests will be skipped for the view protocol because the view protocol uses
|
||||
# an additional util connection and don't use for this nessesary configurations
|
||||
# Also need to resolve MDEV-27871
|
||||
-- source include/no_view_protocol.inc
|
||||
|
||||
--source include/default_optimizer_switch.inc
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2;
|
||||
@ -31,26 +26,26 @@ select locate('HE','hello' collate utf8mb4_bin);
|
||||
select locate('HE','hello' collate utf8mb4_bin,2);
|
||||
select locate('LO','hello' collate utf8mb4_bin,2);
|
||||
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2);
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2);
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2);
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin);
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin);
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2) as exp;
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2) as exp;
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2) as exp;
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin) as exp;
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin) as exp;
|
||||
|
||||
select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1);
|
||||
select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1) as exp;
|
||||
|
||||
select 'a' like 'a';
|
||||
select 'A' like 'a';
|
||||
select 'A' like 'a' collate utf8mb4_bin;
|
||||
select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%');
|
||||
select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%') as exp;
|
||||
|
||||
# Bug #6040: can't retrieve records with umlaut
|
||||
# characters in case insensitive manner.
|
||||
# Case insensitive search LIKE comparison
|
||||
# was broken for multibyte characters:
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8mb4) like CONVERT(_latin1'G<>NTER%' USING utf8mb4);
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4);
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4);
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8mb4) like CONVERT(_latin1'G<>NTER%' USING utf8mb4) as exp;
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) as exp;
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) as exp;
|
||||
|
||||
#
|
||||
# Check the following:
|
||||
@ -666,6 +661,7 @@ DROP TABLE t1;
|
||||
#
|
||||
# Bug #6043 erratic searching for diacriticals in indexed MyISAM UTF-8 table
|
||||
#
|
||||
--disable_service_connection
|
||||
SET NAMES latin1;
|
||||
eval CREATE TABLE t1 (
|
||||
id int unsigned NOT NULL auto_increment,
|
||||
@ -682,6 +678,7 @@ SELECT id, term FROM t1 where (list_id = 1) AND (term = "testetest");
|
||||
SELECT id, term FROM t1 where (list_id = 1) AND (term = "test<EFBFBD>test");
|
||||
DROP TABLE t1;
|
||||
}
|
||||
--enable_service_connection
|
||||
|
||||
#
|
||||
# Bug #6019 SELECT tries to use too short prefix index on utf8mb4 data
|
||||
@ -747,10 +744,10 @@ drop table t1;
|
||||
#
|
||||
# Bug#22638 SOUNDEX broken for international characters
|
||||
#
|
||||
select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
|
||||
select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
|
||||
select soundex(_utf8mb4 0xD091D092D093);
|
||||
select hex(soundex(_utf8mb4 0xD091D092D093));
|
||||
select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB) as exp;
|
||||
select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)) as exp;
|
||||
select soundex(_utf8mb4 0xD091D092D093) as exp;
|
||||
select hex(soundex(_utf8mb4 0xD091D092D093)) as exp;
|
||||
|
||||
|
||||
SET collation_connection='utf8mb4_general_ci';
|
||||
@ -786,7 +783,7 @@ drop table t1;
|
||||
#
|
||||
# Bug#8385: utf8mb4_general_ci treats Cyrillic letters I and SHORT I as the same
|
||||
#
|
||||
select convert(_koi8r'<27>' using utf8mb4) < convert(_koi8r'<27>' using utf8mb4);
|
||||
select convert(_koi8r'<27>' using utf8mb4) < convert(_koi8r'<27>' using utf8mb4) as exp;
|
||||
|
||||
#
|
||||
# Bugs#5980: NULL requires a characterset in a union
|
||||
@ -1191,6 +1188,7 @@ DROP TABLE t1;
|
||||
# (see bug #16674 as well)
|
||||
#
|
||||
|
||||
--disable_service_connection
|
||||
SET NAMES latin2;
|
||||
|
||||
if (!$is_heap)
|
||||
@ -1220,6 +1218,7 @@ SELECT * FROM t1 WHERE tid=72 and val LIKE 'VOLN
|
||||
|
||||
DROP TABLE t1;
|
||||
}
|
||||
--enable_service_connection
|
||||
|
||||
#
|
||||
# Bug 20709: problem with utf8mb4 fields in temporary tables
|
||||
@ -1420,8 +1419,11 @@ set names utf8mb4;
|
||||
eval create table t1 (a varchar(10) character set latin1, b int) engine $engine;
|
||||
insert into t1 values ('a',1);
|
||||
select concat(a, if(b>10, N'x', N'y')) from t1;
|
||||
#Incorrect collation in error message with view protocol
|
||||
--disable_view_protocol
|
||||
--error 1267
|
||||
select concat(a, if(b>10, N'æ', N'ß')) from t1;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
||||
# Conversion tests for character set introducers
|
||||
|
@ -1,17 +1,15 @@
|
||||
SET SESSION character_set_connection=latin2;
|
||||
SET SESSION character_set_client=cp1250;
|
||||
|
||||
--disable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # Test litteral
|
||||
--echo #
|
||||
|
||||
#enable view protocol after fix MDEV-27871 and
|
||||
# it is necessary that the view protocol uses the same connection,
|
||||
# not util connection
|
||||
# For "--view-protocol" NULLIF('','') converts to nullif(NULL,NULL)
|
||||
# in view definition and CHARSET(nullif(NULL,NULL)) returns 'binary'.
|
||||
# Also view does not allow columns with the same name,
|
||||
# so it uses generated names
|
||||
--disable_view_protocol
|
||||
|
||||
SET sql_mode=@mode;
|
||||
select @@sql_mode;
|
||||
SELECT '',CHARSET(''), null, CHARSET(null), CAST(null as char(10)), CHARSET(CAST(null as char(10))), 'x', CHARSET('x');
|
||||
@ -21,7 +19,6 @@ SELECT '',CHARSET(''), null, CHARSET(null), CAST(null as char(10)), CHARSET(CAST
|
||||
SELECT CHARSET(NULLIF('','')),NULLIF('','');
|
||||
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Test NCHAR litteral
|
||||
--echo #
|
||||
@ -33,7 +30,6 @@ SELECT N'',CHARSET(N''), N'x', CHARSET(N'x');
|
||||
SELECT CHARSET(NULLIF(N'',N'')),NULLIF(N'',N'');
|
||||
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Test CHARSET prefix litteral
|
||||
--echo #
|
||||
@ -63,12 +59,12 @@ SELECT '' '' '';
|
||||
SELECT '' '' '',CHARSET('' '' '');
|
||||
SELECT _latin1'' '' '',CHARSET(_latin1'' '' '');
|
||||
SELECT N'' '' '',CHARSET(N'' '' '');
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # UNION - implicit group by
|
||||
--echo #
|
||||
--disable_service_connection
|
||||
SELECT 1, null
|
||||
UNION
|
||||
SELECT 1 , ''
|
||||
@ -84,16 +80,10 @@ UNION
|
||||
SELECT 1 , _cp1250 ''
|
||||
ORDER BY 1;
|
||||
|
||||
# it is necessary that the view protocol uses the same connection,
|
||||
# not util connection
|
||||
--disable_view_protocol
|
||||
|
||||
SELECT NULLIF(_cp1250 '',_cp1250 '')
|
||||
UNION
|
||||
SELECT NULLIF(N'',N'');
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
--error ER_CANT_AGGREGATE_2COLLATIONS
|
||||
SELECT 1 , _latin2 ''
|
||||
UNION
|
||||
@ -131,5 +121,4 @@ EXPLAIN EXTENDED SELECT '';
|
||||
EXPLAIN EXTENDED SELECT _latin1'';
|
||||
EXPLAIN EXTENDED SELECT N'';
|
||||
EXPLAIN EXTENDED SELECT '' '';
|
||||
|
||||
--enable_service_connection
|
||||
|
@ -119,28 +119,25 @@ CALL p1(-1, 'GeometryCollection(Point(9 9),LineString(1 5,0 0),Polygon((2 2,2 8,
|
||||
|
||||
--enable_query_log
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT ST_CONTAINS(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)'));
|
||||
GeomFromText('POINT(5 10)')) as geom;
|
||||
SELECT AsText(ST_UNION(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)')));
|
||||
GeomFromText('POINT(5 10)'))) as geom;
|
||||
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #13833019 ASSERTION `T1->RESULT_RANGE' FAILED IN GCALC_OPERATION_REDUCER::END_COUPLE
|
||||
--echo #
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3));
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3)) as geom;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #13832749 HANDLE_FATAL_SIGNAL IN GCALC_FUNCTION::COUNT_INTERNAL
|
||||
--echo #
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1));
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1)) as geom;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # Bug#13358363 - ASSERTION: N > 0 && N < SINUSES_CALCULATED*2+1 | GET_N_SINCOS/ADD_EDGE_BUFFER
|
||||
@ -148,22 +145,19 @@ SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3
|
||||
|
||||
DO ST_BUFFER(ST_GEOMCOLLFROMTEXT('linestring(1 1,2 2)'),'');
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
SELECT ST_WITHIN(
|
||||
LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
|
||||
ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) '))));
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) ')))) as st;
|
||||
|
||||
SELECT ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))));
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))')))) as st;
|
||||
|
||||
SELECT ST_NUMINTERIORRINGS(
|
||||
ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))));
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) '))))) as st;
|
||||
|
||||
SELECT ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))));
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) ')))) as st;
|
||||
|
||||
--enable_view_protocol
|
||||
|
@ -301,31 +301,28 @@ select count(*) from t0;
|
||||
|
||||
# Test for BUG#4177
|
||||
|
||||
# enable view-protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
drop table t4;
|
||||
create table t4 (a int);
|
||||
insert into t4 values (1),(4),(3);
|
||||
set @save_join_buffer_size=@@join_buffer_size;
|
||||
set join_buffer_size= 4096;
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A force index(i1,i2), t0 as B force index (i1,i2)
|
||||
where (A.key1 < 500000 or A.key2 < 3)
|
||||
and (B.key1 < 500000 or B.key2 < 3);
|
||||
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A force index(i1,i2), t0 as B force index (i1,i2)
|
||||
where (A.key1 < 500000 or A.key2 < 3)
|
||||
and (B.key1 < 500000 or B.key2 < 3);
|
||||
|
||||
update t0 set key1=1;
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A force index(i1,i2), t0 as B force index (i1,i2)
|
||||
where (A.key1 = 1 or A.key2 = 1)
|
||||
and (B.key1 = 1 or B.key2 = 1);
|
||||
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A force index(i1,i2), t0 as B force index (i1,i2)
|
||||
where (A.key1 = 1 or A.key2 = 1)
|
||||
and (B.key1 = 1 or B.key2 = 1);
|
||||
@ -338,12 +335,12 @@ update t0 set key2=1, key3=1, key4=1, key5=1,key6=1,key7=1 where key7 < 500;
|
||||
# scan cost estimates depend on ha_myisam::ref_length)
|
||||
--replace_column 9 #
|
||||
--replace_result "4,4,4,4,4,4,4" X "4,4,4,4,4,4" X "i6,i7" "i6,i7?" "i6" "i6,i7?"
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A straight_join t0 as B
|
||||
where (A.key1 = 1 and A.key2 = 1 and A.key3 = 1 and A.key4=1 and A.key5=1 and A.key6=1 and A.key7 = 1 or A.key8=1)
|
||||
and (B.key1 = 1 and B.key2 = 1 and B.key3 = 1 and B.key4=1 and B.key5=1 and B.key6=1 and B.key7 = 1 or B.key8=1);
|
||||
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A straight_join t0 as B
|
||||
where (A.key1 = 1 and A.key2 = 1 and A.key3 = 1 and A.key4=1 and A.key5=1 and A.key6=1 and A.key7 = 1 or A.key8=1)
|
||||
and (B.key1 = 1 and B.key2 = 1 and B.key3 = 1 and B.key4=1 and B.key5=1 and B.key6=1 and B.key7 = 1 or B.key8=1);
|
||||
@ -353,8 +350,6 @@ set join_buffer_size= @save_join_buffer_size;
|
||||
|
||||
drop table t0, t1, t2, t3, t4;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
# BUG#16166
|
||||
CREATE TABLE t1 (
|
||||
cola char(3) not null, colb char(3) not null, filler char(200),
|
||||
|
@ -88,10 +88,13 @@ set optimizer_trace=1;
|
||||
explain
|
||||
select * from t10, t1 where t10.mb4=t1.mb3 and t10.pk=3;
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select
|
||||
json_detailed(json_extract(trace, '$**.range_scan_alternatives')) as JS
|
||||
from
|
||||
information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
select * from t10, t1 where t10.mb4=t1.mb3 and t10.pk=3;
|
||||
|
||||
@ -121,12 +124,15 @@ select * from t10, t2 where t2.mb4>t10.mb4 and t10.pk=3;
|
||||
|
||||
--echo # - ref acccess lookup keys do use equality substitution,
|
||||
--echo # - concat() arguments don't
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
explain format=json
|
||||
select straight_join * from t10,t1 force index(mb3),t2
|
||||
where
|
||||
t1.mb3=t2.mb4 and t2.mb4=t10.mb4 and concat(t1.mb3, t2.mb4, t10.mb4)<>'Bebebe';
|
||||
select json_detailed(json_extract(trace, '$**.condition_processing')) as JS
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
select straight_join * from t10,t1 force index(mb3),t2
|
||||
where
|
||||
@ -140,8 +146,11 @@ where
|
||||
t1.mb3=t2.mb4 and t2.mb4=t10.mb4 and t10.mb4='hello' and
|
||||
concat(t1.mb3, t2.mb4, t10.mb4)<>'Bebebe';
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.condition_processing')) as JS
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t2;
|
||||
drop table t1, t10;
|
||||
|
@ -5115,20 +5115,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5253,20 +5253,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5392,20 +5392,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5530,20 +5530,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -1131,8 +1131,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1141,8 +1141,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))))
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1151,8 +1151,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1161,8 +1161,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))))
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1171,8 +1171,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1181,8 +1181,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsSimple(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1191,8 +1191,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(2) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))))
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1201,13 +1201,13 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(2) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))))
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(x(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1216,8 +1216,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(y(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1226,8 +1226,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))))
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1236,8 +1236,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))))
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1246,8 +1246,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(GeometryType(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E54
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1256,8 +1256,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(AsText(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E542831203229
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1526,8 +1526,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')))
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
exp
|
||||
32343A30303A3030
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
@ -1566,8 +1566,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')))
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
exp
|
||||
323030332D31322D33312032303A30303A3030
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
@ -1576,8 +1576,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)))
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
exp
|
||||
323030342D30312D30322031323A30303A3030
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
|
@ -1,7 +1,3 @@
|
||||
|
||||
#remove this include after fix MDEV-27871
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
set names binary;
|
||||
|
||||
--source include/ctype_numconv.inc
|
||||
@ -234,22 +230,30 @@ SET NAMES latin1,character_set_connection=binary;
|
||||
--echo # Binary format, binary result
|
||||
SELECT DATE_FORMAT('2004-02-02','%W');
|
||||
SELECT HEX(DATE_FORMAT('2004-02-02','%W'));
|
||||
#Enable after fix MDEV-33936
|
||||
--disable_view_protocol
|
||||
SELECT DATE_FORMAT(TIME'-01:01:01','%h');
|
||||
SELECT HEX(DATE_FORMAT(TIME'-01:01:01','%h'));
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # latin1 format, binary result
|
||||
SELECT DATE_FORMAT('2004-02-02',_latin1'%W');
|
||||
SELECT HEX(DATE_FORMAT('2004-02-02',_latin1'%W'));
|
||||
#Enable after fix MDEV-33936
|
||||
--disable_view_protocol
|
||||
SELECT DATE_FORMAT(TIME'-01:01:01',_latin1'%h');
|
||||
SELECT HEX(DATE_FORMAT(TIME'-01:01:01',_latin1'%h'));
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # Binary format, latin1 result
|
||||
SET NAMES latin1;
|
||||
SELECT DATE_FORMAT('2004-02-02',_binary'%W');
|
||||
SELECT HEX(DATE_FORMAT('2004-02-02',_binary'%W'));
|
||||
#Enable after fix MDEV-33936
|
||||
--disable_view_protocol
|
||||
SELECT DATE_FORMAT(TIME'-01:01:01',_binary'%h');
|
||||
SELECT HEX(DATE_FORMAT(TIME'-01:01:01',_binary'%h'));
|
||||
|
||||
--enable_view_protocol
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
--echo #
|
||||
|
@ -1543,8 +1543,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1553,8 +1553,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))))
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1563,8 +1563,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1573,8 +1573,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))))
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1583,8 +1583,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1593,8 +1593,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(21) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsSimple(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1603,8 +1603,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))))
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1613,13 +1613,13 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))))
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(x(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1628,8 +1628,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(y(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1638,8 +1638,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))))
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1648,8 +1648,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))))
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1658,8 +1658,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(GeometryType(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E54
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1668,8 +1668,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(20) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(AsText(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E542831203229
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1938,8 +1938,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')))
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
exp
|
||||
32343A30303A3030
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
@ -1978,8 +1978,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')))
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
exp
|
||||
323030332D31322D33312032303A30303A3030
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
@ -1988,8 +1988,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)))
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
exp
|
||||
323030342D30312D30322031323A30303A3030
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
|
@ -135,20 +135,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -273,20 +273,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -412,20 +412,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -550,20 +550,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -4,9 +4,6 @@
|
||||
--echo # USED.
|
||||
--echo #
|
||||
|
||||
#remove this include in 10.6 version
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
SET @old_character_set_client= @@character_set_client;
|
||||
SET @old_character_set_connection= @@character_set_connection;
|
||||
SET @old_character_set_results= @@character_set_results;
|
||||
|
@ -34304,20 +34304,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -34442,20 +34442,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -34581,20 +34581,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -34719,20 +34719,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -25817,20 +25817,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -25955,20 +25955,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -26094,20 +26094,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -26232,20 +26232,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -4805,20 +4805,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -4943,20 +4943,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5082,20 +5082,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5220,20 +5220,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -6273,20 +6273,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gbk_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gbk_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gbk_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -6411,20 +6411,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gbk_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gbk_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gbk_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -6550,20 +6550,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gbk_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gbk_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gbk_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gbk_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gbk_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gbk_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gbk_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gbk_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gbk_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -6688,20 +6688,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gbk_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gbk_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gbk_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gbk_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gbk_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gbk_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gbk_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gbk_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gbk_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -449,13 +449,10 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # MDEV-7661 Unexpected result for: CAST(0xHHHH AS CHAR CHARACTER SET xxx) for incorrect byte sequences
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
set sql_mode='';
|
||||
SELECT HEX(CAST(0xA341 AS CHAR CHARACTER SET gb2312)) as exp;
|
||||
SELECT HEX(CONVERT(CAST(0xA341 AS CHAR CHARACTER SET gb2312) USING utf8)) as exp;
|
||||
set sql_mode=default;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.1 tests
|
||||
|
@ -518,8 +518,8 @@ SELECT '\%b' LIKE '%\%';
|
||||
SELECT @@character_set_connection, HEX(CAST(_utf8'÷' AS CHAR));
|
||||
@@character_set_connection HEX(CAST(_utf8'÷' AS CHAR))
|
||||
latin1 F7
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR));
|
||||
STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR))
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR)) as exp;
|
||||
exp
|
||||
2001-01-01
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 64) AS subject, REPEAT(' ',64) AS pattern LIMIT 0;
|
||||
SHOW COLUMNS FROM t1;
|
||||
@ -1852,8 +1852,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1862,8 +1862,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))))
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1872,8 +1872,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1882,8 +1882,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))))
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1892,8 +1892,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1902,8 +1902,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsSimple(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1912,8 +1912,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))))
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1922,13 +1922,13 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))))
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(x(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1937,8 +1937,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(y(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1947,8 +1947,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))))
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1957,8 +1957,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))))
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1967,8 +1967,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(GeometryType(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E54
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1977,8 +1977,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(AsText(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E542831203229
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2247,8 +2247,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')))
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
exp
|
||||
32343A30303A3030
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
@ -2287,8 +2287,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')))
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
exp
|
||||
323030332D31322D33312032303A30303A3030
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
@ -2297,8 +2297,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)))
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
exp
|
||||
323030342D30312D30322031323A30303A3030
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
@ -8404,20 +8404,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'latin1_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'latin1_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'latin1_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -8542,20 +8542,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'latin1_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'latin1_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'latin1_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -8681,20 +8681,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'latin1_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'latin1_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'latin1_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'latin1_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'latin1_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'latin1_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'latin1_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'latin1_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'latin1_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -8819,20 +8819,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'latin1_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'latin1_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'latin1_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'latin1_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'latin1_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'latin1_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'latin1_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'latin1_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'latin1_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -139,8 +139,10 @@ select hex(cast(_ascii 0x7f as char(1) character set latin1));
|
||||
--echo #
|
||||
--echo # Bug#58022 ... like ... escape export_set ( ... ) crashes when export_set returns warnings
|
||||
--echo #
|
||||
#view-protocol doubles warning message
|
||||
--disable_view_protocol
|
||||
SELECT '' LIKE '' ESCAPE EXPORT_SET(1, 1, 1, 1, '');
|
||||
|
||||
--enable_view_protocol
|
||||
--echo End of 5.1 tests
|
||||
|
||||
|
||||
@ -223,6 +225,8 @@ SET NAMES latin1 COLLATE latin1_bin;
|
||||
--echo # MDEV-6752 Trailing incomplete characters are not replaced to question marks on conversion
|
||||
--echo #
|
||||
SET NAMES utf8, character_set_connection=latin1;
|
||||
|
||||
--disable_service_connection
|
||||
SELECT '<27>';
|
||||
SELECT HEX('<27>');
|
||||
SELECT HEX(CAST('<27>' AS CHAR CHARACTER SET utf8));
|
||||
@ -241,6 +245,7 @@ INSERT IGNORE INTO t1 VALUES ('
|
||||
SHOW WARNINGS;
|
||||
SELECT HEX(a),a FROM t1;
|
||||
DROP TABLE t1;
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-7629 Regression: Bit and hex string literals changed column names in 10.0.14
|
||||
|
@ -83,50 +83,50 @@ select * from t1 where c1='b';
|
||||
c1
|
||||
a
|
||||
drop table t1;
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci));
|
||||
hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
120F
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
314A
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
|
||||
hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci) hex(lower(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci) exp
|
||||
F0909080 F09090A8
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
|
||||
hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci) hex(upper(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci) exp
|
||||
F09090A8 F0909080
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
|
||||
hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci) hex(lower(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci) exp
|
||||
E2B080 E2B0B0
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
|
||||
hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci) hex(upper(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci) exp
|
||||
E2B0B0 E2B080
|
||||
SELECT hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
120F
|
||||
SELECT hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
120F
|
||||
SELECT hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
120F
|
||||
SELECT hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
30D2
|
||||
SELECT hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
30D2
|
||||
SELECT hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci));
|
||||
hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
1250
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
1251
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
1251
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
1251
|
||||
CREATE TABLE t1 (
|
||||
col1 varchar(100) character set utf8 collate utf8_test_ci
|
||||
@ -533,23 +533,23 @@ show collation like 'utf8mb3_phone_ci';
|
||||
Collation Charset Id Default Compiled Sortlen
|
||||
utf8mb3_phone_ci utf8mb3 352 8
|
||||
SET NAMES utf8;
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci));
|
||||
hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci))
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci)) as exp;
|
||||
exp
|
||||
0E33
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci));
|
||||
hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci)) as exp;
|
||||
exp
|
||||
FFFD
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
|
||||
hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci) hex(lower(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci) exp
|
||||
F0909080 F0909080
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
|
||||
hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci) hex(upper(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci) exp
|
||||
F09090A8 F09090A8
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
|
||||
hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci) hex(lower(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci) exp
|
||||
E2B080 E2B080
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
|
||||
hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci) hex(upper(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci) exp
|
||||
E2B0B0 E2B0B0
|
||||
#
|
||||
# WL#5624 Collation customization improvements
|
||||
@ -1019,9 +1019,9 @@ HEX(WEIGHT_STRING(a)) HEX(CONVERT(a USING ucs2)) HEX(a)
|
||||
15D3 09B809CD E0A6B8E0A78D
|
||||
15D4 09B909CD E0A6B9E0A78D
|
||||
SELECT HEX(WEIGHT_STRING(a)) as wa,
|
||||
GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a)
|
||||
GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a) as ha
|
||||
FROM t1 GROUP BY a ORDER BY a;
|
||||
wa GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a)
|
||||
wa ha
|
||||
15A2 0985
|
||||
15A3 0986
|
||||
15A4 0987
|
||||
|
@ -3,9 +3,6 @@
|
||||
--source include/have_utf16.inc
|
||||
--source include/have_utf32.inc
|
||||
|
||||
#remove this include after fix MDEV-27871
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
--disable_query_log
|
||||
call mtr.add_suppression("Charset id.*trying to replace");
|
||||
--enable_query_log
|
||||
@ -70,25 +67,25 @@ select * from t1 where c1='b';
|
||||
drop table t1;
|
||||
|
||||
# make sure utf8_test_ci is Unicode-5.0.0
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a)) as exp;
|
||||
|
||||
# check that it works with supplementary characters
|
||||
SELECT hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
|
||||
# check contractions with non-ascii characters
|
||||
SELECT hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
|
||||
|
||||
#
|
||||
@ -189,10 +186,12 @@ show collation like '%test%';
|
||||
show collation like 'ucs2_vn_ci';
|
||||
create table t1 (c1 char(1) character set ucs2 collate ucs2_vn_ci);
|
||||
insert into t1 values (0x0061);
|
||||
--disable_view_protocol
|
||||
--enable_metadata
|
||||
set @@character_set_results=NULL;
|
||||
select * from t1;
|
||||
--disable_metadata
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
@ -212,12 +211,12 @@ show collation like 'utf8mb3_phone_ci';
|
||||
SET NAMES utf8;
|
||||
|
||||
# make sure utf8mb4_test_400_ci is Unicode-4.0.0 based
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci));
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a)) as exp;
|
||||
|
||||
--echo #
|
||||
--echo # WL#5624 Collation customization improvements
|
||||
@ -281,9 +280,14 @@ DROP TABLE t1;
|
||||
SET NAMES utf8 COLLATE utf8_5624_2;
|
||||
SHOW WARNINGS;
|
||||
|
||||
# "--view-protocol" generates a dublicate error message in ctype_ldml_log.err
|
||||
# In one of the following cases, the number of similar error messages is counted,
|
||||
# so doubling the error causes the case to fail
|
||||
--disable_view_protocol
|
||||
--error ER_UNKNOWN_COLLATION
|
||||
SELECT _utf8'test' COLLATE utf8_5624_2;
|
||||
SHOW WARNINGS;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # WL#5624, reset before primary ignorable
|
||||
@ -354,7 +358,7 @@ INSERT INTO t1 VALUES
|
||||
SELECT HEX(WEIGHT_STRING(a)), HEX(CONVERT(a USING ucs2)), HEX(a)
|
||||
FROM t1 ORDER BY a, BINARY(a);
|
||||
SELECT HEX(WEIGHT_STRING(a)) as wa,
|
||||
GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a)
|
||||
GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a) as ha
|
||||
FROM t1 GROUP BY a ORDER BY a;
|
||||
DROP TABLE t1;
|
||||
|
||||
@ -406,7 +410,6 @@ perl;
|
||||
close(FILE);
|
||||
EOF
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-8686 A user defined collation utf8_confusables doesn't work
|
||||
--echo #
|
||||
@ -509,6 +512,7 @@ SELECT HEX(a), REPLACE(a,' ','<SP>') FROM t1 ORDER BY a DESC;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--disable_service_connection
|
||||
SET NAMES utf8 COLLATE utf8_czech_test_w2;
|
||||
CREATE TABLE t1 AS SELECT SPACE(10) AS c1 LIMIT 0;
|
||||
--source include/ctype_unicode_latin.inc
|
||||
@ -610,6 +614,7 @@ SELECT 'chž'< 'i';
|
||||
|
||||
--error ER_UNKNOWN_COLLATION
|
||||
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.2 tests
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -218,8 +218,8 @@ DROP TABLE t1;
|
||||
SELECT @@character_set_connection, HEX(CAST(_utf8'÷' AS CHAR));
|
||||
@@character_set_connection HEX(CAST(_utf8'÷' AS CHAR))
|
||||
sjis 8180
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR));
|
||||
STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR))
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR)) as exp;
|
||||
exp
|
||||
2001-01-01
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 64) AS subject, REPEAT(' ',64) AS pattern LIMIT 0;
|
||||
SHOW COLUMNS FROM t1;
|
||||
@ -19109,20 +19109,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -19247,20 +19247,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -19386,20 +19386,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -19524,20 +19524,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -3173,20 +3173,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -3311,20 +3311,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -3450,20 +3450,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -3588,20 +3588,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -4001,20 +4001,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -4139,20 +4139,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -4278,20 +4278,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -4416,20 +4416,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -10021,8 +10021,8 @@ INSERT INTO t1 (s1) VALUES
|
||||
(_ucs2 0x1011103910191004103A1038 /* cooked rice */),
|
||||
(_ucs2 0x101C1000103A10181000103A),
|
||||
(_ucs2 0x101C103910181000103A /* tea */);
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) FROM t1 ORDER BY id;
|
||||
id IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2))))
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) as exp FROM t1 ORDER BY id;
|
||||
id exp
|
||||
1 2259 108C
|
||||
2 22593ACB 1037
|
||||
3 22593ACC 1038
|
||||
@ -12597,8 +12597,8 @@ INSERT INTO t1 (s1) VALUES
|
||||
(_ucs2 0x1011103910191004103A1038 /* cooked rice */),
|
||||
(_ucs2 0x101C1000103A10181000103A),
|
||||
(_ucs2 0x101C103910181000103A /* tea */);
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) FROM t1 ORDER BY id;
|
||||
id IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2))))
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) as exp FROM t1 ORDER BY id;
|
||||
id exp
|
||||
1 2259 108C
|
||||
2 22593ACB 1037
|
||||
3 22593ACC 1038
|
||||
|
@ -989,8 +989,8 @@ DROP TABLE t1;
|
||||
SELECT @@character_set_connection, HEX(CAST(_utf8'÷' AS CHAR));
|
||||
@@character_set_connection HEX(CAST(_utf8'÷' AS CHAR))
|
||||
ucs2 00F7
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR));
|
||||
STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR))
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR)) as exp;
|
||||
exp
|
||||
2001-01-01
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 64) AS subject, REPEAT(' ',64) AS pattern LIMIT 0;
|
||||
SHOW COLUMNS FROM t1;
|
||||
@ -2736,8 +2736,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
0032
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2746,8 +2746,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))))
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
0032
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2756,8 +2756,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
0030
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2766,8 +2766,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))))
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
exp
|
||||
0031
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
@ -2776,8 +2776,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
0030
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2786,8 +2786,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(21) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsSimple(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
0031
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2796,8 +2796,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))))
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
exp
|
||||
0030
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2806,13 +2806,13 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))))
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
exp
|
||||
0031
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(x(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
0031
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2821,8 +2821,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(y(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
0032
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2831,8 +2831,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))))
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
exp
|
||||
0031
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2841,8 +2841,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))))
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
exp
|
||||
0031
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
@ -2851,8 +2851,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(GeometryType(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
0050004F0049004E0054
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2861,8 +2861,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(20) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(AsText(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
0050004F0049004E005400280031002000320029
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3131,8 +3131,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')))
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
exp
|
||||
00320034003A00300030003A00300030
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
@ -3171,8 +3171,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')))
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
exp
|
||||
0032003000300033002D00310032002D00330031002000320030003A00300030003A00300030
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
@ -3181,8 +3181,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET ucs2 COLLATE ucs2_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)))
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
exp
|
||||
0032003000300034002D00300031002D00300032002000310032003A00300030003A00300030
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
@ -5872,20 +5872,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -6010,20 +6010,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -6149,20 +6149,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -6287,20 +6287,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -613,6 +613,7 @@ deallocate prepare stmt;
|
||||
#
|
||||
# Bug#22638 SOUNDEX broken for international characters
|
||||
#
|
||||
--disable_service_connection
|
||||
set names latin1;
|
||||
set character_set_connection=ucs2;
|
||||
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
|
||||
@ -623,6 +624,7 @@ select hex(soundex(_ucs2 0x041004110412));
|
||||
# Make sure that "U+00BF INVERTED QUESTION MARK" is not considered as letter
|
||||
select hex(soundex(_ucs2 0x00BF00C0));
|
||||
set names latin1;
|
||||
--enable_service_connection
|
||||
|
||||
#
|
||||
# Bug #14290: character_maximum_length for text fields
|
||||
@ -794,10 +796,12 @@ DROP TABLE t1;
|
||||
--echo # Start of 5.5 tests
|
||||
--echo #
|
||||
|
||||
--disable_service_connection
|
||||
SET NAMES latin1;
|
||||
SET collation_connection=ucs2_general_ci;
|
||||
--source include/ctype_numconv.inc
|
||||
SET NAMES latin1;
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # Bug #13832953 MY_STRNXFRM_UNICODE: ASSERTION `SRC' FAILED
|
||||
@ -1035,8 +1039,10 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # MDEV-9178 Wrong result for CAST(CONVERT('1IJ3' USING ucs2) AS SIGNED)
|
||||
--echo #
|
||||
--disable_service_connection
|
||||
SET NAMES utf8;
|
||||
SELECT CAST(CONVERT('1IJ3' USING ucs2) AS SIGNED);
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.1 tests
|
||||
@ -1070,6 +1076,7 @@ EXECUTE IMMEDIATE @stmt;
|
||||
--echo #
|
||||
--echo # MDEV-10866 Extend PREPARE and EXECUTE IMMEDIATE to understand expressions
|
||||
--echo #
|
||||
--disable_service_connection
|
||||
SET NAMES utf8, collation_connection=ucs2_bin;
|
||||
SET @stmt='SELECT COLLATION(''a'')';
|
||||
EXECUTE IMMEDIATE @stmt;
|
||||
@ -1097,6 +1104,7 @@ EXECUTE IMMEDIATE @stmt;
|
||||
PREPARE stmt FROM @stmt;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.2 tests
|
||||
|
@ -100,20 +100,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -238,20 +238,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -377,20 +377,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -515,20 +515,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -322,14 +322,14 @@ locate('LO','hello' collate ujis_bin,2)
|
||||
select locate(_ujis 0xa1a3,_ujis 0xa1a2a1a3);
|
||||
locate(_ujis 0xa1a3,_ujis 0xa1a2a1a3)
|
||||
2
|
||||
select 0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%');
|
||||
0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%')
|
||||
select 0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%') as exp;
|
||||
exp
|
||||
1
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%');
|
||||
_ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%')
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') as exp;
|
||||
exp
|
||||
0
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin;
|
||||
_ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin as exp;
|
||||
exp
|
||||
0
|
||||
select 'a' like 'a';
|
||||
'a' like 'a'
|
||||
@ -2810,8 +2810,8 @@ DROP TABLE t2;
|
||||
# Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
|
||||
#
|
||||
SET NAMES utf8;
|
||||
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis);
|
||||
CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis)
|
||||
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis) as exp;
|
||||
exp
|
||||
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: 'a'
|
||||
@ -26624,20 +26624,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -26762,20 +26762,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -26901,20 +26901,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -27039,20 +27039,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -45,13 +45,10 @@ select locate('HE','hello' collate ujis_bin,2);
|
||||
select locate('LO','hello' collate ujis_bin,2);
|
||||
select locate(_ujis 0xa1a3,_ujis 0xa1a2a1a3);
|
||||
|
||||
select 0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%');
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%');
|
||||
select 0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%') as exp;
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') as exp;
|
||||
|
||||
# enable view-protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin;
|
||||
--disable_view_protocol
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin as exp;
|
||||
|
||||
select 'a' like 'a';
|
||||
select 'A' like 'a';
|
||||
@ -1231,11 +1228,8 @@ DROP TABLE t2;
|
||||
--echo #
|
||||
--echo # Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SET NAMES utf8;
|
||||
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis);
|
||||
--enable_view_protocol
|
||||
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis) as exp;
|
||||
|
||||
set names default;
|
||||
set character_set_database=@save_character_set_server;
|
||||
@ -1357,8 +1351,6 @@ DROP TABLE t1;
|
||||
--echo # WL#3664 WEIGHT_STRING
|
||||
--echo #
|
||||
|
||||
# enable view-protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
set names ujis;
|
||||
--source include/weight_string.inc
|
||||
--source include/weight_string_l1.inc
|
||||
@ -1372,7 +1364,6 @@ set collation_connection=ujis_bin;
|
||||
--source include/weight_string_A1A1.inc
|
||||
--source include/weight_string_8EA1.inc
|
||||
--source include/weight_string_8FA2C3.inc
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.6 tests
|
||||
|
@ -2354,20 +2354,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -2492,20 +2492,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -2631,20 +2631,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -2769,20 +2769,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -5327,8 +5327,8 @@ INSERT INTO t1 (s1) VALUES
|
||||
(_ucs2 0x1011103910191004103A1038 /* cooked rice */),
|
||||
(_ucs2 0x101C1000103A10181000103A),
|
||||
(_ucs2 0x101C103910181000103A /* tea */);
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) FROM t1 ORDER BY id;
|
||||
id IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2))))
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) as exp FROM t1 ORDER BY id;
|
||||
id exp
|
||||
1 2259 108C
|
||||
2 22593ACB 1037
|
||||
3 22593ACC 1038
|
||||
@ -7413,20 +7413,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -7551,20 +7551,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -7690,20 +7690,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -7828,20 +7828,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -2540,20 +2540,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6100620063002000
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61006200630020002000
|
||||
#
|
||||
# Collation mix
|
||||
@ -2678,20 +2678,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16le_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16le_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6100620063002000
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61006200630020002000
|
||||
#
|
||||
# Collation mix
|
||||
@ -2817,20 +2817,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6100620063002000
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61006200630020002000
|
||||
#
|
||||
# Collation mix
|
||||
@ -2955,20 +2955,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf16le_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf16le_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf16le_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf16le_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6100620063002000
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf16le_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61006200630020002000
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -70,29 +70,29 @@ hex(word2)
|
||||
00000420
|
||||
00002004
|
||||
DROP TABLE t1;
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0421'));
|
||||
hex(LPAD(_utf32 X'0420',10,_utf32 X'0421'))
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0421')) as exp;
|
||||
exp
|
||||
00000421000004210000042100000421000004210000042100000421000004210000042100000420
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'));
|
||||
hex(LPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'))
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0000042100000422')) as exp;
|
||||
exp
|
||||
00000421000004220000042100000422000004210000042200000421000004220000042100000420
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'));
|
||||
hex(LPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'))
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423')) as exp;
|
||||
exp
|
||||
00000421000004220000042300000421000004220000042300000421000004220000042300000420
|
||||
SELECT hex(LPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'));
|
||||
hex(LPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'))
|
||||
SELECT hex(LPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423')) as exp;
|
||||
exp
|
||||
00000420000004210000042200000423000004240000042500000426000004270000042800000429
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0421'));
|
||||
hex(RPAD(_utf32 X'0420',10,_utf32 X'0421'))
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0421')) as exp;
|
||||
exp
|
||||
00000420000004210000042100000421000004210000042100000421000004210000042100000421
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'));
|
||||
hex(RPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'))
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0000042100000422')) as exp;
|
||||
exp
|
||||
00000420000004210000042200000421000004220000042100000422000004210000042200000421
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'));
|
||||
hex(RPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'))
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423')) as exp;
|
||||
exp
|
||||
00000420000004210000042200000423000004210000042200000423000004210000042200000423
|
||||
SELECT hex(RPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'));
|
||||
hex(RPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'))
|
||||
SELECT hex(RPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423')) as exp;
|
||||
exp
|
||||
00000420000004210000042200000423000004240000042500000426000004270000042800000429
|
||||
CREATE TABLE t1 SELECT
|
||||
LPAD(_utf32 X'0420',10,_utf32 X'0421') l,
|
||||
@ -329,11 +329,11 @@ SELECT * FROM t1 WHERE word LIKE _utf32 x'00000063000000610000005F';
|
||||
word
|
||||
cat
|
||||
DROP TABLE t1;
|
||||
select insert(_utf32 0x000000610000006200000063,10,2,_utf32 0x000000640000006500000066);
|
||||
insert(_utf32 0x000000610000006200000063,10,2,_utf32 0x000000640000006500000066)
|
||||
select insert(_utf32 0x000000610000006200000063,10,2,_utf32 0x000000640000006500000066) as exp;
|
||||
exp
|
||||
abc
|
||||
select insert(_utf32 0x000000610000006200000063,1,2,_utf32 0x000000640000006500000066);
|
||||
insert(_utf32 0x000000610000006200000063,1,2,_utf32 0x000000640000006500000066)
|
||||
select insert(_utf32 0x000000610000006200000063,1,2,_utf32 0x000000640000006500000066) as exp;
|
||||
exp
|
||||
defc
|
||||
SET NAMES latin1;
|
||||
CREATE TABLE t1 (
|
||||
@ -1642,8 +1642,8 @@ Warning 1260 Row 1 was cut by GROUP_CONCAT()
|
||||
#
|
||||
# incorrect charset for val_str_ascii
|
||||
#
|
||||
SELECT '2010-10-10 10:10:10' + INTERVAL GeometryType(GeomFromText('POINT(1 1)')) hour_second;
|
||||
'2010-10-10 10:10:10' + INTERVAL GeometryType(GeomFromText('POINT(1 1)')) hour_second
|
||||
SELECT '2010-10-10 10:10:10' + INTERVAL GeometryType(GeomFromText('POINT(1 1)')) hour_second as exp;
|
||||
exp
|
||||
2010-10-10 10:10:10
|
||||
#
|
||||
# MDEV-5745 analyze MySQL fix for bug#12368495
|
||||
@ -2410,20 +2410,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf32_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf32_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf32_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf32_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf32_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf32_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf32_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00000061000000620000006300000020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0000006100000062000000630000002000000020
|
||||
#
|
||||
# Collation mix
|
||||
@ -2548,20 +2548,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf32_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf32_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf32_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf32_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf32_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf32_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf32_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00000061000000620000006300000020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0000006100000062000000630000002000000020
|
||||
#
|
||||
# Collation mix
|
||||
@ -2687,20 +2687,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf32_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf32_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf32_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf32_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf32_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf32_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf32_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf32_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
00000061000000620000006300000020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf32_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
0000006100000062000000630000002000000020
|
||||
#
|
||||
# Collation mix
|
||||
@ -2825,20 +2825,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf32_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf32_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf32_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf32_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf32_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf32_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf32_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf32_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
00000061000000620000006300000020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf32_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
0000006100000062000000630000002000000020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -60,21 +60,15 @@ DROP TABLE t1;
|
||||
#
|
||||
# Check LPAD/RPAD
|
||||
#
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0421'));
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'));
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'));
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT hex(LPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'));
|
||||
--enable_view_protocol
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0421')) as exp;
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'0000042100000422')) as exp;
|
||||
SELECT hex(LPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423')) as exp;
|
||||
SELECT hex(LPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423')) as exp;
|
||||
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0421'));
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0000042100000422'));
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423'));
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT hex(RPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423'));
|
||||
--enable_view_protocol
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0421')) as exp;
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'0000042100000422')) as exp;
|
||||
SELECT hex(RPAD(_utf32 X'0420',10,_utf32 X'000004210000042200000423')) as exp;
|
||||
SELECT hex(RPAD(_utf32 X'000004200000042100000422000004230000042400000425000004260000042700000428000004290000042A0000042B',10,_utf32 X'000004210000042200000423')) as exp;
|
||||
|
||||
CREATE TABLE t1 SELECT
|
||||
LPAD(_utf32 X'0420',10,_utf32 X'0421') l,
|
||||
@ -124,11 +118,8 @@ DROP TABLE t1;
|
||||
#
|
||||
# Check that INSERT() works fine.
|
||||
# This invokes charpos() function.
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select insert(_utf32 0x000000610000006200000063,10,2,_utf32 0x000000640000006500000066);
|
||||
select insert(_utf32 0x000000610000006200000063,1,2,_utf32 0x000000640000006500000066);
|
||||
--enable_view_protocol
|
||||
select insert(_utf32 0x000000610000006200000063,10,2,_utf32 0x000000640000006500000066) as exp;
|
||||
select insert(_utf32 0x000000610000006200000063,1,2,_utf32 0x000000640000006500000066) as exp;
|
||||
|
||||
#######################################################
|
||||
|
||||
@ -884,10 +875,7 @@ ORDER BY l DESC;
|
||||
--echo #
|
||||
--echo # incorrect charset for val_str_ascii
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT '2010-10-10 10:10:10' + INTERVAL GeometryType(GeomFromText('POINT(1 1)')) hour_second;
|
||||
--enable_view_protocol
|
||||
SELECT '2010-10-10 10:10:10' + INTERVAL GeometryType(GeomFromText('POINT(1 1)')) hour_second as exp;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-5745 analyze MySQL fix for bug#12368495
|
||||
|
@ -5347,8 +5347,8 @@ INSERT INTO t1 (s1) VALUES
|
||||
(_ucs2 0x1011103910191004103A1038 /* cooked rice */),
|
||||
(_ucs2 0x101C1000103A10181000103A),
|
||||
(_ucs2 0x101C103910181000103A /* tea */);
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) FROM t1 ORDER BY id;
|
||||
id IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2))))
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) as exp FROM t1 ORDER BY id;
|
||||
id exp
|
||||
1 2259 108C
|
||||
2 22593ACB 1037
|
||||
3 22593ACC 1038
|
||||
@ -7433,20 +7433,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf32_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf32_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf32_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00000061000000620000006300000020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0000006100000062000000630000002000000020
|
||||
#
|
||||
# Collation mix
|
||||
@ -7571,20 +7571,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf32_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf32_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf32_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00000061000000620000006300000020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0000006100000062000000630000002000000020
|
||||
#
|
||||
# Collation mix
|
||||
@ -7710,20 +7710,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf32_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf32_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf32_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00000061000000620000006300000020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0000006100000062000000630000002000000020
|
||||
#
|
||||
# Collation mix
|
||||
@ -7848,20 +7848,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf32_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf32_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf32_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf32_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00000061000000620000006300000020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf32_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0000006100000062000000630000002000000020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -63,17 +63,17 @@ select 'A' like 'a';
|
||||
select 'A' like 'a' collate utf8_bin;
|
||||
'A' like 'a' collate utf8_bin
|
||||
0
|
||||
select _utf8 0xD0B0D0B1D0B2 like concat(_utf8'%',_utf8 0xD0B1,_utf8 '%');
|
||||
_utf8 0xD0B0D0B1D0B2 like concat(_utf8'%',_utf8 0xD0B1,_utf8 '%')
|
||||
select _utf8 0xD0B0D0B1D0B2 like concat(_utf8'%',_utf8 0xD0B1,_utf8 '%') as exp;
|
||||
exp
|
||||
1
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8) like CONVERT(_latin1'G<>NTER%' USING utf8);
|
||||
convert(_latin1'G\xFCnter Andr\xE9' using utf8) like CONVERT(_latin1'G\xDCNTER%' USING utf8)
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8) like CONVERT(_latin1'G<>NTER%' USING utf8) as exp;
|
||||
exp
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8);
|
||||
CONVERT(_koi8r'\xD7\xC1\xD3\xD1' USING utf8) LIKE CONVERT(_koi8r'\xF7\xE1\xF3\xF1' USING utf8)
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) as exp;
|
||||
exp
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8);
|
||||
CONVERT(_koi8r'\xF7\xE1\xF3\xF1' USING utf8) LIKE CONVERT(_koi8r'\xD7\xC1\xD3\xD1' USING utf8)
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) as exp;
|
||||
exp
|
||||
1
|
||||
SELECT 'a' = 'a ';
|
||||
'a' = 'a '
|
||||
@ -924,17 +924,17 @@ select * from t1 where soundex(a) = soundex('test');
|
||||
id a
|
||||
1 Test
|
||||
drop table t1;
|
||||
select soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
|
||||
soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)
|
||||
select soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB) as exp;
|
||||
exp
|
||||
阅000
|
||||
select hex(soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
|
||||
hex(soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB))
|
||||
select hex(soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)) as exp;
|
||||
exp
|
||||
E99885303030
|
||||
select soundex(_utf8 0xD091D092D093);
|
||||
soundex(_utf8 0xD091D092D093)
|
||||
select soundex(_utf8 0xD091D092D093) as exp;
|
||||
exp
|
||||
Б000
|
||||
select hex(soundex(_utf8 0xD091D092D093));
|
||||
hex(soundex(_utf8 0xD091D092D093))
|
||||
select hex(soundex(_utf8 0xD091D092D093)) as exp;
|
||||
exp
|
||||
D091303030
|
||||
SET collation_connection='utf8_general_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
@ -1160,8 +1160,8 @@ DROP TABLE t1;
|
||||
SELECT @@character_set_connection, HEX(CAST(_utf8'÷' AS CHAR));
|
||||
@@character_set_connection HEX(CAST(_utf8'÷' AS CHAR))
|
||||
utf8mb3 C3B7
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR));
|
||||
STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR))
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR)) as exp;
|
||||
exp
|
||||
2001-01-01
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 64) AS subject, REPEAT(' ',64) AS pattern LIMIT 0;
|
||||
SHOW COLUMNS FROM t1;
|
||||
@ -1294,8 +1294,8 @@ concat(concat(_latin1'->',f1),_latin1'<-')
|
||||
-><-
|
||||
-><-
|
||||
drop table t1;
|
||||
select convert(_koi8r'<27>' using utf8) < convert(_koi8r'<27>' using utf8);
|
||||
convert(_koi8r'\xC9' using utf8) < convert(_koi8r'\xCA' using utf8)
|
||||
select convert(_koi8r'<27>' using utf8) < convert(_koi8r'<27>' using utf8) as exp;
|
||||
exp
|
||||
1
|
||||
set names latin1;
|
||||
create table t1 (a varchar(10)) character set utf8;
|
||||
@ -3603,8 +3603,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3613,8 +3613,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))))
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3623,8 +3623,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3633,8 +3633,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))))
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
@ -3643,8 +3643,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3653,8 +3653,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(21) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsSimple(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3663,8 +3663,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))))
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3673,13 +3673,13 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))))
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(x(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3688,8 +3688,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(y(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3698,8 +3698,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))))
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3708,8 +3708,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))))
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
@ -3718,8 +3718,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(GeometryType(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E54
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3728,8 +3728,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(AsText(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E542831203229
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3998,8 +3998,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')))
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
exp
|
||||
32343A30303A3030
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
@ -4038,8 +4038,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')))
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
exp
|
||||
323030332D31322D33312032303A30303A3030
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
@ -4048,8 +4048,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)))
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
exp
|
||||
323030342D30312D30322031323A30303A3030
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
@ -10784,20 +10784,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -10922,20 +10922,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -11061,20 +11061,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -11199,20 +11199,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -3,9 +3,6 @@
|
||||
# Tests with the utf8 character set
|
||||
#
|
||||
|
||||
# Enable after fix MDEV-27904
|
||||
-- source include/no_view_protocol.inc
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
|
||||
let collation=utf8mb3_unicode_ci;
|
||||
@ -50,15 +47,15 @@ select length(_utf8 0xD0B1), bit_length(_utf8 0xD0B1), char_length(_utf8 0xD0B1)
|
||||
select 'a' like 'a';
|
||||
select 'A' like 'a';
|
||||
select 'A' like 'a' collate utf8_bin;
|
||||
select _utf8 0xD0B0D0B1D0B2 like concat(_utf8'%',_utf8 0xD0B1,_utf8 '%');
|
||||
select _utf8 0xD0B0D0B1D0B2 like concat(_utf8'%',_utf8 0xD0B1,_utf8 '%') as exp;
|
||||
|
||||
# Bug #6040: can't retrieve records with umlaut
|
||||
# characters in case insensitive manner.
|
||||
# Case insensitive search LIKE comparison
|
||||
# was broken for multibyte characters:
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8) like CONVERT(_latin1'G<>NTER%' USING utf8);
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8);
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8);
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8) like CONVERT(_latin1'G<>NTER%' USING utf8) as exp;
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) as exp;
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8) as exp;
|
||||
|
||||
#
|
||||
# Check the following:
|
||||
@ -629,6 +626,7 @@ DROP TABLE t1;
|
||||
#
|
||||
# Bug #6043 erratic searching for diacriticals in indexed MyISAM UTF-8 table
|
||||
#
|
||||
--disable_service_connection
|
||||
SET NAMES latin1;
|
||||
CREATE TABLE t1 (
|
||||
id int unsigned NOT NULL auto_increment,
|
||||
@ -644,6 +642,7 @@ SELECT id, term FROM t1 where (list_id = 1) AND (term = "test
|
||||
SELECT id, term FROM t1 where (list_id = 1) AND (term = "testetest");
|
||||
SELECT id, term FROM t1 where (list_id = 1) AND (term = "test<73>test");
|
||||
DROP TABLE t1;
|
||||
--enable_service_connection
|
||||
|
||||
#
|
||||
# Bug #6019 SELECT tries to use too short prefix index on utf8 data
|
||||
@ -696,10 +695,10 @@ drop table t1;
|
||||
#
|
||||
# Bug#22638 SOUNDEX broken for international characters
|
||||
#
|
||||
select soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
|
||||
select hex(soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
|
||||
select soundex(_utf8 0xD091D092D093);
|
||||
select hex(soundex(_utf8 0xD091D092D093));
|
||||
select soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB) as exp;
|
||||
select hex(soundex(_utf8 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)) as exp;
|
||||
select soundex(_utf8 0xD091D092D093) as exp;
|
||||
select hex(soundex(_utf8 0xD091D092D093)) as exp;
|
||||
|
||||
|
||||
SET collation_connection='utf8_general_ci';
|
||||
@ -735,7 +734,7 @@ drop table t1;
|
||||
#
|
||||
# Bug#8385: utf8_general_ci treats Cyrillic letters I and SHORT I as the same
|
||||
#
|
||||
select convert(_koi8r'<27>' using utf8) < convert(_koi8r'<27>' using utf8);
|
||||
select convert(_koi8r'<27>' using utf8) < convert(_koi8r'<27>' using utf8) as exp;
|
||||
|
||||
#
|
||||
# Bugs#5980: NULL requires a characterset in a union
|
||||
@ -1113,6 +1112,7 @@ DROP TABLE t1;
|
||||
# (see bug #16674 as well)
|
||||
#
|
||||
|
||||
--disable_service_connection
|
||||
SET NAMES latin2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
@ -1139,6 +1139,7 @@ ALTER TABLE t1 ADD KEY idx (tid,val(11));
|
||||
SELECT * FROM t1 WHERE tid=72 and val LIKE 'VOLN<4C> ADSL';
|
||||
|
||||
DROP TABLE t1;
|
||||
--enable_service_connection
|
||||
|
||||
#
|
||||
# Bug 20709: problem with utf8 fields in temporary tables
|
||||
@ -1346,6 +1347,7 @@ drop table t1;
|
||||
# Conversion is possible if string repertoire is ASCII.
|
||||
# Conversion is not possible if the string have extended characters
|
||||
#
|
||||
--disable_service_connection
|
||||
set names utf8;
|
||||
create table t1 (a varchar(10) character set latin1, b int);
|
||||
insert into t1 values ('a',1);
|
||||
@ -1380,6 +1382,7 @@ select concat(a, if(b>10, 'x' 'x', 'y' 'y')) from t1;
|
||||
--error 1267
|
||||
select concat(a, if(b>10, 'x' 'æ', 'y' 'ß')) from t1;
|
||||
drop table t1;
|
||||
--enable_service_connection
|
||||
|
||||
#
|
||||
# Bug#19960: Inconsistent results when joining
|
||||
@ -1496,7 +1499,10 @@ SELECT HEX(RPAD(_utf8 0xD18F, 3, 0x20));
|
||||
SELECT HEX(LPAD(_utf8 0xD18F, 3, 0x20));
|
||||
|
||||
SELECT HEX(INSERT(_utf8 0xD18F, 2, 1, 0x20));
|
||||
#Enable view-protocol after fix MDEV-33942
|
||||
--disable_view_protocol
|
||||
SELECT HEX(INSERT(_utf8 0xD18FD18E, 2, 1, 0x20));
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # Bug#11752408 - 43593: DUMP/BACKUP/RESTORE/UPGRADE TOOLS FAILS BECAUSE OF UTF8_GENERAL_CI
|
||||
@ -1573,6 +1579,7 @@ CREATE TABLE t1 (
|
||||
s3 MEDIUMTEXT CHARACTER SET utf8,
|
||||
s4 LONGTEXT CHARACTER SET utf8
|
||||
);
|
||||
--disable_view_protocol
|
||||
--enable_metadata
|
||||
SET NAMES utf8, @@character_set_results=NULL;
|
||||
SELECT *, HEX(s1) FROM t1;
|
||||
@ -1581,6 +1588,7 @@ SELECT *, HEX(s1) FROM t1;
|
||||
SET NAMES utf8;
|
||||
SELECT *, HEX(s1) FROM t1;
|
||||
--disable_metadata
|
||||
--enable_view_protocol
|
||||
CREATE TABLE t2 AS SELECT CONCAT(s1) FROM t1;
|
||||
SHOW CREATE TABLE t2;
|
||||
DROP TABLE t1, t2;
|
||||
|
@ -100,20 +100,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -238,20 +238,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -377,20 +377,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -515,20 +515,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -3665,20 +3665,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8mb4_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -3803,20 +3803,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8mb4_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_general_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_general_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_general_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -3942,20 +3942,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8mb4_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -4080,20 +4080,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8mb4_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -36,23 +36,23 @@ locate('HE','hello' collate utf8mb4_bin,2)
|
||||
select locate('LO','hello' collate utf8mb4_bin,2);
|
||||
locate('LO','hello' collate utf8mb4_bin,2)
|
||||
0
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2);
|
||||
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2)
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2) as exp;
|
||||
exp
|
||||
2
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2);
|
||||
locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2)
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2) as exp;
|
||||
exp
|
||||
2
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2);
|
||||
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2)
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2) as exp;
|
||||
exp
|
||||
2
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin);
|
||||
locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin)
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin) as exp;
|
||||
exp
|
||||
0
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin);
|
||||
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin)
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin) as exp;
|
||||
exp
|
||||
0
|
||||
select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1);
|
||||
length(_utf8mb4 0xD0B1) bit_length(_utf8mb4 0xD0B1) char_length(_utf8mb4 0xD0B1)
|
||||
select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1) as exp;
|
||||
length(_utf8mb4 0xD0B1) bit_length(_utf8mb4 0xD0B1) exp
|
||||
2 16 1
|
||||
select 'a' like 'a';
|
||||
'a' like 'a'
|
||||
@ -63,17 +63,17 @@ select 'A' like 'a';
|
||||
select 'A' like 'a' collate utf8mb4_bin;
|
||||
'A' like 'a' collate utf8mb4_bin
|
||||
0
|
||||
select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%');
|
||||
_utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%')
|
||||
select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%') as exp;
|
||||
exp
|
||||
1
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8mb4) like CONVERT(_latin1'G<>NTER%' USING utf8mb4);
|
||||
convert(_latin1'G\xFCnter Andr\xE9' using utf8mb4) like CONVERT(_latin1'G\xDCNTER%' USING utf8mb4)
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8mb4) like CONVERT(_latin1'G<>NTER%' USING utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4);
|
||||
CONVERT(_koi8r'\xD7\xC1\xD3\xD1' USING utf8mb4) LIKE CONVERT(_koi8r'\xF7\xE1\xF3\xF1' USING utf8mb4)
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4);
|
||||
CONVERT(_koi8r'\xF7\xE1\xF3\xF1' USING utf8mb4) LIKE CONVERT(_koi8r'\xD7\xC1\xD3\xD1' USING utf8mb4)
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
SELECT 'a' = 'a ';
|
||||
'a' = 'a '
|
||||
@ -863,17 +863,17 @@ select * from t1 where soundex(a) = soundex('test');
|
||||
id a
|
||||
1 Test
|
||||
drop table t1;
|
||||
select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
|
||||
soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)
|
||||
select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB) as exp;
|
||||
exp
|
||||
阅000
|
||||
select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
|
||||
hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB))
|
||||
select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)) as exp;
|
||||
exp
|
||||
E99885303030
|
||||
select soundex(_utf8mb4 0xD091D092D093);
|
||||
soundex(_utf8mb4 0xD091D092D093)
|
||||
select soundex(_utf8mb4 0xD091D092D093) as exp;
|
||||
exp
|
||||
Б000
|
||||
select hex(soundex(_utf8mb4 0xD091D092D093));
|
||||
hex(soundex(_utf8mb4 0xD091D092D093))
|
||||
select hex(soundex(_utf8mb4 0xD091D092D093)) as exp;
|
||||
exp
|
||||
D091303030
|
||||
SET collation_connection='utf8mb4_general_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
@ -1214,8 +1214,8 @@ concat(concat(_latin1'->',f1),_latin1'<-')
|
||||
-><-
|
||||
-><-
|
||||
drop table t1;
|
||||
select convert(_koi8r'<27>' using utf8mb4) < convert(_koi8r'<27>' using utf8mb4);
|
||||
convert(_koi8r'\xC9' using utf8mb4) < convert(_koi8r'\xCA' using utf8mb4)
|
||||
select convert(_koi8r'<27>' using utf8mb4) < convert(_koi8r'<27>' using utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
set names latin1;
|
||||
create table t1 (a varchar(10)) character set utf8mb4 engine heap;
|
||||
|
@ -36,23 +36,23 @@ locate('HE','hello' collate utf8mb4_bin,2)
|
||||
select locate('LO','hello' collate utf8mb4_bin,2);
|
||||
locate('LO','hello' collate utf8mb4_bin,2)
|
||||
0
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2);
|
||||
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2)
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2) as exp;
|
||||
exp
|
||||
2
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2);
|
||||
locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2)
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2) as exp;
|
||||
exp
|
||||
2
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2);
|
||||
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2)
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2) as exp;
|
||||
exp
|
||||
2
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin);
|
||||
locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin)
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin) as exp;
|
||||
exp
|
||||
0
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin);
|
||||
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin)
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin) as exp;
|
||||
exp
|
||||
0
|
||||
select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1);
|
||||
length(_utf8mb4 0xD0B1) bit_length(_utf8mb4 0xD0B1) char_length(_utf8mb4 0xD0B1)
|
||||
select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1) as exp;
|
||||
length(_utf8mb4 0xD0B1) bit_length(_utf8mb4 0xD0B1) exp
|
||||
2 16 1
|
||||
select 'a' like 'a';
|
||||
'a' like 'a'
|
||||
@ -63,17 +63,17 @@ select 'A' like 'a';
|
||||
select 'A' like 'a' collate utf8mb4_bin;
|
||||
'A' like 'a' collate utf8mb4_bin
|
||||
0
|
||||
select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%');
|
||||
_utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%')
|
||||
select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%') as exp;
|
||||
exp
|
||||
1
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8mb4) like CONVERT(_latin1'G<>NTER%' USING utf8mb4);
|
||||
convert(_latin1'G\xFCnter Andr\xE9' using utf8mb4) like CONVERT(_latin1'G\xDCNTER%' USING utf8mb4)
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8mb4) like CONVERT(_latin1'G<>NTER%' USING utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4);
|
||||
CONVERT(_koi8r'\xD7\xC1\xD3\xD1' USING utf8mb4) LIKE CONVERT(_koi8r'\xF7\xE1\xF3\xF1' USING utf8mb4)
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4);
|
||||
CONVERT(_koi8r'\xF7\xE1\xF3\xF1' USING utf8mb4) LIKE CONVERT(_koi8r'\xD7\xC1\xD3\xD1' USING utf8mb4)
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
SELECT 'a' = 'a ';
|
||||
'a' = 'a '
|
||||
@ -926,17 +926,17 @@ select * from t1 where soundex(a) = soundex('test');
|
||||
id a
|
||||
1 Test
|
||||
drop table t1;
|
||||
select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
|
||||
soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)
|
||||
select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB) as exp;
|
||||
exp
|
||||
阅000
|
||||
select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
|
||||
hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB))
|
||||
select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)) as exp;
|
||||
exp
|
||||
E99885303030
|
||||
select soundex(_utf8mb4 0xD091D092D093);
|
||||
soundex(_utf8mb4 0xD091D092D093)
|
||||
select soundex(_utf8mb4 0xD091D092D093) as exp;
|
||||
exp
|
||||
Б000
|
||||
select hex(soundex(_utf8mb4 0xD091D092D093));
|
||||
hex(soundex(_utf8mb4 0xD091D092D093))
|
||||
select hex(soundex(_utf8mb4 0xD091D092D093)) as exp;
|
||||
exp
|
||||
D091303030
|
||||
SET collation_connection='utf8mb4_general_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
@ -1277,8 +1277,8 @@ concat(concat(_latin1'->',f1),_latin1'<-')
|
||||
-><-
|
||||
-><-
|
||||
drop table t1;
|
||||
select convert(_koi8r'<27>' using utf8mb4) < convert(_koi8r'<27>' using utf8mb4);
|
||||
convert(_koi8r'\xC9' using utf8mb4) < convert(_koi8r'\xCA' using utf8mb4)
|
||||
select convert(_koi8r'<27>' using utf8mb4) < convert(_koi8r'<27>' using utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
set names latin1;
|
||||
create table t1 (a varchar(10)) character set utf8mb4 engine InnoDB;
|
||||
|
@ -1,6 +1,3 @@
|
||||
# Enable after fix MDEV-27904
|
||||
-- source include/no_view_protocol.inc
|
||||
|
||||
--source include/have_utf8mb4.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
|
@ -36,23 +36,23 @@ locate('HE','hello' collate utf8mb4_bin,2)
|
||||
select locate('LO','hello' collate utf8mb4_bin,2);
|
||||
locate('LO','hello' collate utf8mb4_bin,2)
|
||||
0
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2);
|
||||
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2)
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D0B1D0B2) as exp;
|
||||
exp
|
||||
2
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2);
|
||||
locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2)
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2) as exp;
|
||||
exp
|
||||
2
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2);
|
||||
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2)
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2) as exp;
|
||||
exp
|
||||
2
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin);
|
||||
locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin)
|
||||
select locate(_utf8mb4 0xD091, _utf8mb4 0xD0B0D0B1D0B2 collate utf8mb4_bin) as exp;
|
||||
exp
|
||||
0
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin);
|
||||
locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin)
|
||||
select locate(_utf8mb4 0xD0B1, _utf8mb4 0xD0B0D091D0B2 collate utf8mb4_bin) as exp;
|
||||
exp
|
||||
0
|
||||
select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1);
|
||||
length(_utf8mb4 0xD0B1) bit_length(_utf8mb4 0xD0B1) char_length(_utf8mb4 0xD0B1)
|
||||
select length(_utf8mb4 0xD0B1), bit_length(_utf8mb4 0xD0B1), char_length(_utf8mb4 0xD0B1) as exp;
|
||||
length(_utf8mb4 0xD0B1) bit_length(_utf8mb4 0xD0B1) exp
|
||||
2 16 1
|
||||
select 'a' like 'a';
|
||||
'a' like 'a'
|
||||
@ -63,17 +63,17 @@ select 'A' like 'a';
|
||||
select 'A' like 'a' collate utf8mb4_bin;
|
||||
'A' like 'a' collate utf8mb4_bin
|
||||
0
|
||||
select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%');
|
||||
_utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%')
|
||||
select _utf8mb4 0xD0B0D0B1D0B2 like concat(_utf8mb4'%',_utf8mb4 0xD0B1,_utf8mb4 '%') as exp;
|
||||
exp
|
||||
1
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8mb4) like CONVERT(_latin1'G<>NTER%' USING utf8mb4);
|
||||
convert(_latin1'G\xFCnter Andr\xE9' using utf8mb4) like CONVERT(_latin1'G\xDCNTER%' USING utf8mb4)
|
||||
select convert(_latin1'G<>nter Andr<64>' using utf8mb4) like CONVERT(_latin1'G<>NTER%' USING utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4);
|
||||
CONVERT(_koi8r'\xD7\xC1\xD3\xD1' USING utf8mb4) LIKE CONVERT(_koi8r'\xF7\xE1\xF3\xF1' USING utf8mb4)
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4);
|
||||
CONVERT(_koi8r'\xF7\xE1\xF3\xF1' USING utf8mb4) LIKE CONVERT(_koi8r'\xD7\xC1\xD3\xD1' USING utf8mb4)
|
||||
select CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) LIKE CONVERT(_koi8r'<27><><EFBFBD><EFBFBD>' USING utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
SELECT 'a' = 'a ';
|
||||
'a' = 'a '
|
||||
@ -929,17 +929,17 @@ select * from t1 where soundex(a) = soundex('test');
|
||||
id a
|
||||
1 Test
|
||||
drop table t1;
|
||||
select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB);
|
||||
soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)
|
||||
select soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB) as exp;
|
||||
exp
|
||||
阅000
|
||||
select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB));
|
||||
hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB))
|
||||
select hex(soundex(_utf8mb4 0xE99885E8A788E99A8FE697B6E69BB4E696B0E79A84E696B0E997BB)) as exp;
|
||||
exp
|
||||
E99885303030
|
||||
select soundex(_utf8mb4 0xD091D092D093);
|
||||
soundex(_utf8mb4 0xD091D092D093)
|
||||
select soundex(_utf8mb4 0xD091D092D093) as exp;
|
||||
exp
|
||||
Б000
|
||||
select hex(soundex(_utf8mb4 0xD091D092D093));
|
||||
hex(soundex(_utf8mb4 0xD091D092D093))
|
||||
select hex(soundex(_utf8mb4 0xD091D092D093)) as exp;
|
||||
exp
|
||||
D091303030
|
||||
SET collation_connection='utf8mb4_general_ci';
|
||||
create table t1 select repeat('a',4000) a;
|
||||
@ -1280,8 +1280,8 @@ concat(concat(_latin1'->',f1),_latin1'<-')
|
||||
-><-
|
||||
-><-
|
||||
drop table t1;
|
||||
select convert(_koi8r'<27>' using utf8mb4) < convert(_koi8r'<27>' using utf8mb4);
|
||||
convert(_koi8r'\xC9' using utf8mb4) < convert(_koi8r'\xCA' using utf8mb4)
|
||||
select convert(_koi8r'<27>' using utf8mb4) < convert(_koi8r'<27>' using utf8mb4) as exp;
|
||||
exp
|
||||
1
|
||||
set names latin1;
|
||||
create table t1 (a varchar(10)) character set utf8mb4 engine MyISAM;
|
||||
|
@ -4031,8 +4031,8 @@ INSERT INTO t1 (s1) VALUES
|
||||
(_ucs2 0x1011103910191004103A1038 /* cooked rice */),
|
||||
(_ucs2 0x101C1000103A10181000103A),
|
||||
(_ucs2 0x101C103910181000103A /* tea */);
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) FROM t1 ORDER BY id;
|
||||
id IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2))))
|
||||
SELECT id, IF(LEFT(s1,1)='-',s1,CONCAT(HEX(WEIGHT_STRING(s1)),'\t', HEX(CONVERT(s1 USING ucs2)))) as exp FROM t1 ORDER BY id;
|
||||
id exp
|
||||
1 2259 108C
|
||||
2 22593ACB 1037
|
||||
3 22593ACC 1038
|
||||
@ -6117,20 +6117,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -6255,20 +6255,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -6394,20 +6394,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -6532,20 +6532,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8mb4_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8mb4_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -16,12 +16,11 @@ DATETIME_FORMAT %Y-%m-%d %H:%i:%s
|
||||
DATE_FORMAT %d.%m.%Y
|
||||
TIME_FORMAT %H.%i.%s
|
||||
select str_to_date(concat('15-01-2001',' 2:59:58.999'),
|
||||
concat('%d-%m-%Y',' ','%H:%i:%s.%f'));
|
||||
str_to_date(concat('15-01-2001',' 2:59:58.999'),
|
||||
concat('%d-%m-%Y',' ','%H:%i:%s.%f'))
|
||||
concat('%d-%m-%Y',' ','%H:%i:%s.%f')) as exp;
|
||||
exp
|
||||
2001-01-15 02:59:58.999000
|
||||
select STR_TO_DATE('2004.12.12 22.30.61','%Y.%m.%d %T');
|
||||
STR_TO_DATE('2004.12.12 22.30.61','%Y.%m.%d %T')
|
||||
select STR_TO_DATE('2004.12.12 22.30.61','%Y.%m.%d %T') as exp;
|
||||
exp
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1411 Incorrect time value: '22.30.61' for function str_to_date
|
||||
@ -256,8 +255,8 @@ Tuesday 52 2001 %W %V %X 00:00:00.000000
|
||||
15-01-2001 %d-%m-%Y %H:%i:%S 00:00:00.000000
|
||||
15-01-20 %d-%m-%y 00:00:00.000000
|
||||
15-2001-1 %d-%Y-%c 00:00:00.000000
|
||||
select concat('',str_to_date('8:11:2.123456 03-01-02','%H:%i:%S.%f %y-%m-%d'));
|
||||
concat('',str_to_date('8:11:2.123456 03-01-02','%H:%i:%S.%f %y-%m-%d'))
|
||||
select concat('',str_to_date('8:11:2.123456 03-01-02','%H:%i:%S.%f %y-%m-%d')) as exp;
|
||||
exp
|
||||
2003-01-02 08:11:02.123456
|
||||
truncate table t1;
|
||||
insert into t1 values
|
||||
@ -551,8 +550,8 @@ Thursday 01 January 2009
|
||||
# Bug#58005 utf8 + get_format causes failed assertion: !str || str != Ptr'
|
||||
#
|
||||
SET NAMES utf8;
|
||||
SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535)));
|
||||
LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535)))
|
||||
SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535))) as exp;
|
||||
exp
|
||||
%
|
||||
SET NAMES latin1;
|
||||
#
|
||||
|
@ -2,9 +2,6 @@
|
||||
# Test of date format functions
|
||||
#
|
||||
|
||||
#remove this include after fix MDEV-27871
|
||||
-- source include/no_view_protocol.inc
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
@ -129,8 +126,8 @@ ORDER BY variable_name;
|
||||
#
|
||||
|
||||
select str_to_date(concat('15-01-2001',' 2:59:58.999'),
|
||||
concat('%d-%m-%Y',' ','%H:%i:%s.%f'));
|
||||
select STR_TO_DATE('2004.12.12 22.30.61','%Y.%m.%d %T');
|
||||
concat('%d-%m-%Y',' ','%H:%i:%s.%f')) as exp;
|
||||
select STR_TO_DATE('2004.12.12 22.30.61','%Y.%m.%d %T') as exp;
|
||||
|
||||
create table t1 (date char(30), format char(30) not null);
|
||||
insert into t1 values
|
||||
@ -175,7 +172,7 @@ select date,format,DATE(str_to_date(date, format)) as date2 from t1;
|
||||
select date,format,TIME(str_to_date(date, format)) as time from t1;
|
||||
select date,format,concat(TIME(str_to_date(date, format))) as time2 from t1;
|
||||
# Test small bug in %f handling
|
||||
select concat('',str_to_date('8:11:2.123456 03-01-02','%H:%i:%S.%f %y-%m-%d'));
|
||||
select concat('',str_to_date('8:11:2.123456 03-01-02','%H:%i:%S.%f %y-%m-%d')) as exp;
|
||||
|
||||
# Test wrong dates or converion specifiers
|
||||
|
||||
@ -363,7 +360,7 @@ SELECT DATE_FORMAT("2009-01-01",'%W %d %M %Y') as valid_date;
|
||||
--echo # Bug#58005 utf8 + get_format causes failed assertion: !str || str != Ptr'
|
||||
--echo #
|
||||
SET NAMES utf8;
|
||||
SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535)));
|
||||
SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535))) as exp;
|
||||
SET NAMES latin1;
|
||||
|
||||
--echo #
|
||||
|
@ -7,9 +7,9 @@ set optimizer_trace=1;
|
||||
explain select * from t1 force index(a) where a in (2, 4, 6);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 3 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
[
|
||||
"(6) <= (a DESC) <= (6)",
|
||||
@ -38,18 +38,18 @@ set optimizer_trace=1;
|
||||
explain select * from t1 force index(ab) where a>=8 and b>=50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range ab ab 4 NULL 51 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(8) <= (a)"]
|
||||
]
|
||||
explain select * from t1 force index(ab) where a>=8 and b<=50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range ab ab 8 NULL 46 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(8,50) <= (a,b DESC)"]
|
||||
]
|
||||
@ -91,9 +91,9 @@ explain
|
||||
select * from t1 where a between 2 and 4 and b between 50 and 80;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range ab ab 8 NULL 17 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(2,80) <= (a,b DESC) <= (4,50)"]
|
||||
]
|
||||
@ -122,9 +122,9 @@ explain
|
||||
select * from t2 where a between 2 and 4;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 range ab ab 4 NULL 40 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(4) <= (a DESC) <= (2)"]
|
||||
]
|
||||
@ -132,9 +132,9 @@ explain
|
||||
select * from t2 where a between 2 and 4 and b between 50 and 80;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 range ab ab 8 NULL 31 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(4,80) <= (a DESC,b DESC) <= (2,50)"]
|
||||
]
|
||||
@ -147,9 +147,9 @@ insert into t1 select 2,seq from seq_0_to_1000;
|
||||
EXPLAIN select MIN(a) from t1 where p = 2 group by p;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref PRIMARY PRIMARY 4 const 1000 Using index
|
||||
select json_detailed(json_extract(trace, '$**.potential_group_range_indexes'))
|
||||
select json_detailed(json_extract(trace, '$**.potential_group_range_indexes')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.potential_group_range_indexes'))
|
||||
jd
|
||||
[
|
||||
[
|
||||
{
|
||||
|
@ -16,12 +16,12 @@ insert into t1 select seq from seq_1_to_1000;
|
||||
set optimizer_trace=1;
|
||||
explain select * from t1 force index(a) where a in (2, 4, 6);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
set optimizer_trace=default;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # These should go in reverse order:
|
||||
select * from t1 force index(a) where a in (2, 4, 6);
|
||||
@ -38,26 +38,29 @@ create table t1 (
|
||||
|
||||
insert into t1 select A.seq, B.seq*10 from seq_1_to_10 A, seq_1_to_10 B;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
set optimizer_trace=1;
|
||||
explain select * from t1 force index(ab) where a>=8 and b>=50;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
explain select * from t1 force index(ab) where a>=8 and b<=50;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
select * from t1 force index(ab) where a>=8 and b<=50;
|
||||
select * from t1 ignore index(ab) where a>=8 and b<=50 order by a, b desc;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
explain
|
||||
select * from t1 where a between 2 and 4 and b between 50 and 80;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
@ -72,16 +75,19 @@ create table t2 (
|
||||
);
|
||||
insert into t2 select A.seq, B.seq*10 from seq_1_to_10 A, seq_1_to_10 B;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
explain
|
||||
select * from t2 where a between 2 and 4;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
explain
|
||||
select * from t2 where a between 2 and 4 and b between 50 and 80;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
@ -93,9 +99,9 @@ drop table t2;
|
||||
CREATE TABLE t1 (p int NOT NULL, a int NOT NULL, PRIMARY KEY (p,a desc));
|
||||
insert into t1 select 2,seq from seq_0_to_1000;
|
||||
EXPLAIN select MIN(a) from t1 where p = 2 group by p;
|
||||
#enable after fix MDEV-27871
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.potential_group_range_indexes'))
|
||||
select json_detailed(json_extract(trace, '$**.potential_group_range_indexes')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
@ -6,6 +6,8 @@
|
||||
--echo # MDEV-30660 COUNT DISTINCT seems unnecessarily slow when run on a PK
|
||||
--echo #
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
set @save_optimizer_trace = @@optimizer_trace;
|
||||
SET optimizer_trace='enabled=on';
|
||||
let $trace=
|
||||
@ -104,6 +106,8 @@ eval $trace;
|
||||
DROP TABLE t1, t2, t3;
|
||||
DROP VIEW v1;
|
||||
SET optimizer_trace = @save_optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # end of 10.5 tests
|
||||
--echo #
|
||||
|
@ -16,16 +16,16 @@ author VARCHAR(255) NOT NULL
|
||||
INSERT INTO t2 VALUES('123', 'moi');
|
||||
INSERT INTO t2 VALUES('123', 'lui');
|
||||
INSERT INTO t2 VALUES('456', 'lui');
|
||||
select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
|
||||
select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5) as exp
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
|
||||
exp
|
||||
0.00000
|
||||
0.00000
|
||||
0.67003
|
||||
0.00000
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE) as exp
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
|
||||
exp
|
||||
0
|
||||
0
|
||||
1
|
||||
|
@ -24,13 +24,10 @@ INSERT INTO t2 VALUES('123', 'moi');
|
||||
INSERT INTO t2 VALUES('123', 'lui');
|
||||
INSERT INTO t2 VALUES('456', 'lui');
|
||||
|
||||
select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
|
||||
select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5) as exp
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE) as exp
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
|
@ -1269,8 +1269,8 @@ SELECT * FROM v1;
|
||||
a GROUP_CONCAT(a ORDER BY a)
|
||||
NULL 10,20,30
|
||||
DROP VIEW v1;
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30');
|
||||
(SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30')
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30') as exp;
|
||||
exp
|
||||
10,20,30
|
||||
CREATE VIEW v1 AS
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30');
|
||||
|
@ -950,10 +950,7 @@ SELECT * FROM (SELECT a,GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLU
|
||||
SELECT * FROM v1;
|
||||
DROP VIEW v1;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30');
|
||||
--enable_view_protocol
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30') as exp;
|
||||
CREATE VIEW v1 AS
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30');
|
||||
SELECT * FROM v1;
|
||||
|
@ -5,8 +5,8 @@ set global innodb_stats_persistent= 1;
|
||||
set global innodb_stats_persistent_sample_pages=100;
|
||||
create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB;
|
||||
insert into t1 values (1, 3);
|
||||
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
|
||||
count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ
|
||||
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ as exp from t1 group by MAX_REQ;
|
||||
exp
|
||||
1
|
||||
select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
|
||||
Case When Count(*) < MAX_REQ Then 1 Else 0 End
|
||||
|
@ -15,10 +15,7 @@ set global innodb_stats_persistent_sample_pages=100;
|
||||
create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB;
|
||||
--enable_warnings
|
||||
insert into t1 values (1, 3);
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
|
||||
--enable_view_protocol
|
||||
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ as exp from t1 group by MAX_REQ;
|
||||
select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
|
||||
drop table t1;
|
||||
|
||||
|
@ -863,15 +863,15 @@ DROP TABLE t1;
|
||||
#
|
||||
# MDEV-11514 IN with a mixture of TIME and DATETIME returns a wrong result
|
||||
#
|
||||
SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32');
|
||||
TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')
|
||||
SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') as exp;
|
||||
exp
|
||||
1
|
||||
PREPARE stmt FROM "SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')";
|
||||
PREPARE stmt FROM "SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') as exp";
|
||||
EXECUTE stmt;
|
||||
TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')
|
||||
exp
|
||||
1
|
||||
EXECUTE stmt;
|
||||
TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')
|
||||
exp
|
||||
1
|
||||
DEALLOCATE PREPARE stmt;
|
||||
#
|
||||
|
@ -652,14 +652,11 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # MDEV-11514 IN with a mixture of TIME and DATETIME returns a wrong result
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32');
|
||||
PREPARE stmt FROM "SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')";
|
||||
SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') as exp;
|
||||
PREPARE stmt FROM "SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') as exp";
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-11497 Wrong result for (int_expr IN (mixture of signed and unsigned expressions))
|
||||
|
@ -720,17 +720,17 @@ REGEXP_INSTR('вася','с')
|
||||
2
|
||||
SELECT REGEXP_INSTR('вася','с');
|
||||
REGEXP_INSTR('вася','с')
|
||||
3
|
||||
SELECT REGEXP_INSTR('вася','я');
|
||||
3
|
||||
SELECT REGEXP_INSTR('вася','я');
|
||||
REGEXP_INSTR('вася','я')
|
||||
4
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('в' USING koi8r));
|
||||
4
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('в' USING koi8r)) as exp;
|
||||
exp
|
||||
1
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('а' USING koi8r));
|
||||
1
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('а' USING koi8r)) as exp;
|
||||
exp
|
||||
2
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('с' USING koi8r));
|
||||
2
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('с' USING koi8r)) as exp;
|
||||
exp
|
||||
3
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('я' USING koi8r)) as exp;
|
||||
@ -757,8 +757,8 @@ t1 CREATE TABLE `t1` (
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'b'
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`REGEXP_SUBSTR('abc','b')+0` double NOT NULL
|
||||
t1 CREATE TABLE `t1` (
|
||||
`REGEXP_SUBSTR('abc','b')+0` double NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
SELECT REGEXP_SUBSTR('See https://mariadb.org/en/foundation/ for details', 'https?://[^/]*') as exp;
|
||||
@ -792,14 +792,14 @@ SELECT 'a\nb' RLIKE '(?-s)a.b';
|
||||
SELECT 'a\nb' RLIKE 'a.b';
|
||||
'a\nb' RLIKE 'a.b'
|
||||
1
|
||||
SELECT 'a\nb' RLIKE '(?-s)a.b';
|
||||
SELECT 'a\nb' RLIKE '(?-s)a.b';
|
||||
'a\nb' RLIKE '(?-s)a.b'
|
||||
0
|
||||
SET default_regex_flags=DEFAULT;
|
||||
SELECT REGEXP_SUBSTR('Monday Mon','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$');
|
||||
SET default_regex_flags=DEFAULT;
|
||||
SELECT REGEXP_SUBSTR('Monday Mon','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$') as exp;
|
||||
ERROR 42000: Regex error 'two named subpatterns have the same name (PCRE2_DUPNAMES not set) at offset 30'
|
||||
SET default_regex_flags='DUPNAMES';
|
||||
SELECT REGEXP_SUBSTR('Monday Mon','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$');
|
||||
SET default_regex_flags='DUPNAMES';
|
||||
SELECT REGEXP_SUBSTR('Monday Mon','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$') as exp;
|
||||
exp
|
||||
Monday Mon
|
||||
SELECT REGEXP_SUBSTR('Tuesday Tue','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$') as exp;
|
||||
@ -850,8 +850,8 @@ SET default_regex_flags=DEFAULT;
|
||||
SELECT REGEXP_REPLACE('abc','^(.*)(.*)$','\\1/\\2');
|
||||
REGEXP_REPLACE('abc','^(.*)(.*)$','\\1/\\2')
|
||||
/abc
|
||||
SET default_regex_flags=DEFAULT;
|
||||
#
|
||||
SET default_regex_flags=DEFAULT;
|
||||
#
|
||||
# MDEV-6965 non-captured group \2 in regexp_replace
|
||||
#
|
||||
SELECT REGEXP_REPLACE('1 foo and bar', '(\\d+) foo and (\\d+ )?bar', '\\1 this and \\2that') as exp;
|
||||
|
@ -325,13 +325,10 @@ SELECT REGEXP_INSTR('вася','в');
|
||||
SELECT REGEXP_INSTR('вася','а');
|
||||
SELECT REGEXP_INSTR('вася','с');
|
||||
SELECT REGEXP_INSTR('вася','я');
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('в' USING koi8r));
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('а' USING koi8r));
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('с' USING koi8r));
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('я' USING koi8r));
|
||||
--enable_view_protocol
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('в' USING koi8r)) as exp;
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('а' USING koi8r)) as exp;
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('с' USING koi8r)) as exp;
|
||||
SELECT REGEXP_INSTR(CONVERT('вася' USING koi8r), CONVERT('я' USING koi8r)) as exp;
|
||||
|
||||
--echo #
|
||||
--echo # Checking REGEXP_SUBSTR
|
||||
@ -351,10 +348,7 @@ CREATE TABLE t1 AS SELECT REGEXP_SUBSTR('abc','b')+0;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT REGEXP_SUBSTR('See https://mariadb.org/en/foundation/ for details', 'https?://[^/]*');
|
||||
--enable_view_protocol
|
||||
SELECT REGEXP_SUBSTR('See https://mariadb.org/en/foundation/ for details', 'https?://[^/]*') as exp;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-6027 RLIKE: "." no longer matching new line
|
||||
@ -371,16 +365,13 @@ SELECT 'a\nb' RLIKE 'a.b';
|
||||
SELECT 'a\nb' RLIKE '(?-s)a.b';
|
||||
SET default_regex_flags=DEFAULT;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
# note that old pcre2 reports a different offset
|
||||
--replace_result 29 30
|
||||
--error ER_REGEXP_ERROR
|
||||
SELECT REGEXP_SUBSTR('Monday Mon','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$');
|
||||
SELECT REGEXP_SUBSTR('Monday Mon','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$') as exp;
|
||||
SET default_regex_flags='DUPNAMES';
|
||||
SELECT REGEXP_SUBSTR('Monday Mon','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$');
|
||||
SELECT REGEXP_SUBSTR('Tuesday Tue','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$');
|
||||
--enable_view_protocol
|
||||
SELECT REGEXP_SUBSTR('Monday Mon','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$') as exp;
|
||||
SELECT REGEXP_SUBSTR('Tuesday Tue','^((?<DN>Mon|Fri|Sun)day|(?<DN>Tue)sday).*(?P=DN)$') as exp;
|
||||
SET default_regex_flags=DEFAULT;
|
||||
|
||||
SELECT 'AB' RLIKE 'A B';
|
||||
@ -416,10 +407,7 @@ SET default_regex_flags=DEFAULT;
|
||||
--echo #
|
||||
--echo # MDEV-6965 non-captured group \2 in regexp_replace
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT REGEXP_REPLACE('1 foo and bar', '(\\d+) foo and (\\d+ )?bar', '\\1 this and \\2that');
|
||||
--enable_view_protocol
|
||||
SELECT REGEXP_REPLACE('1 foo and bar', '(\\d+) foo and (\\d+ )?bar', '\\1 this and \\2that') as exp;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-8102 REGEXP function fails to match hex values when expression is stored as a variable
|
||||
@ -454,9 +442,6 @@ SELECT CAST(0xE001 AS BINARY) REGEXP @regCheck;
|
||||
SELECT 1 FROM dual WHERE ('Alpha,Bravo,Charlie,Delta,Echo,Foxtrot,StrataCentral,Golf,Hotel,India,Juliet,Kilo,Lima,Mike,StrataL3,November,Oscar,StrataL2,Sand,P3,P4SwitchTest,Arsys,Poppa,ExtensionMgr,Arp,Quebec,Romeo,StrataApiV2,PtReyes,Sierra,SandAcl,Arrow,Artools,BridgeTest,Tango,SandT,PAlaska,Namespace,Agent,Qos,PatchPanel,ProjectReport,Ark,Gimp,Agent,SliceAgent,Arnet,Bgp,Ale,Tommy,Central,AsicPktTestLib,Hsc,SandL3,Abuild,Pca9555,Standby,ControllerDut,CalSys,SandLib,Sb820,PointV2,BfnLib,Evpn,BfnSdk,Sflow,ManagementActive,AutoTest,GatedTest,Bgp,Sand,xinetd,BfnAgentLib,bf-utils,Hello,BfnState,Eos,Artest,Qos,Scd,ThermoMgr,Uniform,EosUtils,Eb,FanController,Central,BfnL3,BfnL2,tcp_wrappers,Victor,Environment,Route,Failover,Whiskey,Xray,Gimp,BfnFixed,Strata,SoCal,XApi,Msrp,XpProfile,tcpdump,PatchPanel,ArosTest,FhTest,Arbus,XpAcl,MacConc,XpApi,telnet,QosTest,Alpha2,BfnVlan,Stp,VxlanControllerTest,MplsAgent,Bravo2,Lanz,BfnMbb,Intf,XCtrl,Unicast,SandTunnel,L3Unicast,Ipsec,MplsTest,Rsvp,EthIntf,StageMgr,Sol,MplsUtils,Nat,Ira,P4NamespaceDut,Counters,Charlie2,Aqlc,Mlag,Power,OpenFlow,Lag,RestApi,BfdTest,strongs,Sfa,CEosUtils,Adt746,MaintenanceMode,MlagDut,EosImage,IpEth,MultiProtocol,Launcher,Max3179,Snmp,Acl,IpEthTest,PhyEee,bf-syslibs,tacc,XpL2,p4-ar-switch,p4-bf-switch,LdpTest,BfnPhy,Mirroring,Phy6,Ptp' REGEXP '^((?!\b(Strata|StrataApi|StrataApiV2)\b).)*$');
|
||||
--enable_result_log
|
||||
--enable_warnings
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
--enable_view_protocol
|
||||
|
||||
#
|
||||
# MDEV-12942 REGEXP_INSTR returns 1 when using brackets
|
||||
|
@ -39,11 +39,11 @@ position(binary 'll' in 'hello') position('a' in binary 'hello')
|
||||
select left('hello',null), right('hello',null);
|
||||
left('hello',null) right('hello',null)
|
||||
NULL NULL
|
||||
select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5) ;
|
||||
select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5);
|
||||
left('hello',2) right('hello',2) substring('hello',2,2) mid('hello',1,5)
|
||||
he lo el hello
|
||||
select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) ;
|
||||
concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1))
|
||||
select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) as exp;
|
||||
exp
|
||||
happy
|
||||
select substring_index('www.tcx.se','.',-2),substring_index('www.tcx.se','.',1);
|
||||
substring_index('www.tcx.se','.',-2) substring_index('www.tcx.se','.',1)
|
||||
@ -171,23 +171,23 @@ the king of
|
||||
select substring_index('the king of the the hill','the',3);
|
||||
substring_index('the king of the the hill','the',3)
|
||||
the king of the
|
||||
select concat(':',ltrim(' left '),':',rtrim(' right '),':');
|
||||
concat(':',ltrim(' left '),':',rtrim(' right '),':')
|
||||
select concat(':',ltrim(' left '),':',rtrim(' right '),':') as exp;
|
||||
exp
|
||||
:left : right:
|
||||
select concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':');
|
||||
concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':')
|
||||
select concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':') as exp;
|
||||
exp
|
||||
:left : right:
|
||||
select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':');
|
||||
concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':')
|
||||
select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':') as exp;
|
||||
exp
|
||||
:left: right:
|
||||
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':');
|
||||
concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':')
|
||||
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':') as exp;
|
||||
exp
|
||||
:m:y:s:
|
||||
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':');
|
||||
concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':')
|
||||
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':') as exp;
|
||||
exp
|
||||
:my:sql:
|
||||
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':');
|
||||
concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':')
|
||||
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':') as exp;
|
||||
exp
|
||||
:my:sql:
|
||||
select TRIM("foo" FROM "foo"), TRIM("foo" FROM "foook"), TRIM("foo" FROM "okfoo");
|
||||
TRIM("foo" FROM "foo") TRIM("foo" FROM "foook") TRIM("foo" FROM "okfoo")
|
||||
@ -201,8 +201,8 @@ NULL
|
||||
select concat_ws(',','',NULL,'a');
|
||||
concat_ws(',','',NULL,'a')
|
||||
,a
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"');
|
||||
CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"')
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"') as exp;
|
||||
exp
|
||||
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc";"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
|
||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
||||
@ -215,8 +215,8 @@ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is
|
||||
def replace('aaaa','a','bbbb') 253 16 16 Y 0 39 8
|
||||
replace('aaaa','a','bbbb')
|
||||
bbbbbbbbbbbbbbbb
|
||||
select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') ;
|
||||
replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL')
|
||||
select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') as exp;
|
||||
exp
|
||||
this is a REAL test
|
||||
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
|
||||
soundex('') soundex('he') soundex('hello all folks') soundex('#3556 in bugdb')
|
||||
@ -311,11 +311,11 @@ NULL NULL
|
||||
select least(1,2,3) | greatest(16,32,8), least(5,4)*1,greatest(-1.0,1.0)*1,least(3,2,1)*1.0,greatest(1,1.1,1.0),least("10",9),greatest("A","B","0");
|
||||
least(1,2,3) | greatest(16,32,8) least(5,4)*1 greatest(-1.0,1.0)*1 least(3,2,1)*1.0 greatest(1,1.1,1.0) least("10",9) greatest("A","B","0")
|
||||
33 4 1.0 1.0 1.1 9 B
|
||||
select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000);
|
||||
decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000)
|
||||
select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000) as exp;
|
||||
exp
|
||||
1
|
||||
select decode(encode("abcdef","monty"),"monty")="abcdef";
|
||||
decode(encode("abcdef","monty"),"monty")="abcdef"
|
||||
select decode(encode("abcdef","monty"),"monty")="abcdef" as exp;
|
||||
exp
|
||||
1
|
||||
select quote('\'\"\\test');
|
||||
quote('\'\"\\test')
|
||||
@ -331,11 +331,11 @@ Warning 1365 Division by 0
|
||||
select length(quote(concat(char(0),"test")));
|
||||
length(quote(concat(char(0),"test")))
|
||||
8
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))));
|
||||
hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))))
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235)))) as exp;
|
||||
exp
|
||||
27E0E3E6E7E8EAEB27
|
||||
select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL);
|
||||
unhex(hex("foobar")) hex(unhex("1234567890ABCDEF")) unhex("345678") unhex(NULL)
|
||||
select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL) as exp;
|
||||
unhex(hex("foobar")) hex(unhex("1234567890ABCDEF")) unhex("345678") exp
|
||||
foobar 1234567890ABCDEF 4Vx NULL
|
||||
select hex(unhex("1")), hex(unhex("12")), hex(unhex("123")), hex(unhex("1234")), hex(unhex("12345")), hex(unhex("123456"));
|
||||
hex(unhex("1")) hex(unhex("12")) hex(unhex("123")) hex(unhex("1234")) hex(unhex("12345")) hex(unhex("123456"))
|
||||
@ -408,17 +408,17 @@ bugstatus int(10) unsigned default NULL,
|
||||
submitter int(10) unsigned default NULL
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1,'Link',1,1,1,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','2001-02-28 08:40:16',20010228084016,0,4);
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') FROM t1;
|
||||
CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"')
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') as exp FROM t1;
|
||||
exp
|
||||
"Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4"
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') FROM t1;
|
||||
CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"')
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') as exp FROM t1;
|
||||
exp
|
||||
"Link";"1";"1";"1";"0";"4"
|
||||
SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) FROM t1;
|
||||
CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter)
|
||||
SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) as exp FROM t1;
|
||||
exp
|
||||
Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4
|
||||
SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') from t1 group by bugdesc;
|
||||
bugdesc REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb')
|
||||
SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') as exp from t1 group by bugdesc;
|
||||
bugdesc exp
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (id int(11) NOT NULL auto_increment, tmp text NOT NULL, KEY id (id)) ENGINE=MyISAM;
|
||||
@ -747,7 +747,7 @@ t1 CREATE TABLE `t1` (
|
||||
`bin(130)` varchar(64) DEFAULT NULL,
|
||||
`oct(130)` varchar(64) DEFAULT NULL,
|
||||
`conv(130,16,10)` varchar(64) DEFAULT NULL,
|
||||
`hex(130)` varchar(6) DEFAULT NULL,
|
||||
`hex(130)` varchar(16) DEFAULT NULL,
|
||||
`char(130)` varbinary(4) DEFAULT NULL,
|
||||
`format(130,10)` varchar(25) DEFAULT NULL,
|
||||
`left(_latin2'a',1)` varchar(1) CHARACTER SET latin2 COLLATE latin2_general_ci DEFAULT NULL,
|
||||
@ -2016,35 +2016,35 @@ hello
|
||||
select insert('hello', 4294967297, 4294967297, 'hi');
|
||||
insert('hello', 4294967297, 4294967297, 'hi')
|
||||
hello
|
||||
select insert('hello', -18446744073709551615, -18446744073709551615, 'hi');
|
||||
insert('hello', -18446744073709551615, -18446744073709551615, 'hi')
|
||||
select insert('hello', -18446744073709551615, -18446744073709551615, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '-18446744073709551615' to INT. Value truncated
|
||||
Warning 1916 Got overflow when converting '-18446744073709551615' to INT. Value truncated
|
||||
select insert('hello', 18446744073709551615, 18446744073709551615, 'hi');
|
||||
insert('hello', 18446744073709551615, 18446744073709551615, 'hi')
|
||||
select insert('hello', 18446744073709551615, 18446744073709551615, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
select insert('hello', -18446744073709551616, -18446744073709551616, 'hi');
|
||||
insert('hello', -18446744073709551616, -18446744073709551616, 'hi')
|
||||
select insert('hello', -18446744073709551616, -18446744073709551616, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '-18446744073709551616' to INT. Value truncated
|
||||
Warning 1916 Got overflow when converting '-18446744073709551616' to INT. Value truncated
|
||||
select insert('hello', 18446744073709551616, 18446744073709551616, 'hi');
|
||||
insert('hello', 18446744073709551616, 18446744073709551616, 'hi')
|
||||
select insert('hello', 18446744073709551616, 18446744073709551616, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '18446744073709551616' to INT. Value truncated
|
||||
Warning 1916 Got overflow when converting '18446744073709551616' to INT. Value truncated
|
||||
select insert('hello', -18446744073709551617, -18446744073709551617, 'hi');
|
||||
insert('hello', -18446744073709551617, -18446744073709551617, 'hi')
|
||||
select insert('hello', -18446744073709551617, -18446744073709551617, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '-18446744073709551617' to INT. Value truncated
|
||||
Warning 1916 Got overflow when converting '-18446744073709551617' to INT. Value truncated
|
||||
select insert('hello', 18446744073709551617, 18446744073709551617, 'hi');
|
||||
insert('hello', 18446744073709551617, 18446744073709551617, 'hi')
|
||||
select insert('hello', 18446744073709551617, 18446744073709551617, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '18446744073709551617' to INT. Value truncated
|
||||
@ -2766,25 +2766,25 @@ CREATE TABLE t1 (a VARCHAR(20), b INT);
|
||||
CREATE TABLE t2 (a VARCHAR(20), b INT);
|
||||
INSERT INTO t1 VALUES ('ABC', 1);
|
||||
INSERT INTO t2 VALUES ('ABC', 1);
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
exp
|
||||
secret
|
||||
SELECT DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
exp
|
||||
secret
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC')
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC') as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC')
|
||||
exp
|
||||
secret
|
||||
TRUNCATE TABLE t1;
|
||||
TRUNCATE TABLE t2;
|
||||
INSERT INTO t1 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1);
|
||||
INSERT INTO t2 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1);
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a) as exp
|
||||
FROM t2 WHERE t2.b = 1 GROUP BY t2.b;
|
||||
DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a)
|
||||
exp
|
||||
secret
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
@ -3066,10 +3066,8 @@ SELECT (rpad(1.0,2048,1)) IS NOT FALSE;
|
||||
1
|
||||
SELECT ((+0) IN
|
||||
((0b111111111111111111111111111111111111111111111111111),(rpad(1.0,2048,1)),
|
||||
(32767.1)));
|
||||
((+0) IN
|
||||
((0b111111111111111111111111111111111111111111111111111),(rpad(1.0,2048,1)),
|
||||
(32767.1)))
|
||||
(32767.1))) as exp;
|
||||
exp
|
||||
0
|
||||
SELECT ((rpad(1.0,2048,1)) = ('4(') ^ (0.1));
|
||||
((rpad(1.0,2048,1)) = ('4(') ^ (0.1))
|
||||
@ -5023,8 +5021,8 @@ DROP TABLE t1;
|
||||
#
|
||||
# MDEV-24742 Server crashes in Charset::numchars / String::numchars
|
||||
#
|
||||
SELECT NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux');
|
||||
NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux')
|
||||
SELECT NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux') as exp;
|
||||
exp
|
||||
NULL
|
||||
#
|
||||
# Bug#31374305 - FORMAT() NOT DISPLAYING WHOLE NUMBER SIDE CORRECTLY
|
||||
|
@ -28,14 +28,11 @@ select position(binary 'll' in 'hello'),position('a' in binary 'hello');
|
||||
# strange undocumented behaviour, strict mode
|
||||
#
|
||||
select left('hello',null), right('hello',null);
|
||||
select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5) ;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) ;
|
||||
select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5);
|
||||
select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) as exp;
|
||||
select substring_index('www.tcx.se','.',-2),substring_index('www.tcx.se','.',1);
|
||||
select substring_index('www.tcx.se','tcx',1),substring_index('www.tcx.se','tcx',-1);
|
||||
select substring_index('.tcx.se','.',-2),substring_index('.tcx.se','.tcx',-1);
|
||||
--enable_view_protocol
|
||||
select substring_index('aaaaaaaaa1','a',1);
|
||||
select substring_index('aaaaaaaaa1','aa',1);
|
||||
select substring_index('aaaaaaaaa1','aa',2);
|
||||
@ -79,32 +76,28 @@ select substring_index('the king of the the hill','the',1);
|
||||
select substring_index('the king of the the hill','the',2);
|
||||
select substring_index('the king of the the hill','the',3);
|
||||
|
||||
select concat(':',ltrim(' left '),':',rtrim(' right '),':');
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':');
|
||||
select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':');
|
||||
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':');
|
||||
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':');
|
||||
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':');
|
||||
select concat(':',ltrim(' left '),':',rtrim(' right '),':') as exp;
|
||||
select concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':') as exp;
|
||||
select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':') as exp;
|
||||
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':') as exp;
|
||||
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':') as exp;
|
||||
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':') as exp;
|
||||
select TRIM("foo" FROM "foo"), TRIM("foo" FROM "foook"), TRIM("foo" FROM "okfoo");
|
||||
--enable_view_protocol
|
||||
|
||||
select concat_ws(', ','monty','was here','again');
|
||||
select concat_ws(NULL,'a'),concat_ws(',',NULL,'');
|
||||
select concat_ws(',','',NULL,'a');
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"');
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"') as exp;
|
||||
|
||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||
select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
|
||||
--disable_view_protocol
|
||||
--enable_metadata
|
||||
select replace('aaaa','a','bbbb');
|
||||
--disable_metadata
|
||||
select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') ;
|
||||
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
|
||||
--enable_view_protocol
|
||||
select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') as exp;
|
||||
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
|
||||
select 'mood' sounds like 'mud';
|
||||
select 'Glazgo' sounds like 'Liverpool';
|
||||
select null sounds like 'null';
|
||||
@ -137,32 +130,22 @@ select rpad('abcd',7),lpad('abcd',7);
|
||||
select LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD'),GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD');
|
||||
select least(1,2,3) | greatest(16,32,8), least(5,4)*1,greatest(-1.0,1.0)*1,least(3,2,1)*1.0,greatest(1,1.1,1.0),least("10",9),greatest("A","B","0");
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000);
|
||||
--enable_view_protocol
|
||||
select decode(encode("abcdef","monty"),"monty")="abcdef";
|
||||
select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000) as exp;
|
||||
select decode(encode("abcdef","monty"),"monty")="abcdef" as exp;
|
||||
|
||||
select quote('\'\"\\test');
|
||||
select quote(concat('abc\'', '\\cba'));
|
||||
select quote(1/0), quote('\0\Z');
|
||||
select length(quote(concat(char(0),"test")));
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))));
|
||||
select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL);
|
||||
--enable_view_protocol
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235)))) as exp;
|
||||
select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL) as exp;
|
||||
select hex(unhex("1")), hex(unhex("12")), hex(unhex("123")), hex(unhex("1234")), hex(unhex("12345")), hex(unhex("123456"));
|
||||
select length(unhex(md5("abrakadabra")));
|
||||
|
||||
#
|
||||
# Bug #6564: QUOTE(NULL
|
||||
#
|
||||
|
||||
#enable after fix MDEV-28651
|
||||
--disable_view_protocol
|
||||
select concat('a', quote(NULL));
|
||||
--enable_view_protocol
|
||||
|
||||
#
|
||||
# Wrong usage of functions
|
||||
@ -211,14 +194,11 @@ CREATE TABLE t1 (
|
||||
submitter int(10) unsigned default NULL
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
INSERT INTO t1 VALUES (1,'Link',1,1,1,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','2001-02-28 08:40:16',20010228084016,0,4);
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') FROM t1;
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') FROM t1;
|
||||
SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) FROM t1;
|
||||
SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') from t1 group by bugdesc;
|
||||
--enable_view_protocol
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') as exp FROM t1;
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') as exp FROM t1;
|
||||
SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) as exp FROM t1;
|
||||
SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') as exp from t1 group by bugdesc;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
@ -1138,15 +1118,12 @@ select insert('hello', -4294967296, -4294967296, 'hi');
|
||||
select insert('hello', 4294967296, 4294967296, 'hi');
|
||||
select insert('hello', -4294967297, -4294967297, 'hi');
|
||||
select insert('hello', 4294967297, 4294967297, 'hi');
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select insert('hello', -18446744073709551615, -18446744073709551615, 'hi');
|
||||
select insert('hello', 18446744073709551615, 18446744073709551615, 'hi');
|
||||
select insert('hello', -18446744073709551616, -18446744073709551616, 'hi');
|
||||
select insert('hello', 18446744073709551616, 18446744073709551616, 'hi');
|
||||
select insert('hello', -18446744073709551617, -18446744073709551617, 'hi');
|
||||
select insert('hello', 18446744073709551617, 18446744073709551617, 'hi');
|
||||
--enable_view_protocol
|
||||
select insert('hello', -18446744073709551615, -18446744073709551615, 'hi') as exp;
|
||||
select insert('hello', 18446744073709551615, 18446744073709551615, 'hi') as exp;
|
||||
select insert('hello', -18446744073709551616, -18446744073709551616, 'hi') as exp;
|
||||
select insert('hello', 18446744073709551616, 18446744073709551616, 'hi') as exp;
|
||||
select insert('hello', -18446744073709551617, -18446744073709551617, 'hi') as exp;
|
||||
select insert('hello', 18446744073709551617, 18446744073709551617, 'hi') as exp;
|
||||
|
||||
select repeat('hello', -1);
|
||||
select repeat('hello', -4294967295);
|
||||
@ -1491,17 +1468,14 @@ CREATE TABLE t2 (a VARCHAR(20), b INT);
|
||||
INSERT INTO t1 VALUES ('ABC', 1);
|
||||
INSERT INTO t2 VALUES ('ABC', 1);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
|
||||
SELECT DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC')
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC') as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
--enable_view_protocol
|
||||
|
||||
TRUNCATE TABLE t1;
|
||||
TRUNCATE TABLE t2;
|
||||
@ -1509,11 +1483,8 @@ TRUNCATE TABLE t2;
|
||||
INSERT INTO t1 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1);
|
||||
INSERT INTO t2 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a) as exp
|
||||
FROM t2 WHERE t2.b = 1 GROUP BY t2.b;
|
||||
--enable_view_protocol
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
@ -1679,14 +1650,11 @@ SELECT CONV(1,-2147483648,-2147483648);
|
||||
--echo # Bug#12985030 SIMPLE QUERY WITH DECIMAL NUMBERS LEAKS MEMORY
|
||||
--echo #
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT (rpad(1.0,2048,1)) IS NOT FALSE;
|
||||
SELECT ((+0) IN
|
||||
((0b111111111111111111111111111111111111111111111111111),(rpad(1.0,2048,1)),
|
||||
(32767.1)));
|
||||
(32767.1))) as exp;
|
||||
SELECT ((rpad(1.0,2048,1)) = ('4(') ^ (0.1));
|
||||
--enable_view_protocol
|
||||
|
||||
--error 1690
|
||||
SELECT
|
||||
@ -2114,10 +2082,7 @@ DROP TABLE t1;
|
||||
--echo # MDEV-24742 Server crashes in Charset::numchars / String::numchars
|
||||
--echo #
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux');
|
||||
--enable_view_protocol
|
||||
SELECT NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux') as exp;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#31374305 - FORMAT() NOT DISPLAYING WHOLE NUMBER SIDE CORRECTLY
|
||||
|
@ -162,17 +162,17 @@ cast(cast(@a as time(2)) as time(6))
|
||||
12:13:14.120000
|
||||
select CAST(@a AS DATETIME(7));
|
||||
ERROR 42000: Too big precision specified for '@`a`'. Maximum is 6
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00');
|
||||
CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00')
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00') as exp;
|
||||
exp
|
||||
2011-01-02 15:00:00
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00');
|
||||
CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00')
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00') as exp;
|
||||
exp
|
||||
2011-01-02 15:00:00.123
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00');
|
||||
CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00')
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00') as exp;
|
||||
exp
|
||||
2011-01-02 15:00:00.123456
|
||||
SELECT CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00');
|
||||
CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00')
|
||||
SELECT CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00') as exp;
|
||||
exp
|
||||
2010-10-10 13:10:10.1234
|
||||
create table t1 (a varchar(200));
|
||||
insert t1 values (now(6));
|
||||
|
@ -80,13 +80,10 @@ select CAST(@a AS DATETIME(7));
|
||||
#
|
||||
# CONVERT_TZ
|
||||
#
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00');
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00');
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00');
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00');
|
||||
--enable_view_protocol
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00') as exp;
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00') as exp;
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00') as exp;
|
||||
SELECT CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00') as exp;
|
||||
|
||||
#
|
||||
# Field::store_time()
|
||||
|
@ -238,30 +238,26 @@ dist buffer buf_area
|
||||
-1 POLYGON 16.00
|
||||
SELECT ST_CONTAINS(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)'));
|
||||
ST_CONTAINS(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)'))
|
||||
GeomFromText('POINT(5 10)')) as geom;
|
||||
geom
|
||||
0
|
||||
SELECT AsText(ST_UNION(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)')));
|
||||
AsText(ST_UNION(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)')))
|
||||
GeomFromText('POINT(5 10)'))) as geom;
|
||||
geom
|
||||
GEOMETRYCOLLECTION(POLYGON((0 0,0 5,5 5,5 0,0 0)),POLYGON((6 6,6 11,11 11,11 6,6 6)),POINT(5 10))
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# Bug #13833019 ASSERTION `T1->RESULT_RANGE' FAILED IN GCALC_OPERATION_REDUCER::END_COUPLE
|
||||
#
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3));
|
||||
GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3))
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3)) as geom;
|
||||
geom
|
||||
POLYGON
|
||||
#
|
||||
# Bug #13832749 HANDLE_FATAL_SIGNAL IN GCALC_FUNCTION::COUNT_INTERNAL
|
||||
#
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1));
|
||||
GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1))
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1)) as geom;
|
||||
geom
|
||||
POLYGON
|
||||
#
|
||||
# Bug#13358363 - ASSERTION: N > 0 && N < SINUSES_CALCULATED*2+1 | GET_N_SINCOS/ADD_EDGE_BUFFER
|
||||
@ -272,27 +268,21 @@ Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
SELECT ST_WITHIN(
|
||||
LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
|
||||
ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) '))));
|
||||
ST_WITHIN(
|
||||
LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
|
||||
ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) ')
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) ')))) as st;
|
||||
st
|
||||
0
|
||||
SELECT ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))));
|
||||
ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))))
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))')))) as st;
|
||||
st
|
||||
2
|
||||
SELECT ST_NUMINTERIORRINGS(
|
||||
ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))));
|
||||
ST_NUMINTERIORRINGS(
|
||||
ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))))
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) '))))) as st;
|
||||
st
|
||||
0
|
||||
SELECT ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))));
|
||||
ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))))
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) ')))) as st;
|
||||
st
|
||||
POLYGON((9 9,5 2,4 5,9 9))
|
||||
#
|
||||
# Start of 10.2 tests
|
||||
|
@ -1,21 +1,21 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))'));
|
||||
1 ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))'))
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 0, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))'));
|
||||
0 ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))'))
|
||||
select 0, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))')) as result;
|
||||
0 result
|
||||
0 0
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)'));
|
||||
1 ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)'))
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
1 ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'))
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 0, ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
0 ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'))
|
||||
select 0, ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
0 result
|
||||
0 0
|
||||
select 1, ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))'));
|
||||
1 ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))'))
|
||||
select 1, ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
create table t1 (g point);
|
||||
insert into t1 values
|
||||
@ -66,89 +66,89 @@ POINT(6 2)
|
||||
POINT(6 6)
|
||||
POINT(8 4)
|
||||
DROP TABLE t1;
|
||||
select 0, ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
0 ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'))
|
||||
select 0, ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
0 result
|
||||
0 0
|
||||
select 1, ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
1 ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'))
|
||||
select 1, ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 1, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)'));
|
||||
1 ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)'))
|
||||
select 1, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 0, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)'));
|
||||
0 ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)'))
|
||||
select 0, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)')) as result;
|
||||
0 result
|
||||
0 1
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'));
|
||||
1 ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')));
|
||||
astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')))
|
||||
select astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) as result;
|
||||
result
|
||||
POLYGON((0 0,1 2,2 0,0 0))
|
||||
select astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')));
|
||||
astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')))
|
||||
select astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) as result;
|
||||
result
|
||||
POINT(1 1)
|
||||
select ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'));
|
||||
ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))
|
||||
select ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) as result;
|
||||
result
|
||||
1
|
||||
select ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)'));
|
||||
ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)'))
|
||||
select ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)')) as result;
|
||||
result
|
||||
0
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))'));
|
||||
ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))'))
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')) as result;
|
||||
result
|
||||
1
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'));
|
||||
ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'))
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) as result;
|
||||
result
|
||||
0
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'));
|
||||
ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'))
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) as result;
|
||||
result
|
||||
1
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))'));
|
||||
ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))'))
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))')) as result;
|
||||
result
|
||||
0
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'))
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
result
|
||||
0.7071067811865475
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)'));
|
||||
ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)'))
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)')) as result;
|
||||
result
|
||||
0
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'))
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
result
|
||||
0
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)'));
|
||||
ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)'))
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)')) as result;
|
||||
result
|
||||
0.4472135954999579
|
||||
select ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'))
|
||||
select ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
result
|
||||
0.8944271909999159
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')));
|
||||
astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')))
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))) as result;
|
||||
result
|
||||
POLYGON((26.47058823529412 23.823529411764707,21.951219512195124 27.439024390243905,23.855421686746986 29.819277108433734,29.289940828402365 26.36094674556213,26.47058823529412 23.823529411764707))
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)')));
|
||||
astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)')))
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)'))) as result;
|
||||
result
|
||||
MULTIPOINT(26.47058823529412 23.823529411764707,29.289940828402365 26.36094674556213,21.951219512195124 27.439024390243905,23.855421686746986 29.819277108433734)
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)')));
|
||||
astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)')))
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)'))) as result;
|
||||
result
|
||||
POINT(29.289940828402365 26.36094674556213)
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)')));
|
||||
astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)')))
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)'))) as result;
|
||||
result
|
||||
POINT(20 20)
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)')));
|
||||
astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)')))
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)'))) as result;
|
||||
result
|
||||
LINESTRING(0 0,46.666666666666664 46.666666666666664)
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')))
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
result
|
||||
MULTILINESTRING((0 0,46.666666666666664 46.666666666666664),(8 10,45.33333333333333 47.33333333333333))
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')))
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(LINESTRING(-10 -10,0 0),LINESTRING(-11 -9,8 10),POLYGON((0 0,40 50,50 45,0 0)),LINESTRING(46.666666666666664 46.666666666666664,200 200,199 201,45.33333333333333 47.33333333333333))
|
||||
select astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')));
|
||||
astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')))
|
||||
select astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) as result;
|
||||
result
|
||||
POLYGON((0 0,0 1,0.5 0.5,0 0))
|
||||
select astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')));
|
||||
astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')))
|
||||
select astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) as result;
|
||||
result
|
||||
MULTIPOLYGON(((0 0,0.5 0.5,1 0,0 0)),((0.5 0.5,0 1,0 2,1 1,0.5 0.5)))
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')))
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(LINESTRING(-10 -10,0 0),LINESTRING(-11 -9,8 10),POLYGON((0 0,40 50,50 45,0 0)),LINESTRING(46.666666666666664 46.666666666666664,200 200,199 201,45.33333333333333 47.33333333333333))
|
||||
select astext(ST_buffer(geometryfromtext('point(1 1)'), 1));
|
||||
astext(ST_buffer(geometryfromtext('point(1 1)'), 1))
|
||||
@ -170,26 +170,26 @@ select ST_NUMPOINTS(ST_EXTERIORRING(@buff));
|
||||
ST_NUMPOINTS(ST_EXTERIORRING(@buff))
|
||||
202
|
||||
DROP TABLE t1;
|
||||
select st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)'));
|
||||
st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)'))
|
||||
select st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)'));
|
||||
st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)'))
|
||||
select st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)')) as result;
|
||||
result
|
||||
1
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))')) as result;
|
||||
result
|
||||
1
|
||||
SELECT ST_Equals(PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),PolyFromText('POLYGON((67 13, 67 18, 59 19, 59 13, 59 13, 67 13) )')) as result;
|
||||
result
|
||||
@ -226,16 +226,14 @@ SELECT ASTEXT(TOUCHES(@a, GEOMFROMTEXT('point(0 0)'))) t;
|
||||
ERROR HY000: Illegal parameter data type boolean for operation 'st_astext'
|
||||
SELECT astext(ST_UNION (
|
||||
PolyFromText('POLYGON(( 2 2 ,3 2,2 7,2 2),( 0 0,8 2,1 9,0 0))'),
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))')))));
|
||||
astext(ST_UNION (
|
||||
PolyFromText('POLYGON(( 2 2 ,3 2,2 7,2 2),( 0 0,8 2,1 9,0 0))'),
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))')))))
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))'))))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(POLYGON((0 0,1 9,8 2,0 0),(2 2,2 7,3 2,2 2)),LINESTRING(0.5555555555555556 5,0 5,0 0,5 0,5 1.25),LINESTRING(2 5,2.4 5))
|
||||
SELECT astext(ST_BUFFER(LineStringFromText('LINESTRING(0 0,1 1)'),0));
|
||||
astext(ST_BUFFER(LineStringFromText('LINESTRING(0 0,1 1)'),0))
|
||||
LINESTRING(0 0,1 1)
|
||||
SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5);
|
||||
Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5)
|
||||
SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5) as result;
|
||||
result
|
||||
78.68426
|
||||
SELECT ST_INTERSECTION(NULL, NULL);
|
||||
ST_INTERSECTION(NULL, NULL)
|
||||
@ -247,21 +245,14 @@ MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4))
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 4,2 5,3 5)),
|
||||
((2 2,9 2,0 2,2 6,2 2)),
|
||||
((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)),
|
||||
((9 9,6 8,7 0,9 9)))')));
|
||||
ASTEXT(ST_INTERSECTION(
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),
|
||||
((0 5,3 5,3 0,0 0,0 1,2 1,2 2,0 2,0 5), (1 3,2 3,2 4,1 4,1 3)),
|
||||
((2 2,5 2,4 4,2 8,2 2)))'),
|
||||
MULTIPOLY
|
||||
((9 9,6 8,7 0,9 9)))'))) as result;
|
||||
result
|
||||
POLYGON((0 2,1 4,1 3,2 3,2 4,1 4,1.5 5,2 5,2 8,8 8,8 2,0 2),(4 4,4 6,6 6,6 4,4 4))
|
||||
SELECT ROUND(ST_LENGTH(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((6 2,4 0,3 5,3 6,4 3,6 4,3 9,0 7,3 7,8 4,2 9,5 0),
|
||||
(8 2,1 3,9 0,4 4))'),
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6))'))), 7);
|
||||
ROUND(ST_LENGTH(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((6 2,4 0,3 5,3 6,4 3,6 4,3 9,0 7,3 7,8 4,2 9,5 0),
|
||||
(8 2,1 3,9 0,4 4))'),
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6)
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6))'))), 7) as result;
|
||||
result
|
||||
90.2783626
|
||||
SELECT ST_NUMGEOMETRIES((ST_UNION(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 0,4 2,0 2,1 5,0 3,7 0,8 5,5 8),
|
||||
@ -274,18 +265,13 @@ MULTILINESTRINGFROMTEXT('MULTILINESTRING((6 0,9 3,2 5,3 6,3 2),
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((7 7,3 7,3 1,7 8,7 7)),
|
||||
((3 5,2 4,2 5,3 5)),
|
||||
((7 7,8 7,3 7,7 7,7 7)),
|
||||
((0 5,3 5,3 4,1 4,1 3,3 3,3 0,0 0,0 5), (1 1,2 1,2 2,1 2,1 1)))'))));
|
||||
ST_NUMGEOMETRIES((ST_UNION(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 0,4 2,0 2,1 5,0 3,7 0,8 5,5 8),
|
||||
(6 2,4 0,3 5,3 6,4 3,6 4,3 9,0 7,3 7,8 4,2 9,5 0),
|
||||
|
||||
((0 5,3 5,3 4,1 4,1 3,3 3,3 0,0 0,0 5), (1 1,2 1,2 2,1 2,1 1)))')))) as result;
|
||||
result
|
||||
192
|
||||
SELECT Round(ST_AREA(ST_BUFFER( ST_UNION(
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 7 7, 7 4, 7 7, 7 7))'),
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6);
|
||||
Round(ST_AREA(ST_BUFFER( ST_UNION(
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 7 7, 7 4, 7 7, 7 7))'),
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6)
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6) as result;
|
||||
result
|
||||
21.901344
|
||||
SELECT AsText(ST_UNION(MultiPolygonFromText('
|
||||
MULTIPOLYGON(((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)),
|
||||
@ -294,21 +280,14 @@ SELECT AsText(ST_UNION(MultiPolygonFromText('
|
||||
MultiPolygonFromText(' MULTIPOLYGON(((0 0, 1 9, 4 6, 0 0)),
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1)),
|
||||
((7 7, 4 7, 6 3, 7 2, 7 7)),
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1))) ')));
|
||||
AsText(ST_UNION(MultiPolygonFromText('
|
||||
MULTIPOLYGON(((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)),
|
||||
((0 0, 8 3, 7 4, 0 0)),
|
||||
((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)))'),
|
||||
MultiPolygonFr
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1))) '))) as result;
|
||||
result
|
||||
POLYGON((0 0,0 5,0.5555555555555556 5,1 9,2 8,8 8,8 2,5.333333333333334 2,3 1.125,3 0,0 0),(1 1,1 1.5,1.3333333333333333 2,2 2,2 1.1428571428571428,1.75 1,1 1),(3 1.7142857142857142,3 2,3.5 2,3 1.7142857142857142),(4 4,4 6,4.5 6,5.5 4,4 4))
|
||||
SELECT AsText(ST_SYMDIFFERENCE(
|
||||
MultiLineStringFromText('MULTILINESTRING((7 7, 1 7, 8 5, 7 8, 7 7),
|
||||
(6 3, 3 4, 1 1, 9 9, 9 0, 8 4, 9 9))'),
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)'))));
|
||||
AsText(ST_SYMDIFFERENCE(
|
||||
MultiLineStringFromText('MULTILINESTRING((7 7, 1 7, 8 5, 7 8, 7 7),
|
||||
(6 3, 3 4, 1 1, 9 9, 9 0, 8 4, 9 9))'),
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)'))))
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)')))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(POLYGON((0 0,0 9,7 9,7 0,0 0)),LINESTRING(9 9,8 4,9 0,9 9),LINESTRING(7 5.285714285714286,8 5,7.25 7.25),LINESTRING(7 7,7.25 7.25),LINESTRING(7.25 7.25,7 8),LINESTRING(7.25 7.25,9 9))
|
||||
SELECT AsText(ST_UNION(
|
||||
MultiPolygonFromText('MULTIPOLYGON(((9 9, 7 9, 1 1, 9 9)),
|
||||
@ -316,50 +295,38 @@ MultiPolygonFromText('MULTIPOLYGON(((9 9, 7 9, 1 1, 9 9)),
|
||||
((0 0, 7 5, 9 6, 0 0)),
|
||||
((7 7, 5 7, 1 5, 7 1, 7 7)))'),
|
||||
MultiPolygonFromText('MULTIPOLYGON(((2 2, 2 2, 1 5, 2 7, 2 2)),
|
||||
((0 5, 3 5, 3 0, 0 0, 0 5), (1 1, 2 1, 2 4, 1 4, 1 1)))')));
|
||||
AsText(ST_UNION(
|
||||
MultiPolygonFromText('MULTIPOLYGON(((9 9, 7 9, 1 1, 9 9)),
|
||||
((2 2, 1 2, 3 3, 2 2, 2 2)),
|
||||
((0 0, 7 5, 9 6, 0 0)),
|
||||
|
||||
((0 5, 3 5, 3 0, 0 0, 0 5), (1 1, 2 1, 2 4, 1 4, 1 1)))'))) as result;
|
||||
result
|
||||
POLYGON((0 0,0 5,1 5,2 7,2 5.5,5 7,5.5 7,7 9,9 9,7 7,7 5,9 6,7 4.666666666666667,7 1,4.25 2.833333333333333,3 2,3 0,0 0),(1 1,1 4,1.3333333333333333 4,1.8571428571428572 2.4285714285714284,1 2,1.75 2,1 1,2 2,2 1.4285714285714284,1.4 1,1 1),(1.5 1,2 1.3333333333333333,2 1,1.5 1),(3 2.142857142857143,3 3,3.4 3.4,4.1034482758620685 2.9310344827586206,3 2.142857142857143))
|
||||
SELECT AsText( ST_INTERSECTION(
|
||||
LinestringFromText('LINESTRING( 3 5, 2 5, 2 4, 3 4, 3 5 ) ') ,
|
||||
LinestringFromText('LINESTRING( 3 5, 2 4, 2 5, 3 5 ) ')
|
||||
));
|
||||
AsText( ST_INTERSECTION(
|
||||
LinestringFromText('LINESTRING( 3 5, 2 5, 2 4, 3 4, 3 5 ) ') ,
|
||||
LinestringFromText('LINESTRING( 3 5, 2 4, 2 5, 3 5 ) ')
|
||||
))
|
||||
)) as result;
|
||||
result
|
||||
LINESTRING(2 4,2 5,3 5)
|
||||
SELECT AsText( ST_UNION(
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 7 5 , 2 0 , 2 2 ) ) ') ,
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) );
|
||||
AsText( ST_UNION(
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 7 5 , 2 0 , 2 2 ) ) ') ,
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) )
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) ) as result;
|
||||
result
|
||||
POLYGON((2 0,2 5,3 3,3 2,7 5,2 0))
|
||||
SELECT AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)')));
|
||||
AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)')))
|
||||
SELECT AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION EMPTY
|
||||
SELECT AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))')));
|
||||
AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))')))
|
||||
SELECT AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(POINT(8 1),LINESTRING(2 4,2 5,3 5,3 4,2 4))
|
||||
SELECT ST_DISTANCE(POINTFROMTEXT('POINT(7 1)'),MULTILINESTRINGFROMTEXT('MULTILINESTRING(
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))'));
|
||||
ST_DISTANCE(POINTFROMTEXT('POINT(7 1)'),MULTILINESTRINGFROMTEXT('MULTILINESTRING(
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))'))
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))')) as result;
|
||||
result
|
||||
1
|
||||
SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))')));
|
||||
AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))')))
|
||||
SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(POLYGON((2 0,2 2,3 2,3 6,12 9,3 0,3 1,2 0)),LINESTRING(5 2,7 2))
|
||||
SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 2 5, 7 6, 1 8),(0 0 ,1 6 ,0 1, 8 9, 2 4, 6 1, 3 5, 4 8), (9 3, 5 4, 1 8, 4 2, 5 8, 3 0))' ) ,
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 3 1, 2 7, 4 2, 6 2, 1 5))')
|
||||
), 16)));
|
||||
ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 2 5, 7 6, 1 8),(0 0 ,1 6 ,0 1, 8 9, 2 4, 6 1, 3 5, 4 8), (9 3, 5 4, 1 8, 4 2, 5 8, 3 0))' ) ,
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 3 1, 2 7, 4 2, 6 2
|
||||
), 16))) as result;
|
||||
result
|
||||
278
|
||||
SELECT ST_NUMGEOMETRIES(ST_DIFFERENCE (
|
||||
ST_UNION (
|
||||
@ -372,10 +339,8 @@ MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' )
|
||||
)
|
||||
),
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 2 9 , 1 3 , 7 3 , 8 5 ) , ( 5 0 , 8 1 , 2 0 , 7 4 , 1 0 ) , ( 9 2 , 5 2 , 6 5 , 8 8 , 0 2 ) , ( 0 8 , 3 9 , 4 0 , 1 0 ) , ( 0 0 , 7 6 , 8 3 , 0 0 ) ) ' )
|
||||
));
|
||||
ST_NUMGEOMETRIES(ST_DIFFERENCE (
|
||||
ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 2 4 , 5 0 , 2 9 , 6 2 , 0 2 ) , ( 4 3 , 5 6 , 9 4 , 0 7 , 7 2 , 2 0 , 8 2 ) , ( 5 0 , 1 5 , 3 7 , 7 7 ) , ( 2 3 , 9 5 , 2 0 , 8 1 ) , ( 0 9 , 9 3 , 2 8 , 8 1 , 9 4 )
|
||||
)) as result;
|
||||
result
|
||||
125
|
||||
SELECT ASTEXT(ST_DIFFERENCE (
|
||||
POLYGONFROMTEXT( ' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ' ) ,
|
||||
@ -389,21 +354,14 @@ GEOMETRYFROMTEXT( ' MULTILINESTRING( ( 3 7 , 7 3 , 5 8 , 4 8 ) , ( 3 2 , 5 0 , 9
|
||||
)
|
||||
)
|
||||
)
|
||||
));
|
||||
ASTEXT(ST_DIFFERENCE (
|
||||
POLYGONFROMTEXT( ' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ' ) ,
|
||||
ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ' ) ,
|
||||
ST_SYMDIFFERENCE (
|
||||
MULTILINESTRINGFROMTEX
|
||||
)) as result;
|
||||
result
|
||||
POLYGON((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4))
|
||||
SELECT ST_NUMGEOMETRIES(ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 0 8 , 1 9 , 5 7 , 2 8 , 5 8 , 6 7 ) , ( 4 5 , 8 4 , 0 3 , 5 1 ) , ( 6 8 , 2 7 , 1 6 , 9 9 , 7 2 ) , ( 9 5 , 2 8 , 1 2 , 9 6 , 2 0 ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 7 7 , 2 7, 6 8, 7 1 , 7 7 ) ) ) ' )
|
||||
));
|
||||
ST_NUMGEOMETRIES(ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 0 8 , 1 9 , 5 7 , 2 8 , 5 8 , 6 7 ) , ( 4 5 , 8 4 , 0 3 , 5 1 ) , ( 6 8 , 2 7 , 1 6 , 9 9 , 7 2 ) , ( 9 5 , 2 8 , 1 2 , 9 6 , 2 0 ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (
|
||||
)) as result;
|
||||
result
|
||||
50
|
||||
SELECT ST_BUFFER (
|
||||
LINESTRINGFROMTEXT( ' LINESTRING( 5 4 , 3 8 , 2 6 , 5 5 , 7 9 ) ' ) ,
|
||||
@ -414,49 +372,50 @@ MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' )
|
||||
)
|
||||
)
|
||||
) ;
|
||||
ST_BUFFER (
|
||||
LINESTRINGFROMTEXT( ' LINESTRING( 5 4 , 3 8 , 2 6 , 5 5 , 7 9 ) ' ) ,
|
||||
ST_DISTANCE (
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' ) ,
|
||||
) as result;
|
||||
result
|
||||
NULL
|
||||
SELECT ST_DISTANCE (
|
||||
ST_DIFFERENCE (
|
||||
MULTIPOL
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' )
|
||||
),
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' )
|
||||
) as result;
|
||||
result
|
||||
NULL
|
||||
SELECT ST_DISTANCE ( ST_DIFFERENCE ( MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) , MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' ) ), MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' ) ) ;
|
||||
ST_DISTANCE ( ST_DIFFERENCE ( MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) , MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 ,
|
||||
NULL
|
||||
SELECT ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5)))'), geomETRYFROMTEXT(' MULTILINESTRING( ( 5 1 , 3 7 , 6 1 , 7 0 ) , ( 1 6 , 8 5 , 7 5 , 5 6 ) )') ));
|
||||
ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))
|
||||
SELECT ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5)))'), geomETRYFROMTEXT(' MULTILINESTRING( ( 5 1 , 3 7 , 6 1 , 7 0 ) , ( 1 6 , 8 5 , 7 5 , 5 6 ) )') )) as result;
|
||||
result
|
||||
MULTIPOINT(7 5,7 5.142857142857142,5.899999999999998 5.300000000000001,5.799999999999997 5.600000000000001,3 7)
|
||||
SELECT ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) '));
|
||||
ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) '))
|
||||
SELECT ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) ')) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') );
|
||||
ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') )
|
||||
SELECT ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') ) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) '));
|
||||
ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) '))
|
||||
SELECT ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) ')) as result;
|
||||
result
|
||||
1
|
||||
select ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY')));
|
||||
ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY')))
|
||||
select ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION EMPTY
|
||||
SELECT ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') );
|
||||
ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') )
|
||||
SELECT ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') ) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') );
|
||||
ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') )
|
||||
SELECT ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') ) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') );
|
||||
ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') )
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') ) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') );
|
||||
ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') )
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') ) as result;
|
||||
result
|
||||
1
|
||||
SELECT ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) '));
|
||||
ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) '))
|
||||
SELECT ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ')) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29)') );
|
||||
ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,
|
||||
SELECT ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29)') ) as result;
|
||||
result
|
||||
1
|
||||
SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER( POLYGONFROMTEXT( 'POLYGON( ( 0.0 -3.0,
|
||||
-2.910427500435995 0.727606875108998,
|
||||
@ -464,26 +423,20 @@ SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER( POLYGONFROMTEXT( 'POLYGON( ( 0.0
|
||||
7.664100588675687 1.503849116986468,
|
||||
1.664100588675687 -2.496150883013531,
|
||||
0.0 -3.0
|
||||
))' ), 3 )));
|
||||
ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER( POLYGONFROMTEXT( 'POLYGON( ( 0.0 -3.0,
|
||||
-2.910427500435995 0.727606875108998,
|
||||
-0.910427500435995 8.727606875108998,
|
||||
7.664100588675687 1.503849116986468,
|
||||
1.664100588675687 -2.496150883013531,
|
||||
0.0 -3.0
|
||||
))' ),
|
||||
))' ), 3 ))) as result;
|
||||
result
|
||||
136
|
||||
select astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1));
|
||||
astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1))
|
||||
select astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1)) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION EMPTY
|
||||
select ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)'));
|
||||
ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)'))
|
||||
select ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
result
|
||||
1
|
||||
select ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)'));
|
||||
ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)'))
|
||||
select ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
result
|
||||
1
|
||||
select ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)'));
|
||||
ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)'))
|
||||
select ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_RELATE(
|
||||
ST_DIFFERENCE(
|
||||
@ -750,30 +703,26 @@ dist buffer buf_area
|
||||
-1 POLYGON 16.00
|
||||
SELECT ST_CONTAINS(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)'));
|
||||
ST_CONTAINS(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)'))
|
||||
GeomFromText('POINT(5 10)')) as geom;
|
||||
geom
|
||||
0
|
||||
SELECT AsText(ST_UNION(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)')));
|
||||
AsText(ST_UNION(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)')))
|
||||
GeomFromText('POINT(5 10)'))) as geom;
|
||||
geom
|
||||
GEOMETRYCOLLECTION(POLYGON((0 0,0 5,5 5,5 0,0 0)),POLYGON((6 6,6 11,11 11,11 6,6 6)),POINT(5 10))
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# Bug #13833019 ASSERTION `T1->RESULT_RANGE' FAILED IN GCALC_OPERATION_REDUCER::END_COUPLE
|
||||
#
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3));
|
||||
GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3))
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3)) as geom;
|
||||
geom
|
||||
POLYGON
|
||||
#
|
||||
# Bug #13832749 HANDLE_FATAL_SIGNAL IN GCALC_FUNCTION::COUNT_INTERNAL
|
||||
#
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1));
|
||||
GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1))
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1)) as geom;
|
||||
geom
|
||||
POLYGON
|
||||
#
|
||||
# Bug#13358363 - ASSERTION: N > 0 && N < SINUSES_CALCULATED*2+1 | GET_N_SINCOS/ADD_EDGE_BUFFER
|
||||
@ -784,27 +733,21 @@ Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
SELECT ST_WITHIN(
|
||||
LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
|
||||
ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) '))));
|
||||
ST_WITHIN(
|
||||
LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
|
||||
ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) ')
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) ')))) as st;
|
||||
st
|
||||
0
|
||||
SELECT ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))));
|
||||
ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))))
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))')))) as st;
|
||||
st
|
||||
2
|
||||
SELECT ST_NUMINTERIORRINGS(
|
||||
ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))));
|
||||
ST_NUMINTERIORRINGS(
|
||||
ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))))
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) '))))) as st;
|
||||
st
|
||||
0
|
||||
SELECT ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))));
|
||||
ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))))
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) ')))) as st;
|
||||
st
|
||||
POLYGON((9 9,5 2,4 5,9 9))
|
||||
#
|
||||
# MDEV-13467 Feature request: Support for ST_Distance_Sphere()
|
||||
@ -832,74 +775,74 @@ ERROR 22023: Invalid GIS data provided to function ST_Distance_Sphere.
|
||||
SELECT ST_DISTANCE_SPHERE(1, 1, NULL);
|
||||
ST_DISTANCE_SPHERE(1, 1, NULL)
|
||||
NULL
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)')) as result;
|
||||
ERROR HY000: Internal error: st_distance_sphere
|
||||
# Test Points and radius
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10) as result;
|
||||
result
|
||||
157225.0865419108
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 0);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 0) as result;
|
||||
ERROR HY000: Internal error: Radius must be greater than zero.
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), -1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), -1) as result;
|
||||
ERROR HY000: Internal error: Radius must be greater than zero.
|
||||
# Test longitude/lattitude
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10) as result;
|
||||
result
|
||||
157225.0865419108
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10) as result;
|
||||
result
|
||||
222355.4901806686
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10) as result;
|
||||
result
|
||||
222389.3645969269
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
# Test Points - Multipoints
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
# Test Multipoints - Multipoints
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')) as result;
|
||||
result
|
||||
0
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10) as result;
|
||||
result
|
||||
314282.5644496733
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10) as result;
|
||||
result
|
||||
314282.5644496733
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17) as result;
|
||||
result
|
||||
0.04933028646581131
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),0);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),0) as result;
|
||||
ERROR HY000: Internal error: Radius must be greater than zero.
|
||||
set @pt1 = ST_GeomFromText('POINT(190 -30)');
|
||||
set @pt2 = ST_GeomFromText('POINT(-30 50)');
|
||||
|
@ -9,15 +9,12 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))'));
|
||||
select 0, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))'));
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)'));
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
select 0, ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
select 1, ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))'));
|
||||
--enable_view_protocol
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))')) as result;
|
||||
select 0, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))')) as result;
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)')) as result;
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
select 0, ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
select 1, ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))')) as result;
|
||||
|
||||
create table t1 (g point);
|
||||
insert into t1 values
|
||||
@ -38,53 +35,49 @@ select astext(g) from t1 where ST_Contains(GeomFromText('POLYGON((5 1, 7 1, 7 7,
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select 0, ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
select 1, ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
select 0, ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
select 1, ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
|
||||
|
||||
select 1, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)'));
|
||||
select 0, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)'));
|
||||
select 1, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)')) as result;
|
||||
select 0, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)')) as result;
|
||||
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'));
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) as result;
|
||||
|
||||
select astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')));
|
||||
select astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')));
|
||||
select astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) as result;
|
||||
select astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) as result;
|
||||
|
||||
select ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'));
|
||||
select ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)'));
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))'));
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'));
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'));
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))'));
|
||||
select ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) as result;
|
||||
select ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)')) as result;
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')) as result;
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) as result;
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) as result;
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))')) as result;
|
||||
|
||||
# Distance tests
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)'));
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)'));
|
||||
select ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)')) as result;
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)')) as result;
|
||||
select ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
|
||||
|
||||
# Operations tests
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')));
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)')));
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)')));
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)')));
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)')));
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))) as result;
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)'))) as result;
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)'))) as result;
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)'))) as result;
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)'))) as result;
|
||||
--replace_result 7.999999999999999 8
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
--replace_result 7.999999999999999 8
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
|
||||
select astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')));
|
||||
select astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) as result;
|
||||
|
||||
select astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')));
|
||||
select astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) as result;
|
||||
--replace_result 7.999999999999999 8
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
|
||||
--enable_view_protocol
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
|
||||
# Buffer() tests
|
||||
--replace_result 0012045437948276 00120454379482759
|
||||
@ -103,25 +96,20 @@ select ST_NUMPOINTS(ST_EXTERIORRING(@buff));
|
||||
# cleanup
|
||||
DROP TABLE t1;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
#Touches tests
|
||||
select st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)'));
|
||||
select st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))'));
|
||||
select st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)')) as result;
|
||||
select st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))')) as result;
|
||||
|
||||
#Equals test
|
||||
SELECT ST_Equals(PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),PolyFromText('POLYGON((67 13, 67 18, 59 19, 59 13, 59 13, 67 13) )')) as result;
|
||||
SELECT ST_Equals(PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),PolyFromText('POLYGON((67 13, 67 18, 59 18, 59 13, 59 13, 67 13) )')) as result;
|
||||
SELECT ST_Equals(PointFromText('POINT (12 13)'),PointFromText('POINT (12 13)')) as result;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # BUG#11755628/47429: INTERSECTION FUNCTION CRASHED MYSQLD
|
||||
--echo # BUG#11759650/51979: UNION/INTERSECTION OF POLYGONS CRASHES MYSQL
|
||||
@ -150,30 +138,19 @@ SELECT ASTEXT(TOUCHES(@a, GEOMFROMTEXT('point(0 0)'))) t;
|
||||
|
||||
# bug #801243 Assertion `(0)' failed in Gis_geometry_collection::init_from_opresult on ST_UNION
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
SELECT astext(ST_UNION (
|
||||
PolyFromText('POLYGON(( 2 2 ,3 2,2 7,2 2),( 0 0,8 2,1 9,0 0))'),
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))')))));
|
||||
|
||||
--enable_view_protocol
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))'))))) as result;
|
||||
|
||||
#bug 801189 ST_BUFFER asserts if radius = 0
|
||||
SELECT astext(ST_BUFFER(LineStringFromText('LINESTRING(0 0,1 1)'),0));
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
#bug 801199 Infinite recursion in Gcalc_function::count_internal with ST_BUFFER over MULTIPOINT
|
||||
SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5);
|
||||
--enable_view_protocol
|
||||
SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5) as result;
|
||||
|
||||
#bug 801212 Assertion with ST_INTERSECTION on NULL values
|
||||
SELECT ST_INTERSECTION(NULL, NULL);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
#bug 804305 Crash in wkb_get_double with ST_INTERSECTION
|
||||
SELECT ASTEXT(ST_INTERSECTION(
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),
|
||||
@ -182,14 +159,14 @@ SELECT ASTEXT(ST_INTERSECTION(
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 4,2 5,3 5)),
|
||||
((2 2,9 2,0 2,2 6,2 2)),
|
||||
((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)),
|
||||
((9 9,6 8,7 0,9 9)))')));
|
||||
((9 9,6 8,7 0,9 9)))'))) as result;
|
||||
|
||||
#bug 804324 Assertion 0 in Gcalc_scan_iterator::pop_suitable_intersection
|
||||
|
||||
SELECT ROUND(ST_LENGTH(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((6 2,4 0,3 5,3 6,4 3,6 4,3 9,0 7,3 7,8 4,2 9,5 0),
|
||||
(8 2,1 3,9 0,4 4))'),
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6))'))), 7);
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6))'))), 7) as result;
|
||||
|
||||
SELECT ST_NUMGEOMETRIES((ST_UNION(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 0,4 2,0 2,1 5,0 3,7 0,8 5,5 8),
|
||||
@ -202,13 +179,13 @@ SELECT ST_NUMGEOMETRIES((ST_UNION(ST_UNION(
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((7 7,3 7,3 1,7 8,7 7)),
|
||||
((3 5,2 4,2 5,3 5)),
|
||||
((7 7,8 7,3 7,7 7,7 7)),
|
||||
((0 5,3 5,3 4,1 4,1 3,3 3,3 0,0 0,0 5), (1 1,2 1,2 2,1 2,1 1)))'))));
|
||||
((0 5,3 5,3 4,1 4,1 3,3 3,3 0,0 0,0 5), (1 1,2 1,2 2,1 2,1 1)))')))) as result;
|
||||
|
||||
#bug #805860 Second assertion Assertion `n > 0 && n < SINUSES_CALCULATED*2+1' in get_n_sinco
|
||||
|
||||
SELECT Round(ST_AREA(ST_BUFFER( ST_UNION(
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 7 7, 7 4, 7 7, 7 7))'),
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6);
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6) as result;
|
||||
|
||||
|
||||
#bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult
|
||||
@ -220,7 +197,7 @@ SELECT AsText(ST_UNION(MultiPolygonFromText('
|
||||
MultiPolygonFromText(' MULTIPOLYGON(((0 0, 1 9, 4 6, 0 0)),
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1)),
|
||||
((7 7, 4 7, 6 3, 7 2, 7 7)),
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1))) ')));
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1))) '))) as result;
|
||||
|
||||
|
||||
#bug 801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple
|
||||
@ -228,7 +205,7 @@ MultiPolygonFromText(' MULTIPOLYGON(((0 0, 1 9, 4 6, 0 0)),
|
||||
SELECT AsText(ST_SYMDIFFERENCE(
|
||||
MultiLineStringFromText('MULTILINESTRING((7 7, 1 7, 8 5, 7 8, 7 7),
|
||||
(6 3, 3 4, 1 1, 9 9, 9 0, 8 4, 9 9))'),
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)'))));
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)')))) as result;
|
||||
|
||||
#bug 804266 Memory corruption/valgrind warning/crash in move_hole() with ST_UNION
|
||||
|
||||
@ -238,34 +215,34 @@ SELECT AsText(ST_UNION(
|
||||
((0 0, 7 5, 9 6, 0 0)),
|
||||
((7 7, 5 7, 1 5, 7 1, 7 7)))'),
|
||||
MultiPolygonFromText('MULTIPOLYGON(((2 2, 2 2, 1 5, 2 7, 2 2)),
|
||||
((0 5, 3 5, 3 0, 0 0, 0 5), (1 1, 2 1, 2 4, 1 4, 1 1)))')));
|
||||
((0 5, 3 5, 3 0, 0 0, 0 5), (1 1, 2 1, 2 4, 1 4, 1 1)))'))) as result;
|
||||
|
||||
#bug 802376 ST_INTERSECTION returns wrong result on two overlapping linestrings in maria-5.3-gis
|
||||
|
||||
SELECT AsText( ST_INTERSECTION(
|
||||
LinestringFromText('LINESTRING( 3 5, 2 5, 2 4, 3 4, 3 5 ) ') ,
|
||||
LinestringFromText('LINESTRING( 3 5, 2 4, 2 5, 3 5 ) ')
|
||||
));
|
||||
)) as result;
|
||||
|
||||
#bug 801560 ST_UNION of adjacent polygons includes extra line in maria-5.3-gis
|
||||
|
||||
SELECT AsText( ST_UNION(
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 7 5 , 2 0 , 2 2 ) ) ') ,
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) );
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) ) as result;
|
||||
|
||||
#bug 801466 ST_INTERSECTION() returns invalid value on empty intersection in maria-5.3-gis
|
||||
|
||||
SELECT AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)')));
|
||||
SELECT AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)'))) as result;
|
||||
|
||||
#bug 839341 100% CPU usage with ST_UNION in maria-5.3-gis
|
||||
SELECT AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))')));
|
||||
SELECT AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))'))) as result;
|
||||
|
||||
#bug 839318 Crash in Gcalc_scan_iterator::point::get_shape with ST_DISTANCE and MULTILINESTRING in maria-5.3-gis
|
||||
SELECT ST_DISTANCE(POINTFROMTEXT('POINT(7 1)'),MULTILINESTRINGFROMTEXT('MULTILINESTRING(
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))'));
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))')) as result;
|
||||
|
||||
#bug 839327 Crash in Gcalc_operation_reducer::end_couple with ST_UNION and MULTIPOLYGONs in 5.3-gis
|
||||
SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))')));
|
||||
SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))'))) as result;
|
||||
|
||||
#bug 841622 Assertion `t->rp->type == Gcalc_function::shape_line' failed in Gcalc_operation_reducer::end_line in maria-5.3-gis
|
||||
|
||||
@ -273,7 +250,7 @@ SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYG
|
||||
SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 2 5, 7 6, 1 8),(0 0 ,1 6 ,0 1, 8 9, 2 4, 6 1, 3 5, 4 8), (9 3, 5 4, 1 8, 4 2, 5 8, 3 0))' ) ,
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 3 1, 2 7, 4 2, 6 2, 1 5))')
|
||||
), 16)));
|
||||
), 16))) as result;
|
||||
|
||||
#bug 841625 Assertion `m_poly_borders->next' failed in Gcalc_operation_reducer::count_slice in maria-5.3-gis
|
||||
|
||||
@ -288,7 +265,7 @@ SELECT ST_NUMGEOMETRIES(ST_DIFFERENCE (
|
||||
)
|
||||
),
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 2 9 , 1 3 , 7 3 , 8 5 ) , ( 5 0 , 8 1 , 2 0 , 7 4 , 1 0 ) , ( 9 2 , 5 2 , 6 5 , 8 8 , 0 2 ) , ( 0 8 , 3 9 , 4 0 , 1 0 ) , ( 0 0 , 7 6 , 8 3 , 0 0 ) ) ' )
|
||||
));
|
||||
)) as result;
|
||||
|
||||
|
||||
#bug 841745 ssertion `!sp0->is_bottom()' failed in Gcalc_scan_iterator::find_intersections in maria-5.3-gis
|
||||
@ -304,13 +281,13 @@ SELECT ASTEXT(ST_DIFFERENCE (
|
||||
)
|
||||
)
|
||||
)
|
||||
));
|
||||
)) as result;
|
||||
|
||||
#bug 841773 Assertion `t0->rp->type == t1->rp->type' failed in Gcalc_operation_reducer::end_couple in maria-5.3-gis
|
||||
SELECT ST_NUMGEOMETRIES(ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 0 8 , 1 9 , 5 7 , 2 8 , 5 8 , 6 7 ) , ( 4 5 , 8 4 , 0 3 , 5 1 ) , ( 6 8 , 2 7 , 1 6 , 9 9 , 7 2 ) , ( 9 5 , 2 8 , 1 2 , 9 6 , 2 0 ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 7 7 , 2 7, 6 8, 7 1 , 7 7 ) ) ) ' )
|
||||
));
|
||||
)) as result;
|
||||
|
||||
#bug 841662 Third assertion `n > 0 && n < SINUSES_CALCULATED*2+1' in get_n_sincos
|
||||
SELECT ST_BUFFER (
|
||||
@ -322,47 +299,53 @@ SELECT ST_BUFFER (
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' )
|
||||
)
|
||||
)
|
||||
) ;
|
||||
SELECT ST_DISTANCE ( ST_DIFFERENCE ( MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) , MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' ) ), MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' ) ) ;
|
||||
) as result;
|
||||
SELECT ST_DISTANCE (
|
||||
ST_DIFFERENCE (
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' )
|
||||
),
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' )
|
||||
) as result;
|
||||
|
||||
#bug 848939 Wrong result with ST_INTERSECTION between linestrings and a polygon in 5.3-gis
|
||||
SELECT ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5)))'), geomETRYFROMTEXT(' MULTILINESTRING( ( 5 1 , 3 7 , 6 1 , 7 0 ) , ( 1 6 , 8 5 , 7 5 , 5 6 ) )') ));
|
||||
SELECT ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5)))'), geomETRYFROMTEXT(' MULTILINESTRING( ( 5 1 , 3 7 , 6 1 , 7 0 ) , ( 1 6 , 8 5 , 7 5 , 5 6 ) )') )) as result;
|
||||
|
||||
#bug 855485 ST_CROSSES returns different result than PostGIS for overlapping polygons
|
||||
|
||||
SELECT ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) '));
|
||||
SELECT ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) ')) as result;
|
||||
|
||||
#bug 855487 ST_WITHIN returns wrong result for partially overlapping polygons
|
||||
|
||||
SELECT ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') );
|
||||
SELECT ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') ) as result;
|
||||
|
||||
#bug 855492 ST_WITHIN returns TRUE on point on the edge of a polygon
|
||||
|
||||
SELECT ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) '));
|
||||
SELECT ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) ')) as result;
|
||||
|
||||
#bug 855497 ST_ENVELOPE of GEOMETRYCOLLECTION EMPTY returns NULL and not GEOMETRYCOLLECTION EMPTY
|
||||
|
||||
select ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY')));
|
||||
select ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY'))) as result;
|
||||
|
||||
#bug 855503 ST_EQUALS reports TRUE between a POLYGON and a MULTILINESTRING
|
||||
|
||||
SELECT ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') );
|
||||
SELECT ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') ) as result;
|
||||
|
||||
#bug 855505 ST_TOUCHES reports TRUE for intersecting polygon and linestring
|
||||
|
||||
SELECT ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') );
|
||||
SELECT ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') ) as result;
|
||||
|
||||
#bug 857051 ST_EQUALS returns TRUE on two nonidentical MULTIPOINTs
|
||||
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') );
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') );
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') ) as result;
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') ) as result;
|
||||
|
||||
#bug 857050 ST_WITHIN returns wrong result with MULTIPOINT and POLYGON
|
||||
SELECT ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) '));
|
||||
SELECT ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ')) as result;
|
||||
|
||||
#bug 857087 Wrong result with ST_INTERSECTS and LINESTRINGs
|
||||
|
||||
SELECT ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29)') );
|
||||
SELECT ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29)') ) as result;
|
||||
|
||||
#bug 977201 ST_BUFFER fails with the negative D. TODO - check the result deeper.
|
||||
# select ASTEXT(ST_BUFFER(ST_GEOMCOLLFROMTEXT(' GEOMETRYCOLLECTION(LINESTRING(100 100, 31 10, 77 80), POLYGON((0 0,4 7,1 1,0 0)), POINT(20 20))'), -3));
|
||||
@ -374,15 +357,15 @@ SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER( POLYGONFROMTEXT( 'POLYGON( ( 0.0
|
||||
7.664100588675687 1.503849116986468,
|
||||
1.664100588675687 -2.496150883013531,
|
||||
0.0 -3.0
|
||||
))' ), 3 )));
|
||||
))' ), 3 ))) as result;
|
||||
|
||||
# MDEV-5615 crash in Gcalc_function::add_operation
|
||||
select astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1));
|
||||
select astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1)) as result;
|
||||
|
||||
# MDEV-7925 Inconsistent behavior of ST_Touches with a POINT as one of arguments
|
||||
select ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)'));
|
||||
select ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)'));
|
||||
select ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)'));
|
||||
select ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
select ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
select ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
|
||||
# MDEV-12705 10.1.18-MariaDB-1~jessie - mysqld got signal 11.
|
||||
SELECT ST_RELATE(
|
||||
@ -403,8 +386,6 @@ SELECT ST_RELATE(
|
||||
'F*FFFF**F'
|
||||
) as relate_res;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
# MDEV-18920 Prepared statements with st_convexhull hang and eat 100% cpu.
|
||||
prepare s from 'do st_convexhull(st_aswkb(multipoint(point(-11702,15179),point(-5031,27960),point(-30557,11158),point(-27804,30314))))';
|
||||
execute s;
|
||||
@ -442,45 +423,41 @@ SELECT ST_DISTANCE_SPHERE(1, 1, 3);
|
||||
SELECT ST_DISTANCE_SPHERE(1, 1, NULL);
|
||||
# Wrong geometry
|
||||
--error ER_INTERNAL_ERROR
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)')) as result;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
--echo # Test Points and radius
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)')) as result;
|
||||
# make bb x86 happy
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1) as result;
|
||||
--error ER_INTERNAL_ERROR
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 0);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 0) as result;
|
||||
--error ER_INTERNAL_ERROR
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), -1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), -1) as result;
|
||||
--echo # Test longitude/lattitude
|
||||
# make bb x86 happy
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)'));
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10) as result;
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10) as result;
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)')) as result;
|
||||
--echo # Test Points - Multipoints
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)')) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)')) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)')) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)')) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1) as result;
|
||||
--echo # Test Multipoints - Multipoints
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')) as result;
|
||||
# make bb x86 happy
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10) as result;
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10) as result;
|
||||
# make bb x86 happy
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17) as result;
|
||||
--error ER_INTERNAL_ERROR
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),0);
|
||||
|
||||
--enable_view_protocol
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),0) as result;
|
||||
|
||||
# Longitude out of range [-180,180]
|
||||
set @pt1 = ST_GeomFromText('POINT(190 -30)');
|
||||
|
@ -23,10 +23,13 @@ SET
|
||||
|
||||
SELECT DISTINCT * FROM t1 WHERE a IN (1, 2);
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select
|
||||
CAST(json_value(json_extract(trace, '$**.chosen_access_method.cost'), '$[0]')
|
||||
as DOUBLE) < 1.0e100 as ACCESS_METHOD_COST_IS_FINITE
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
set optimizer_use_condition_selectivity = @tmp, optimizer_trace=@tmp2;
|
||||
drop table t1;
|
||||
|
@ -258,6 +258,8 @@ where t1.col2 in
|
||||
|
||||
# the having column is resolved in the FROM clause of the outer query -
|
||||
# works in ANSI
|
||||
#Enable after fix MDEV-31937
|
||||
--disable_ps2_protocol
|
||||
select t1.col1 from t1
|
||||
where t1.col2 in
|
||||
(select t2.col2 from t2
|
||||
@ -284,6 +286,7 @@ where t1.col2 in
|
||||
group by t2.col1, t2.col2 having col_t1 <= 10)
|
||||
group by col_t1
|
||||
having col_t1 <= 20;
|
||||
--enable_ps2_protocol
|
||||
|
||||
#
|
||||
# nested HAVING clauses
|
||||
@ -412,11 +415,14 @@ INSERT INTO PROJ VALUES ('P4','SDP','Design',20000,'Deale');
|
||||
INSERT INTO PROJ VALUES ('P5','IRM','Test',10000,'Vienna');
|
||||
INSERT INTO PROJ VALUES ('P6','PAYR','Design',50000,'Deale');
|
||||
|
||||
#Enable after fix MDEV-31937
|
||||
--disable_ps2_protocol
|
||||
SELECT EMPNUM, GRADE*1000
|
||||
FROM HU.STAFF WHERE GRADE * 1000 >
|
||||
ANY (SELECT SUM(BUDGET) FROM HU.PROJ
|
||||
GROUP BY CITY, PTYPE
|
||||
HAVING HU.PROJ.CITY = HU.STAFF.CITY);
|
||||
--enable_ps2_protocol
|
||||
|
||||
DROP SCHEMA HU;
|
||||
USE test;
|
||||
@ -956,6 +962,8 @@ DROP TABLE t;
|
||||
--echo # MDEV-29731 Crash when HAVING in a correlated subquery references
|
||||
--echo # columns in the outer query
|
||||
--echo #
|
||||
#Enable after fix MDEV-29731
|
||||
--disable_view_protocol
|
||||
CREATE TABLE t (a INT, b INT);
|
||||
SELECT 1 FROM t
|
||||
WHERE b = (SELECT 1 FROM t GROUP BY a HAVING b = a+1);
|
||||
@ -998,6 +1006,7 @@ UPDATE t SET a = ''
|
||||
WHERE (0, a) IN ((0,-1),(+1,0))
|
||||
ORDER BY 1+AVG(a) OVER (ORDER BY a)) ORDER BY a;
|
||||
DROP TABLE t;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
|
@ -371,47 +371,47 @@ create table t4 (a int);
|
||||
insert into t4 values (1),(4),(3);
|
||||
set @save_join_buffer_size=@@join_buffer_size;
|
||||
set join_buffer_size= 4096;
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A force index(i1,i2), t0 as B force index (i1,i2)
|
||||
where (A.key1 < 500000 or A.key2 < 3)
|
||||
and (B.key1 < 500000 or B.key2 < 3);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1010 Using sort_union(i1,i2); Using where
|
||||
1 SIMPLE B index_merge i1,i2 i1,i2 4,4 NULL 1010 Using sort_union(i1,i2); Using where; Using join buffer (flat, BNL join)
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A force index(i1,i2), t0 as B force index (i1,i2)
|
||||
where (A.key1 < 500000 or A.key2 < 3)
|
||||
and (B.key1 < 500000 or B.key2 < 3);
|
||||
max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
exp
|
||||
10240
|
||||
update t0 set key1=1;
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A force index(i1,i2), t0 as B force index (i1,i2)
|
||||
where (A.key1 = 1 or A.key2 = 1)
|
||||
and (B.key1 = 1 or B.key2 = 1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE A index_merge i1,i2 i1,i2 4,4 NULL 1021 Using union(i1,i2); Using where
|
||||
1 SIMPLE B index_merge i1,i2 i1,i2 4,4 NULL 1021 Using union(i1,i2); Using where; Using join buffer (flat, BNL join)
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A force index(i1,i2), t0 as B force index (i1,i2)
|
||||
where (A.key1 = 1 or A.key2 = 1)
|
||||
and (B.key1 = 1 or B.key2 = 1);
|
||||
max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
exp
|
||||
8194
|
||||
alter table t0 add filler1 char(200), add filler2 char(200), add filler3 char(200);
|
||||
update t0 set key2=1, key3=1, key4=1, key5=1,key6=1,key7=1 where key7 < 500;
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
explain select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A straight_join t0 as B
|
||||
where (A.key1 = 1 and A.key2 = 1 and A.key3 = 1 and A.key4=1 and A.key5=1 and A.key6=1 and A.key7 = 1 or A.key8=1)
|
||||
and (B.key1 = 1 and B.key2 = 1 and B.key3 = 1 and B.key4=1 and B.key5=1 and B.key6=1 and B.key7 = 1 or B.key8=1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE A index_merge i1,i2,i3,i4,i5,i6,i7?,i8 i2,i3,i4,i5,i6,i7?,i8 X NULL # Using union(intersect(i2,i3,i4,i5,i6,i7?),i8); Using where
|
||||
1 SIMPLE B index_merge i1,i2,i3,i4,i5,i6,i7?,i8 i2,i3,i4,i5,i6,i7?,i8 X NULL # Using union(intersect(i2,i3,i4,i5,i6,i7?),i8); Using where; Using join buffer (flat, BNL join)
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
select max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5) as exp
|
||||
from t0 as A straight_join t0 as B
|
||||
where (A.key1 = 1 and A.key2 = 1 and A.key3 = 1 and A.key4=1 and A.key5=1 and A.key6=1 and A.key7 = 1 or A.key8=1)
|
||||
and (B.key1 = 1 and B.key2 = 1 and B.key3 = 1 and B.key4=1 and B.key5=1 and B.key6=1 and B.key7 = 1 or B.key8=1);
|
||||
max(A.key1 + B.key1 + A.key2 + B.key2 + A.key3 + B.key3 + A.key4 + B.key4 + A.key5 + B.key5)
|
||||
exp
|
||||
8186
|
||||
set join_buffer_size= @save_join_buffer_size;
|
||||
drop table t0, t1, t2, t3, t4;
|
||||
|
@ -917,7 +917,7 @@ Klaipeda
|
||||
?iauliai
|
||||
Panevezys
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
@ -925,12 +925,12 @@ Country.Population > 10000000;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE Country ALL NULL NULL NULL NULL 239 Using where
|
||||
1 SIMPLE CountryLanguage hash_ALL PRIMARY #hash#PRIMARY 33 world.Country.Code,const 984 Using where; Using join buffer (flat, BNLH join)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
Name epx
|
||||
Australia 81.2
|
||||
United Kingdom 97.3
|
||||
Canada 60.4
|
||||
@ -1117,7 +1117,7 @@ Klaipeda
|
||||
?iauliai
|
||||
Panevezys
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
@ -1125,12 +1125,12 @@ Country.Population > 10000000;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE Country ALL NULL NULL NULL NULL 239 Using where
|
||||
1 SIMPLE CountryLanguage hash_ALL PRIMARY #hash#PRIMARY 33 world.Country.Code,const 984 Using where; Using join buffer (flat, BNLH join)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
Name epx
|
||||
Australia 81.2
|
||||
United Kingdom 97.3
|
||||
Canada 60.4
|
||||
@ -1376,7 +1376,7 @@ Klaipeda
|
||||
?iauliai
|
||||
Panevezys
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
@ -1384,12 +1384,12 @@ Country.Population > 10000000;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE Country ALL NULL NULL NULL NULL 239 Using where
|
||||
1 SIMPLE CountryLanguage eq_ref PRIMARY PRIMARY 33 world.Country.Code,const 1 Using where; Using join buffer (flat, BKA join); Key-ordered Rowid-ordered scan
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
Name epx
|
||||
Australia 81.2
|
||||
United Kingdom 97.3
|
||||
Canada 60.4
|
||||
@ -1573,7 +1573,7 @@ Klaipeda
|
||||
?iauliai
|
||||
Panevezys
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
@ -1581,12 +1581,12 @@ Country.Population > 10000000;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE Country ALL NULL NULL NULL NULL 239 Using where
|
||||
1 SIMPLE CountryLanguage eq_ref PRIMARY PRIMARY 33 world.Country.Code,const 1 Using where; Using join buffer (flat, BKA join); Key-ordered Rowid-ordered scan
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
Name epx
|
||||
Australia 81.2
|
||||
United Kingdom 97.3
|
||||
Canada 60.4
|
||||
@ -1770,7 +1770,7 @@ Klaipeda
|
||||
?iauliai
|
||||
Panevezys
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
@ -1778,12 +1778,12 @@ Country.Population > 10000000;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE Country ALL NULL NULL NULL NULL 239 Using where
|
||||
1 SIMPLE CountryLanguage eq_ref PRIMARY PRIMARY 33 world.Country.Code,const 1 Using where; Using join buffer (flat, BKAH join); Key-ordered Rowid-ordered scan
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
Name epx
|
||||
Australia 81.2
|
||||
United Kingdom 97.3
|
||||
Canada 60.4
|
||||
@ -1967,7 +1967,7 @@ Klaipeda
|
||||
?iauliai
|
||||
Panevezys
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
@ -1975,12 +1975,12 @@ Country.Population > 10000000;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE Country ALL NULL NULL NULL NULL 239 Using where
|
||||
1 SIMPLE CountryLanguage eq_ref PRIMARY PRIMARY 33 world.Country.Code,const 1 Using where; Using join buffer (flat, BKAH join); Key-ordered Rowid-ordered scan
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
Name IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
Name epx
|
||||
Australia 81.2
|
||||
United Kingdom 97.3
|
||||
Canada 60.4
|
||||
|
@ -411,24 +411,19 @@ SELECT Name FROM City
|
||||
WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE 'L%') AND
|
||||
City.Population > 100000;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
show variables like 'join_buffer_size';
|
||||
set join_cache_level=4;
|
||||
show variables like 'join_cache_level';
|
||||
@ -470,24 +465,19 @@ SELECT Name FROM City
|
||||
WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE 'L%') AND
|
||||
City.Population > 100000;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
--replace_column 9 #
|
||||
EXPLAIN
|
||||
SELECT Country.Name, Country.Population, City.Name, City.Population
|
||||
@ -558,24 +548,19 @@ SELECT Name FROM City
|
||||
WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE 'L%') AND
|
||||
City.Population > 100000;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
set join_cache_level=6;
|
||||
show variables like 'join_cache_level';
|
||||
|
||||
@ -616,24 +601,19 @@ SELECT Name FROM City
|
||||
WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE 'L%') AND
|
||||
City.Population > 100000;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
set join_cache_level=7;
|
||||
show variables like 'join_cache_level';
|
||||
|
||||
@ -674,24 +654,19 @@ SELECT Name FROM City
|
||||
WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE 'L%') AND
|
||||
City.Population > 100000;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
set join_cache_level=8;
|
||||
show variables like 'join_cache_level';
|
||||
|
||||
@ -732,23 +707,19 @@ SELECT Name FROM City
|
||||
WHERE City.Country IN (SELECT Code FROM Country WHERE Country.Name LIKE 'L%') AND
|
||||
City.Population > 100000;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
EXPLAIN
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage)
|
||||
SELECT Country.Name, IF(ISNULL(CountryLanguage.Country), NULL, CountryLanguage.Percentage) as epx
|
||||
FROM Country LEFT JOIN CountryLanguage ON
|
||||
(CountryLanguage.Country=Country.Code AND Language='English')
|
||||
WHERE
|
||||
Country.Population > 10000000;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
set join_buffer_size=256;
|
||||
show variables like 'join_buffer_size';
|
||||
|
@ -23,14 +23,12 @@ select json_equals('{"a":[1, 2, 3]}', '{"a":[1, 2, 3]}');
|
||||
json_equals('{"a":[1, 2, 3]}', '{"a":[1, 2, 3]}')
|
||||
1
|
||||
select json_equals('{"țanțoș":[1, 2, "ț", {"some uâ߀":"uâßr"}]}',
|
||||
'{"țanțoș":[1, 2, "ț", {"some uâ߀":"uâßr"}]}');
|
||||
json_equals('{"țanțoș":[1, 2, "ț", {"some uâ߀":"uâßr"}]}',
|
||||
'{"țanțoș":[1, 2, "ț", {"some uâ߀":"uâßr"}]}')
|
||||
'{"țanțoș":[1, 2, "ț", {"some uâ߀":"uâßr"}]}') as je;
|
||||
je
|
||||
1
|
||||
select json_equals('{"a" : [0.123456789123456789], "b" : [1, 2, 3]}',
|
||||
'{"b" : [1, 2, 3], "a" : [0.123456789123456789]}');
|
||||
json_equals('{"a" : [0.123456789123456789], "b" : [1, 2, 3]}',
|
||||
'{"b" : [1, 2, 3], "a" : [0.123456789123456789]}')
|
||||
'{"b" : [1, 2, 3], "a" : [0.123456789123456789]}') as je;
|
||||
je
|
||||
1
|
||||
#
|
||||
# Test max json depth for json_equals.
|
||||
|
@ -15,14 +15,11 @@ select json_equals('{"a":[1, 2, 3]}', '{"a":[1, 2, 3, 4]}');
|
||||
|
||||
select json_equals('{"a":[1, 2, 3]}', '{"a":[1, 2, 3]}');
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select json_equals('{"țanțoș":[1, 2, "ț", {"some uâ߀":"uâßr"}]}',
|
||||
'{"țanțoș":[1, 2, "ț", {"some uâ߀":"uâßr"}]}');
|
||||
'{"țanțoș":[1, 2, "ț", {"some uâ߀":"uâßr"}]}') as je;
|
||||
|
||||
select json_equals('{"a" : [0.123456789123456789], "b" : [1, 2, 3]}',
|
||||
'{"b" : [1, 2, 3], "a" : [0.123456789123456789]}');
|
||||
--enable_view_protocol
|
||||
'{"b" : [1, 2, 3], "a" : [0.123456789123456789]}') as je;
|
||||
|
||||
--echo #
|
||||
--echo # Test max json depth for json_equals.
|
||||
|
4
mysql-test/main/log_slow_filter.opt
Normal file
4
mysql-test/main/log_slow_filter.opt
Normal file
@ -0,0 +1,4 @@
|
||||
--log-slow-filter= --log_queries_not_using_indexes=0
|
||||
|
||||
|
||||
|
8
mysql-test/main/log_slow_filter.result
Normal file
8
mysql-test/main/log_slow_filter.result
Normal file
@ -0,0 +1,8 @@
|
||||
call mtr.add_suppression("log_slow_filter=\"\" changed to log_slow_filter=ALL");
|
||||
show variables like "log_slow_filter";
|
||||
Variable_name Value
|
||||
log_slow_filter admin,filesort,filesort_on_disk,filesort_priority_queue,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
|
||||
set @@log_slow_filter="all";
|
||||
show variables like "log_slow_filter";
|
||||
Variable_name Value
|
||||
log_slow_filter admin,filesort,filesort_on_disk,filesort_priority_queue,full_join,full_scan,not_using_index,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
|
7
mysql-test/main/log_slow_filter.test
Normal file
7
mysql-test/main/log_slow_filter.test
Normal file
@ -0,0 +1,7 @@
|
||||
# Test setting log_slow_filter to empty in config files
|
||||
|
||||
call mtr.add_suppression("log_slow_filter=\"\" changed to log_slow_filter=ALL");
|
||||
|
||||
show variables like "log_slow_filter";
|
||||
set @@log_slow_filter="all";
|
||||
show variables like "log_slow_filter";
|
@ -28,7 +28,7 @@ perl;
|
||||
large-files-support lower-case-file-system system-time-zone
|
||||
collation-server character-set-server log-tc-size table-cache
|
||||
table-open-cache table-open-cache-instances max-connections
|
||||
tls-version version.* password-reuse-check
|
||||
server-uid tls-version version.* password-reuse-check
|
||||
provider-bzip2 provider-lzma provider-lzo
|
||||
password-reuse-check-interval/;
|
||||
|
||||
|
@ -10689,9 +10689,9 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t3 const PRIMARY NULL NULL NULL 1 Impossible ON condition
|
||||
1 SIMPLE t2 const PRIMARY NULL NULL NULL 1 Impossible ON condition
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 10
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.mark_join_nest_as_const'))
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.mark_join_nest_as_const')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
JSON_DETAILED(JSON_EXTRACT(trace, '$**.mark_join_nest_as_const'))
|
||||
jd
|
||||
[
|
||||
{
|
||||
"members":
|
||||
@ -10714,9 +10714,9 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t0 ALL NULL NULL NULL NULL 10 Using where
|
||||
1 PRIMARY <derived3> ref key0 key0 4 test.t0.a 2 FirstMatch(t0)
|
||||
3 DERIVED NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
jd
|
||||
[
|
||||
{
|
||||
"item": "t0.a in (1,2,3,4,5,6)",
|
||||
@ -10757,9 +10757,9 @@ json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
explain select * from t0 where a in (1,2,3,4,5,a+1);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t0 ALL NULL NULL NULL NULL 10 Using where
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
jd
|
||||
[
|
||||
{
|
||||
"item": "t0.a in (1,2,3,4,5,t0.a + 1)",
|
||||
@ -10770,9 +10770,9 @@ json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
explain select * from t0 where a in ('1','2','3','4','5','6');
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t0 ALL NULL NULL NULL NULL 10 Using where
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
jd
|
||||
[
|
||||
{
|
||||
"item": "t0.a in ('1','2','3','4','5','6')",
|
||||
|
@ -1,7 +1,5 @@
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_sequence.inc
|
||||
# View protocol changes some plans
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
SELECT table_name, column_name FROM information_schema.columns where table_name="OPTIMIZER_TRACE";
|
||||
set optimizer_trace="enabled=on";
|
||||
@ -83,7 +81,9 @@ analyze table t1;
|
||||
analyze table t2;
|
||||
|
||||
explain select * from t1,t2 where t1.a=t2.b+2 and t2.a= t1.b;
|
||||
--disable_view_protocol
|
||||
select * from information_schema.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1,t2,t0;
|
||||
|
||||
--echo #
|
||||
@ -110,7 +110,9 @@ INSERT INTO t1(a) SELECT a FROM t1;
|
||||
|
||||
analyze table t1;
|
||||
EXPLAIN SELECT DISTINCT a FROM t1;
|
||||
--disable_view_protocol
|
||||
select * from information_schema.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
@ -120,7 +122,9 @@ CREATE TABLE t1 (a INT, b INT, c int, d int, KEY(a,b,c,d));
|
||||
INSERT INTO t1 VALUES (1,1,1,1), (2,2,2,2), (3,3,3,3), (4,4,4,4), (1,0,1,1), (3,2,3,3), (4,5,4,4);
|
||||
ANALYZE TABLE t1;
|
||||
EXPLAIN SELECT MIN(d) FROM t1 where b=2 and c=3 group by a;
|
||||
--disable_view_protocol
|
||||
select * from information_schema.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (id INT NOT NULL, a DATE, KEY(id,a));
|
||||
@ -134,9 +138,13 @@ INSERT INTO t1 values (1,'2001-01-01'),(1,'2001-01-02'),
|
||||
(4,'2001-01-03'),(4,'2001-01-04');
|
||||
set optimizer_trace='enabled=on';
|
||||
EXPLAIN SELECT id,MIN(a),MAX(a) FROM t1 WHERE a>=20010104e0 GROUP BY id;
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
EXPLAIN SELECT * FROM t1 WHERE a = 20010104e0 GROUP BY id;
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
@ -165,7 +173,9 @@ update t1 set b=2 where pk between 0 and 20;
|
||||
analyze table t1;
|
||||
set optimizer_trace='enabled=on';
|
||||
explain select * from t1 where a=1 and b=2 order by c limit 1;
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1,ten,one_k;
|
||||
|
||||
--echo #
|
||||
@ -191,15 +201,21 @@ analyze table t3;
|
||||
--echo # table t2 should be eliminated
|
||||
explain
|
||||
select t1.a from t1 left join t2 on t1.a=t2.a;
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # no tables should be eliminated
|
||||
explain select * from t1 left join t2 on t2.a=t1.a;
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # multiple tables are eliminated
|
||||
explain select t1.a from t1 left join (t2 join t3 on t2.b=t3.b) on t2.a=t1.a and t3.a=t1.a;
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t0, t1, t2, t3;
|
||||
|
||||
--echo #
|
||||
@ -224,7 +240,9 @@ analyze table t1,t10;
|
||||
|
||||
set optimizer_trace='enabled=on';
|
||||
explain extended select * from t1 where a in (select pk from t10);
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t0,t1,t11,t10,t12,t2;
|
||||
|
||||
--echo #
|
||||
@ -250,7 +268,9 @@ set @@optimizer_use_condition_selectivity=4;
|
||||
set @@use_stat_tables= PREFERABLY;
|
||||
set optimizer_trace='enabled=on';
|
||||
explain select * from t1 where pk = 2 and a=5 and b=1;
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
set @@optimizer_use_condition_selectivity=@save_optimizer_use_condition_selectivity;
|
||||
set @@use_stat_tables= @save_use_stat_tables;
|
||||
drop table t0,t1;
|
||||
@ -329,7 +349,9 @@ alter table t0 add key(a);
|
||||
|
||||
set optimizer_trace=1;
|
||||
explain delete from t0 where t0.a<3;
|
||||
--disable_view_protocol
|
||||
select * from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
drop table ten,t0;
|
||||
set optimizer_trace='enabled=off';
|
||||
|
||||
@ -346,7 +368,9 @@ alter table t0 add key(a);
|
||||
create table t1 like t0;
|
||||
insert into t1 select * from t0;
|
||||
explain delete t0,t1 from t0, t1 where t0.a=t1.a and t1.a<3;
|
||||
--disable_view_protocol
|
||||
select * from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
drop table ten,t0,t1;
|
||||
set optimizer_trace='enabled=off';
|
||||
|
||||
@ -358,7 +382,9 @@ set optimizer_trace=1;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
explain select * from (select rand() from t1)q;
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
set optimizer_trace='enabled=off';
|
||||
|
||||
@ -373,6 +399,7 @@ create table t2(a int);
|
||||
insert into t2 values (1),(2),(3),(1),(2),(3),(1),(2),(3);
|
||||
set @save_optimizer_switch= @@optimizer_switch;
|
||||
explain select * from t1 where a in (select t_inner_1.a from t1 t_inner_1, t1 t_inner_2);
|
||||
--disable_view_protocol
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
|
||||
--echo # with Firstmatch, mostly for tracing fix_semijoin_strategies_for_picked_join_order
|
||||
@ -385,6 +412,7 @@ set optimizer_switch='materialization=on';
|
||||
explain select * from t1 t_outer_1,t2 t_outer_2 where t_outer_1.a in (select t_inner_1.a from t2 t_inner_2, t1 t_inner_1) and
|
||||
t_outer_2.a in (select t_inner_3.a from t2 t_inner_3, t1 t_inner_4);
|
||||
select * from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
set @@optimizer_switch= @save_optimizer_switch;
|
||||
drop table t1,t2;
|
||||
|
||||
@ -413,11 +441,14 @@ create table t1 ( a int, b int, key a_b(a,b));
|
||||
insert into t1 select a,a from one_k;
|
||||
set optimizer_trace='enabled=on';
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
explain select * from t1 force index (a_b) where a=2 and b=4;
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
|
||||
explain select * from t1 where a >= 900 and b between 10 and 20;
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t0,t1;
|
||||
|
||||
@ -426,7 +457,10 @@ create table t1 (start_date date, end_date date, filler char(100), key(start_dat
|
||||
insert into t1 select date_add(now(), interval a day), date_add(now(), interval (a+7) day), 'data' from one_k;
|
||||
--enable_warnings
|
||||
explain select * from t1 force index(start_date) where start_date >= '2019-02-10' and end_date <'2019-04-01';
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1,one_k;
|
||||
|
||||
create table ten(a int);
|
||||
@ -441,7 +475,10 @@ create table t1 (
|
||||
|
||||
insert into t1 select a,a, a,a from ten;
|
||||
explain select * from t1 force index(a_b_c) where a between 1 and 4 and b < 50;
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table ten,t1;
|
||||
|
||||
--echo # Ported test from MYSQL for ranges involving Binary column
|
||||
@ -450,11 +487,14 @@ CREATE TABLE t1(i INT PRIMARY KEY, b BINARY(16), INDEX i_b(b));
|
||||
INSERT INTO t1 VALUES (1, x'D95B94336A9946A39CF5B58CFE772D8C');
|
||||
INSERT INTO t1 VALUES (2, NULL);
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
EXPLAIN SELECT * FROM t1 WHERE b IN (0xD95B94336A9946A39CF5B58CFE772D8C);
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
|
||||
EXPLAIN SELECT * FROM t1 WHERE b IS NULL;
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1;
|
||||
|
||||
@ -467,6 +507,8 @@ INSERT INTO t1 VALUES (1, 'ab\n');
|
||||
INSERT INTO t1 VALUES (2, NULL);
|
||||
set optimizer_trace=1;
|
||||
EXPLAIN SELECT * FROM t1 WHERE b='ab\n';
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
|
||||
ALTER TABLE t1 modify column b BINARY(10) AFTER i;
|
||||
@ -510,6 +552,7 @@ insert into t1 select date_add(now(), interval a day), date_add(now(), interval
|
||||
--enable_warnings
|
||||
explain format=json select * from t1 force index(start_date) where start_date >= '2019-02-10' and end_date <'2019-04-01';
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1, t0, one_k;
|
||||
|
||||
--echo #
|
||||
@ -541,13 +584,19 @@ set optimizer_trace=1;
|
||||
--echo # but for joins using condition selectivity it is not as trivial. So,
|
||||
--echo # now we are printing it)
|
||||
explain select * from t0 A, one_k B where A.a<5 and B.a<800;
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.considered_execution_plans')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
|
||||
set join_cache_level=@tmp_jcl;
|
||||
|
||||
--echo # This shows post-join selectivity
|
||||
explain select * from t0 A, one_k B where A.a=B.b and B.a<800;
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.considered_execution_plans')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t0, one_k;
|
||||
|
||||
--echo #
|
||||
@ -559,7 +608,10 @@ insert into t1 values ('foo'), ('bar');
|
||||
|
||||
EXPLAIN SELECT * FROM t1 WHERE a= REPEAT('a', 0);
|
||||
SELECT * FROM t1 WHERE a= REPEAT('a', 0);
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
@ -577,7 +629,10 @@ insert into t3 values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
||||
explain
|
||||
select * from t3 where (a,a) in (select t1.a, t2.a from t1, t2 where t1.b=t2.b);
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.semijoin_table_pullout')) from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1,t2,t3;
|
||||
|
||||
@ -589,7 +644,10 @@ create table t1 (kp1 int, kp2 int, key(kp1, kp2));
|
||||
insert into t1 values (1,1),(1,5),(5,1),(5,5);
|
||||
set optimizer_trace=1;
|
||||
select * from t1 force index(kp1) where (kp1=2 and kp2 >=4);
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.range_scan_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
@ -603,7 +661,10 @@ INSERT INTO t2 SELECT seq, seq from seq_1_to_100;
|
||||
|
||||
SET OPTIMIZER_TRACE=1;
|
||||
EXPLAIN SELECT * FROM t1, t2 WHERE t1.a=t2.a ORDER BY t2.b;
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.considered_execution_plans')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
--echo #
|
||||
@ -615,12 +676,15 @@ CREATE TABLE t1(a INT, b INT);
|
||||
INSERT INTO t1 SELECT seq, seq from seq_1_to_100;
|
||||
SET optimizer_trace=1;
|
||||
ANALYZE TABLE t1 PERSISTENT FOR ALL;
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
EXPLAIN EXTENDED SELECT * from t1 WHERE a between 1 and 5 and b <= 5;
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.selectivity_for_columns')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
EXPLAIN EXTENDED SELECT * from t1 WHERE a != 5;
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.selectivity_for_columns')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
EXPLAIN EXTENDED SELECT * from t1 WHERE b >= 10 and b < 25;
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.selectivity_for_columns')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
@ -631,7 +695,10 @@ drop table t1;
|
||||
CREATE TABLE t1( a INT, b INT, PRIMARY KEY( a ) );
|
||||
SELECT sum(b), row_number() OVER (order by b) FROM t1 WHERE a = 101;
|
||||
UPDATE t1 SET b=10 WHERE a=1;
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
SELECT JSON_DETAILED(JSON_EXTRACT(trace, '$**.range_scan_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
DROP TABLE t1;
|
||||
|
||||
set optimizer_trace='enabled=off';
|
||||
@ -692,10 +759,13 @@ where
|
||||
c5 in (1,2,3,4,5,6,7,8,9,10) and
|
||||
c6 in (1,2,3,4);
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select
|
||||
json_detailed(json_extract(trace, '$**.setup_range_conditions'))
|
||||
from
|
||||
information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1;
|
||||
|
||||
@ -709,7 +779,9 @@ CREATE TABLE t (a int, b int);
|
||||
CREATE VIEW v AS SELECT 1 AS c UNION SELECT 2 AS c;
|
||||
INSERT INTO t VALUES (0,4),(5,6);
|
||||
UPDATE t, v SET t.b = t.a, t.a = v.c WHERE v.c < t.a;
|
||||
--disable_view_protocol
|
||||
SELECT * FROM information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
SELECT * FROM t;
|
||||
|
||||
@ -773,11 +845,6 @@ select * from
|
||||
from t10 left join t11 on t11.col1=t10.col1
|
||||
group by grp_id) T on T.grp_id=t1.b;
|
||||
|
||||
# Not sure how MDEV-27871 is related but this test uses this reason
|
||||
# all over the place:
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
# Enable after fix MDEV-31408
|
||||
# On the first creation of the view from information_schema.optimizer_trace
|
||||
# everything is fine, but on the second creation of the view is
|
||||
@ -807,11 +874,14 @@ set optimizer_trace=DEFAULT;
|
||||
--echo # MDEV-29179 Condition pushdown from HAVING into WHERE is not shown in optimizer trace
|
||||
--echo #
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
CREATE TABLE t1 (a INT, b VARCHAR(1), KEY (a), KEY(b,a)) ENGINE=MEMORY;
|
||||
INSERT INTO t1 VALUES (4,'n'),(1,'h'),(NULL,'w');
|
||||
SET optimizer_trace= 'enabled=on';
|
||||
SELECT b, a FROM t1 WHERE b <> 'p' OR a = 4 GROUP BY b, a HAVING a <= 7; SELECT json_detailed(json_extract(trace, '$**.steps[*].join_optimization.steps[*].condition_pushdown_from_having') ) exp1, JSON_VALID(trace) exp2 FROM information_schema.optimizer_trace;
|
||||
DROP TABLE t1;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
@ -846,11 +916,11 @@ insert into t3 select a,a from t0;
|
||||
explain
|
||||
select * from t1 left join (t2 join t3 on t3.pk=1000) on t2.a=t1.a and t2.pk is null;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.mark_join_nest_as_const'))
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.mark_join_nest_as_const')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
--disable_view_protocol
|
||||
|
||||
drop table t0, t1, t2, t3;
|
||||
|
||||
@ -858,8 +928,6 @@ drop table t0, t1, t2, t3;
|
||||
--echo # MDEV-23767: IN-to-subquery conversion is not visible in optimizer trace
|
||||
--echo #
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
create table t0 (a int);
|
||||
INSERT INTO t0 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
|
||||
@ -868,21 +936,30 @@ set in_predicate_conversion_threshold=3;
|
||||
|
||||
explain select * from t0 where a in (1,2,3,4,5,6);
|
||||
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
explain select * from t0 where a in (1,2,3,4,5,a+1);
|
||||
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
explain select * from t0 where a in ('1','2','3','4','5','6');
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion'))
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
set in_predicate_conversion_threshold=@tmp;
|
||||
drop table t0;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-29298: INSERT ... SELECT Does not produce an optimizer trace
|
||||
@ -894,7 +971,9 @@ set optimizer_trace=1;
|
||||
|
||||
insert into t2 select * from t1 where a<= b and a>4;
|
||||
|
||||
--disable_view_protocol
|
||||
select QUERY, LENGTH(trace)>1 from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
@ -950,10 +1029,13 @@ where a=3
|
||||
group by b,b
|
||||
having a+b < 10;
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select
|
||||
json_detailed(json_extract(trace, '$**.substitute_best_equal'))
|
||||
from
|
||||
information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # Check ON expression
|
||||
explain
|
||||
@ -963,10 +1045,13 @@ from t1 left join t2 on t2.a=t1.a and t2.a<3
|
||||
where
|
||||
t1.b > 5555;
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select
|
||||
json_detailed(json_extract(trace, '$**.substitute_best_equal'))
|
||||
from
|
||||
information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # Check nested ON expression
|
||||
explain
|
||||
@ -976,6 +1061,7 @@ from t1 left join (t2,t3) on t2.a=t1.a and t3.a=t2.a and t3.a + t2.a <1000
|
||||
where
|
||||
t1.b > 5555;
|
||||
|
||||
#Check after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select
|
||||
json_detailed(json_extract(trace, '$**.substitute_best_equal'))
|
||||
@ -985,10 +1071,13 @@ from
|
||||
|
||||
--echo # The next query is test for:
|
||||
--echo # MDEV-23646: Optimizer trace: optimize_cond() should show ON expression processing
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select
|
||||
json_detailed(json_extract(trace, '$**.condition_processing'))
|
||||
from
|
||||
information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1,t2,t3;
|
||||
|
||||
@ -1028,6 +1117,7 @@ where t1.b < 3;
|
||||
# Just show that choose_best_splitting function has coverage in the
|
||||
# optimizer trace and re-optmization of child select inside it is distinct
|
||||
# from the rest of join optimization.
|
||||
#Check after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select
|
||||
json_detailed(json_extract(trace, '$**.choose_best_splitting'))
|
||||
@ -1051,8 +1141,12 @@ SELECT * FROM t1 WHERE id IN
|
||||
JSON_TABLE(f1, "$" COLUMNS (jf FOR ORDINALITY)) AS tbl);
|
||||
--enable_view_protocol
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.best_join_order'))
|
||||
from information_schema.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
|
@ -15,7 +15,9 @@ from t0 A, t0 B, t0 C;
|
||||
|
||||
--echo This should use union:
|
||||
explain select * from t1 where a=1 or b=1;
|
||||
--disable_view_protocol
|
||||
select * from information_schema.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t0,t1;
|
||||
set optimizer_trace="enabled=off";
|
||||
set @@optimizer_switch= @tmp_opt_switch;
|
||||
|
@ -33,7 +33,9 @@ set optimizer_trace="enabled=on";
|
||||
set @tmp_index_merge_ror_cpk=@@optimizer_switch;
|
||||
set optimizer_switch='extended_keys=off';
|
||||
explain select * from t1 where pk1 != 0 and key1 = 1;
|
||||
--disable_view_protocol
|
||||
select * from information_schema.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
set @@optimizer_switch= @tmp_index_merge_ror_cpk;
|
||||
|
||||
|
@ -6,5 +6,8 @@ insert into t1 values ('a', 'a');
|
||||
insert into t1 values ('a', 'a');
|
||||
set optimizer_trace=1;
|
||||
explain format=json select * from t1 force index(col1) where col1 >='a';
|
||||
# Enable after fix MDEV-31408
|
||||
--disable_view_protocol
|
||||
select JSON_DETAILED(JSON_EXTRACT(trace, '$**.analyzing_range_alternatives')) AS JS from INFORMATION_SCHEMA.OPTIMIZER_TRACE;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
@ -1531,9 +1531,9 @@ INSERT INTO t1 (a) VALUES (1), (2);
|
||||
INSERT INTO t2 (a,b) VALUES (1,2), (2,3);
|
||||
INSERT INTO t3 (c) VALUES (1), (2);
|
||||
SELECT
|
||||
(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.b AND t2.a = t3.c ORDER BY t1.a)
|
||||
(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.b AND t2.a = t3.c ORDER BY t1.a) as exp
|
||||
FROM t3;
|
||||
(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.b AND t2.a = t3.c ORDER BY t1.a)
|
||||
exp
|
||||
2
|
||||
NULL
|
||||
DROP TABLE t1, t2, t3;
|
||||
@ -3638,7 +3638,7 @@ WHERE
|
||||
t2.key1 = t1.a and t2.key1 IS NOT NULL
|
||||
ORDER BY
|
||||
t2.key2 ASC
|
||||
LIMIT 1)
|
||||
LIMIT 1) as exp
|
||||
from t1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||
@ -3650,15 +3650,9 @@ WHERE
|
||||
t2.key1 = t1.a and t2.key1 IS NOT NULL
|
||||
ORDER BY
|
||||
t2.key2 ASC
|
||||
LIMIT 1)
|
||||
LIMIT 1) as exp
|
||||
from t1;
|
||||
(SELECT concat(id, '-', key1, '-', col1)
|
||||
FROM t2
|
||||
WHERE
|
||||
t2.key1 = t1.a and t2.key1 IS NOT NULL
|
||||
ORDER BY
|
||||
t2.key2 ASC
|
||||
LIMIT 1)
|
||||
exp
|
||||
900-0-123456
|
||||
901-1-123456
|
||||
902-2-123456
|
||||
|
@ -3,11 +3,6 @@
|
||||
# Testing ORDER BY
|
||||
#
|
||||
|
||||
# Tests will be skipped for the view protocol because the view protocol creates
|
||||
# an additional util connection and other statistics data
|
||||
# Check after fix MDEV-27871, possible this include can be removed
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
call mtr.add_suppression("Sort aborted.*");
|
||||
call mtr.add_suppression("Out of sort memory; increase server sort buffer size");
|
||||
--source include/have_sequence.inc
|
||||
@ -823,6 +818,7 @@ INSERT INTO t1 SELECT a +64, b +64 FROM t1;
|
||||
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (a, ab) GROUP BY a;
|
||||
|
||||
--disable_view_protocol
|
||||
--disable_query_log
|
||||
--let $q = `show status like 'Created_tmp_tables';`
|
||||
eval set @tmp_tables_before =
|
||||
@ -841,6 +837,7 @@ eval set @tmp_tables_after =
|
||||
--enable_query_log
|
||||
|
||||
SELECT @tmp_tables_after = @tmp_tables_before ;
|
||||
--enable_view_protocol
|
||||
|
||||
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (a, ab) ORDER BY a;
|
||||
|
||||
@ -887,7 +884,7 @@ INSERT INTO t2 (a,b) VALUES (1,2), (2,3);
|
||||
INSERT INTO t3 (c) VALUES (1), (2);
|
||||
|
||||
SELECT
|
||||
(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.b AND t2.a = t3.c ORDER BY t1.a)
|
||||
(SELECT t1.a FROM t1, t2 WHERE t1.a = t2.b AND t2.a = t3.c ORDER BY t1.a) as exp
|
||||
FROM t3;
|
||||
|
||||
DROP TABLE t1, t2, t3;
|
||||
@ -1457,6 +1454,7 @@ SELECT * FROM t1 WHERE f1>10 ORDER BY f2, f0 LIMIT 0;
|
||||
SELECT * FROM t1 WHERE f1>10 ORDER BY f2, f0 LIMIT 10 OFFSET 10;
|
||||
SELECT * FROM t1 WHERE f1>10 ORDER BY f2, f0 LIMIT 0 OFFSET 10;
|
||||
|
||||
--disable_view_protocol
|
||||
--disable_ps2_protocol
|
||||
################
|
||||
## Test with SQL_CALC_FOUND_ROWS
|
||||
@ -1505,6 +1503,7 @@ WHERE t1.f2>20
|
||||
ORDER BY tmp.f1, f0 LIMIT 30 OFFSET 30;
|
||||
SELECT FOUND_ROWS();
|
||||
--enable_ps2_protocol
|
||||
--enable_view_protocol
|
||||
|
||||
################
|
||||
## Test views
|
||||
@ -1878,6 +1877,7 @@ insert into t1
|
||||
analyze table t1;
|
||||
--enable_result_log
|
||||
|
||||
--disable_view_protocol
|
||||
--disable_ps2_protocol
|
||||
explain
|
||||
select b, count(*) num_cnt from t1
|
||||
@ -1899,6 +1899,7 @@ select b, count(*) num_cnt from t1
|
||||
--enable_result_log
|
||||
show status like '%Handler_read%';
|
||||
--enable_ps2_protocol
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t0, t1;
|
||||
|
||||
@ -1997,9 +1998,11 @@ WHERE f1 = ANY ( SELECT f1
|
||||
WHERE t3a.f3 < f1 OR t3b.f3 != f1 )
|
||||
ORDER BY field;
|
||||
|
||||
--disable_view_protocol
|
||||
eval $q1;
|
||||
eval $q2;
|
||||
eval EXPLAIN EXTENDED $q2;
|
||||
--enable_view_protocol
|
||||
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
@ -2394,7 +2397,7 @@ let $query= select
|
||||
t2.key1 = t1.a and t2.key1 IS NOT NULL
|
||||
ORDER BY
|
||||
t2.key2 ASC
|
||||
LIMIT 1)
|
||||
LIMIT 1) as exp
|
||||
from t1;
|
||||
|
||||
--echo # here type should show ref not index
|
||||
|
@ -84,7 +84,7 @@ select id, generate_random_string(a), generate_random_string(b) from t2;
|
||||
set sort_buffer_size=262144*10;
|
||||
analyze format=json select id DIV 100 as x,
|
||||
MD5(group_concat(substring(names,1,3), substring(address,1,3)
|
||||
order by id))
|
||||
order by id)) as md5
|
||||
FROM t3
|
||||
GROUP BY x;
|
||||
ANALYZE
|
||||
@ -129,11 +129,10 @@ ANALYZE
|
||||
flush status;
|
||||
select id DIV 100 as x,
|
||||
MD5(group_concat(substring(names,1,3), substring(address,1,3)
|
||||
order by id))
|
||||
order by id)) as md5
|
||||
FROM t3
|
||||
GROUP BY x;
|
||||
x MD5(group_concat(substring(names,1,3), substring(address,1,3)
|
||||
order by id))
|
||||
x md5
|
||||
0 3d24cb0237caf81aa74a2dddf367ac23
|
||||
1 618f9b8b6cefaa268dcb5477eece5e90
|
||||
2 fbfe93cc7713f852852f66e578d999aa
|
||||
@ -249,7 +248,7 @@ set sort_buffer_size=default;
|
||||
set sort_buffer_size=32768;
|
||||
analyze format=json select id DIV 100 as x,
|
||||
MD5(group_concat(substring(names,1,3), substring(address,1,3)
|
||||
order by id))
|
||||
order by id)) as md5
|
||||
FROM t3
|
||||
GROUP BY x;
|
||||
ANALYZE
|
||||
@ -295,11 +294,10 @@ ANALYZE
|
||||
flush status;
|
||||
select id DIV 100 as x,
|
||||
MD5(group_concat(substring(names,1,3), substring(address,1,3)
|
||||
order by id))
|
||||
order by id)) as md5
|
||||
FROM t3
|
||||
GROUP BY x;
|
||||
x MD5(group_concat(substring(names,1,3), substring(address,1,3)
|
||||
order by id))
|
||||
x md5
|
||||
0 3d24cb0237caf81aa74a2dddf367ac23
|
||||
1 618f9b8b6cefaa268dcb5477eece5e90
|
||||
2 fbfe93cc7713f852852f66e578d999aa
|
||||
|
@ -100,7 +100,7 @@ select id, generate_random_string(a), generate_random_string(b) from t2;
|
||||
|
||||
let $query= select id DIV 100 as x,
|
||||
MD5(group_concat(substring(names,1,3), substring(address,1,3)
|
||||
order by id))
|
||||
order by id)) as md5
|
||||
FROM t3
|
||||
GROUP BY x;
|
||||
|
||||
@ -112,12 +112,9 @@ set sort_buffer_size=262144*10;
|
||||
--source include/analyze-format.inc
|
||||
eval analyze format=json $query;
|
||||
flush status;
|
||||
# Enable view-protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
--disable_ps2_protocol
|
||||
eval $query;
|
||||
--enable_ps2_protocol
|
||||
--enable_view_protocol
|
||||
show status like '%sort%';
|
||||
set sort_buffer_size=default;
|
||||
|
||||
@ -129,12 +126,9 @@ set sort_buffer_size=32768;
|
||||
--source include/analyze-format.inc
|
||||
eval analyze format=json $query;
|
||||
flush status;
|
||||
# Enable view-protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
--disable_ps2_protocol
|
||||
eval $query;
|
||||
--enable_ps2_protocol
|
||||
--enable_view_protocol
|
||||
show status like '%sort%';
|
||||
set sort_buffer_size=default;
|
||||
|
||||
|
@ -556,8 +556,8 @@ DROP TABLE IF EXISTS t1;
|
||||
SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
|
||||
STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE
|
||||
22:10:00
|
||||
SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE;
|
||||
STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE
|
||||
SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE as time;
|
||||
time
|
||||
22:01:00
|
||||
SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
|
||||
"1997-12-31 23:59:59" + INTERVAL 1 SECOND
|
||||
@ -1087,35 +1087,35 @@ DROP TABLE t1;
|
||||
# Subquery, one row, ROLLUP
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (10);
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL);
|
||||
(SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL)
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL) as exp;
|
||||
exp
|
||||
NULL
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL);
|
||||
(SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL)
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL) as exp;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
(SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
(SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
(SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL) FROM t1;
|
||||
(SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL)
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL) as exp FROM t1;
|
||||
exp
|
||||
NULL
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL) FROM t1;
|
||||
(SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL)
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL) as exp FROM t1;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
(SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
(SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
(SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP);
|
||||
ERROR 21000: Subquery returns more than 1 row
|
||||
@ -1145,27 +1145,27 @@ DROP TABLE t1;
|
||||
# Subquery, multiple rows, ROLLUP
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (10),(20),(30);
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
(SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
(SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
(SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
exp
|
||||
10
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
(SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
exp
|
||||
10
|
||||
10
|
||||
10
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
(SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
exp
|
||||
10
|
||||
10
|
||||
10
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
(SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1)
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
exp
|
||||
10
|
||||
10
|
||||
10
|
||||
@ -1819,12 +1819,8 @@ SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
1
|
||||
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
(SELECT
|
||||
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) as exp;
|
||||
exp
|
||||
1
|
||||
#
|
||||
# MDEV-17693 Shift/reduce conflicts for NAMES,ROLE,PASSWORD in the option_value_no_option_type grammar
|
||||
|
@ -694,10 +694,7 @@ DROP TABLE IF EXISTS t1;
|
||||
|
||||
SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL 10 MINUTE;
|
||||
|
||||
#enable view protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE;
|
||||
--enable_view_protocol
|
||||
SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE as time;
|
||||
|
||||
SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
|
||||
SELECT 1 + INTERVAL(1,0,1,2) + 1;
|
||||
@ -1191,22 +1188,16 @@ DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (10);
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL);
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL);
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
#enable view protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
--enable_view_protocol
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL) FROM t1;
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL) FROM t1;
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
#enable view protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
--enable_view_protocol
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL) as exp;
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL) as exp;
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NULL) as exp FROM t1;
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP HAVING a IS NOT NULL) as exp FROM t1;
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
|
||||
--error ER_SUBQUERY_NO_1_ROW
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP);
|
||||
@ -1240,18 +1231,12 @@ DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a INT);
|
||||
INSERT INTO t1 VALUES (10),(20),(30);
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
#enable view protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1);
|
||||
--enable_view_protocol
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
#enable view protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) FROM t1;
|
||||
--enable_view_protocol
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp;
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
SELECT (SELECT GROUP_CONCAT(a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1) as exp FROM t1;
|
||||
|
||||
--error ER_SUBQUERY_NO_1_ROW
|
||||
SELECT (SELECT * FROM t1 GROUP BY a WITH ROLLUP);
|
||||
@ -1573,8 +1558,6 @@ DROP PROCEDURE p1;
|
||||
--echo # MDEV-16697: Fix difference between 32bit/windows and 64bit
|
||||
--echo # systems in allowed select nest level
|
||||
--echo #
|
||||
#enable view protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
@ -1584,8 +1567,7 @@ DROP PROCEDURE p1;
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
(SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT (SELECT
|
||||
1
|
||||
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))));
|
||||
--enable_view_protocol
|
||||
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) as exp;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-17693 Shift/reduce conflicts for NAMES,ROLE,PASSWORD in the option_value_no_option_type grammar
|
||||
|
@ -49,7 +49,9 @@ CREATE DATABASE mdev_16708_db;
|
||||
USE mdev_16708_db;
|
||||
|
||||
--echo # Check that the current database has been changed
|
||||
--disable_service_connection
|
||||
SELECT DATABASE();
|
||||
--enable_service_connection
|
||||
|
||||
--echo # Clean up
|
||||
USE test;
|
||||
@ -84,6 +86,7 @@ DROP TABLE t1;
|
||||
--echo # Set up environmentr for the test case
|
||||
CREATE TABLE t1 (a INT);
|
||||
|
||||
--disable_view_protocol
|
||||
BEGIN;
|
||||
|
||||
INSERT INTO t1 VALUES (1);
|
||||
@ -101,6 +104,7 @@ ROLLBACK TO SAVEPOINT s1;
|
||||
SELECT * FROM t1;
|
||||
|
||||
RELEASE SAVEPOINT s1;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # Clean up
|
||||
DROP TABLE t1;
|
||||
|
@ -1627,13 +1627,13 @@ NULL
|
||||
Warnings:
|
||||
Warning 1411 Incorrect datetime value: '2007-20-00' for function str_to_date
|
||||
Warning 1411 Incorrect datetime value: '2007-20-00' for function str_to_date
|
||||
SELECT str_to_date('2007-10-00', '%Y-%m-%d') BETWEEN '' AND '2007/10/20';
|
||||
str_to_date('2007-10-00', '%Y-%m-%d') BETWEEN '' AND '2007/10/20'
|
||||
SELECT str_to_date('2007-10-00', '%Y-%m-%d') BETWEEN '' AND '2007/10/20' as exp;
|
||||
exp
|
||||
1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: ''
|
||||
SELECT str_to_date('2007-20-00', '%Y-%m-%d') BETWEEN '2007/10/20' AND '';
|
||||
str_to_date('2007-20-00', '%Y-%m-%d') BETWEEN '2007/10/20' AND ''
|
||||
SELECT str_to_date('2007-20-00', '%Y-%m-%d') BETWEEN '2007/10/20' AND '' as exp;
|
||||
exp
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1411 Incorrect datetime value: '2007-20-00' for function str_to_date
|
||||
|
@ -1265,11 +1265,8 @@ SELECT str_to_date('2007-20-00', '%Y-%m-%d') >= '2007/10/20' AND
|
||||
str_to_date('2007-20-00', '%Y-%m-%d') <= '';
|
||||
--enable_view_protocol
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT str_to_date('2007-10-00', '%Y-%m-%d') BETWEEN '' AND '2007/10/20';
|
||||
SELECT str_to_date('2007-20-00', '%Y-%m-%d') BETWEEN '2007/10/20' AND '';
|
||||
--enable_view_protocol
|
||||
SELECT str_to_date('2007-10-00', '%Y-%m-%d') BETWEEN '' AND '2007/10/20' as exp;
|
||||
SELECT str_to_date('2007-20-00', '%Y-%m-%d') BETWEEN '2007/10/20' AND '' as exp;
|
||||
|
||||
SELECT str_to_date('', '%Y-%m-%d');
|
||||
|
||||
|
@ -1630,13 +1630,13 @@ NULL
|
||||
Warnings:
|
||||
Warning 1411 Incorrect datetime value: '2007-20-00' for function str_to_date
|
||||
Warning 1411 Incorrect datetime value: '2007-20-00' for function str_to_date
|
||||
SELECT str_to_date('2007-10-00', '%Y-%m-%d') BETWEEN '' AND '2007/10/20';
|
||||
str_to_date('2007-10-00', '%Y-%m-%d') BETWEEN '' AND '2007/10/20'
|
||||
SELECT str_to_date('2007-10-00', '%Y-%m-%d') BETWEEN '' AND '2007/10/20' as exp;
|
||||
exp
|
||||
1
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect datetime value: ''
|
||||
SELECT str_to_date('2007-20-00', '%Y-%m-%d') BETWEEN '2007/10/20' AND '';
|
||||
str_to_date('2007-20-00', '%Y-%m-%d') BETWEEN '2007/10/20' AND ''
|
||||
SELECT str_to_date('2007-20-00', '%Y-%m-%d') BETWEEN '2007/10/20' AND '' as exp;
|
||||
exp
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1411 Incorrect datetime value: '2007-20-00' for function str_to_date
|
||||
|
@ -26,8 +26,11 @@ explain select * from t2 where key1 in (1,2,3) and pk not in (1,2,3);
|
||||
|
||||
--echo # This should show only ranges in form "(1) <= (key1) <= (1)"
|
||||
--echo # ranges over "pk" should not be constructed.
|
||||
# Enable after fix MDEV-31408
|
||||
--disable_view_protocol
|
||||
select json_detailed(JSON_EXTRACT(trace, '$**.ranges'))
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
set optimizer_trace=@tmp_21958;
|
||||
|
||||
drop table t2;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user