mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Removing MDEV-27871 from tastcases because it is not a bug
This commit is contained in:
@ -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),
|
||||
|
@ -4927,20 +4927,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
|
||||
@ -5065,20 +5065,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
|
||||
@ -5204,20 +5204,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
|
||||
@ -5342,20 +5342,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;
|
||||
|
@ -34029,20 +34029,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
|
||||
@ -34167,20 +34167,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
|
||||
@ -34306,20 +34306,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
|
||||
@ -34444,20 +34444,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
|
||||
|
@ -25547,20 +25547,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
|
||||
@ -25685,20 +25685,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
|
||||
@ -25824,20 +25824,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
|
||||
@ -25962,20 +25962,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
|
||||
|
@ -4617,20 +4617,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
|
||||
@ -4755,20 +4755,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
|
||||
@ -4894,20 +4894,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
|
||||
@ -5032,20 +5032,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
|
||||
|
@ -6085,20 +6085,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
|
||||
@ -6223,20 +6223,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
|
||||
@ -6362,20 +6362,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
|
||||
@ -6500,20 +6500,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
|
||||
|
@ -446,13 +446,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
|
||||
|
@ -80,50 +80,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
|
||||
@ -528,23 +528,23 @@ SHOW COLLATION LIKE 'utf8_phone_ci';
|
||||
Collation Charset Id Default Compiled Sortlen
|
||||
utf8_phone_ci utf8 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
|
||||
@ -1014,9 +1014,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
|
||||
@ -69,25 +66,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;
|
||||
|
||||
|
||||
#
|
||||
@ -188,10 +185,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;
|
||||
|
||||
#
|
||||
@ -211,12 +210,12 @@ SHOW COLLATION LIKE 'utf8_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
|
||||
@ -280,9 +279,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
|
||||
@ -353,7 +357,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;
|
||||
|
||||
@ -405,7 +409,6 @@ perl;
|
||||
close(FILE);
|
||||
EOF
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-8686 A user defined collation utf8_confusables doesn't work
|
||||
--echo #
|
||||
@ -508,6 +511,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
|
||||
@ -609,6 +613,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;
|
||||
@ -18839,20 +18839,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
|
||||
@ -18977,20 +18977,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
|
||||
@ -19116,20 +19116,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
|
||||
@ -19254,20 +19254,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
|
||||
|
@ -3961,20 +3961,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
|
||||
@ -4099,20 +4099,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
|
||||
@ -4238,20 +4238,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
|
||||
@ -4376,20 +4376,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
|
||||
|
@ -609,6 +609,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');
|
||||
@ -619,6 +620,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
|
||||
@ -790,10 +792,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
|
||||
@ -1031,8 +1035,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
|
||||
@ -1066,6 +1072,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;
|
||||
@ -1093,6 +1100,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
|
||||
|
@ -46,14 +46,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'
|
||||
@ -2534,8 +2534,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'
|
||||
@ -26348,20 +26348,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
|
||||
@ -26486,20 +26486,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
|
||||
@ -26625,20 +26625,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
|
||||
@ -26763,20 +26763,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
|
||||
|
@ -35,13 +35,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';
|
||||
@ -1221,11 +1218,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;
|
||||
@ -1347,8 +1341,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
|
||||
@ -1362,7 +1354,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))
|
||||
utf8 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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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 utf8 COLLATE utf8_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=utf8_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 #
|
||||
|
@ -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;
|
||||
|
||||
|
@ -871,15 +871,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;
|
||||
#
|
||||
|
@ -665,14 +665,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
|
||||
|
@ -40,11 +40,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)
|
||||
@ -172,23 +172,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")
|
||||
@ -202,8 +202,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')
|
||||
@ -216,8 +216,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')
|
||||
@ -312,11 +312,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')
|
||||
@ -332,11 +332,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"))
|
||||
@ -409,17 +409,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;
|
||||
@ -2017,35 +2017,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
|
||||
@ -2767,25 +2767,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;
|
||||
#
|
||||
@ -3067,10 +3067,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))
|
||||
@ -5024,8 +5022,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
|
||||
|
@ -31,14 +31,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;
|
||||
|
||||
#
|
||||
@ -1135,15 +1115,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);
|
||||
@ -1488,17 +1465,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;
|
||||
@ -1506,11 +1480,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;
|
||||
|
||||
@ -1676,14 +1647,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
|
||||
@ -2111,10 +2079,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 7 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)');
|
||||
|
@ -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';
|
||||
|
@ -9165,9 +9165,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":
|
||||
@ -9190,9 +9190,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)",
|
||||
@ -9243,9 +9243,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)",
|
||||
@ -9256,9 +9256,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')",
|
||||
|
@ -833,11 +833,8 @@ 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
|
||||
--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
|
||||
|
||||
drop table t0, t1, t2, t3;
|
||||
|
||||
@ -845,8 +842,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);
|
||||
|
||||
@ -855,21 +850,20 @@ 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'))
|
||||
select json_detailed(json_extract(trace, '$**.in_to_subquery_conversion')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
|
||||
explain select * from t0 where a in (1,2,3,4,5,a+1);
|
||||
|
||||
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;
|
||||
|
||||
explain select * from t0 where a in ('1','2','3','4','5','6');
|
||||
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;
|
||||
|
||||
set in_predicate_conversion_threshold=@tmp;
|
||||
drop table t0;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-29298: INSERT ... SELECT Does not produce an optimizer trace
|
||||
|
@ -1532,9 +1532,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;
|
||||
@ -3631,7 +3631,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
|
||||
@ -3643,15 +3643,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.*");
|
||||
|
||||
--disable_warnings
|
||||
@ -830,6 +825,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 =
|
||||
@ -848,6 +844,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;
|
||||
|
||||
@ -894,7 +891,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;
|
||||
@ -1464,6 +1461,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
|
||||
@ -1512,6 +1510,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
|
||||
@ -1885,6 +1884,7 @@ insert into t1
|
||||
analyze table t1;
|
||||
--enable_result_log
|
||||
|
||||
--disable_view_protocol
|
||||
--disable_ps2_protocol
|
||||
explain
|
||||
select b, count(*) num_cnt from t1
|
||||
@ -1906,6 +1906,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;
|
||||
|
||||
@ -2004,9 +2005,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;
|
||||
|
||||
@ -2401,7 +2404,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
|
||||
@ -121,11 +121,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
|
||||
@ -241,7 +240,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
|
||||
@ -279,11 +278,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;
|
||||
@ -1189,22 +1186,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);
|
||||
@ -1238,18 +1229,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);
|
||||
@ -1569,8 +1554,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
|
||||
@ -1580,8 +1563,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
|
||||
|
@ -1627,13 +1627,13 @@ 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
|
||||
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 @@ 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
|
||||
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
|
||||
|
@ -21,8 +21,8 @@ CREATE INDEX CMFLDRPARNT_IDX ON t1 (PARENTID);
|
||||
INSERT INTO t1 VALUES("0c9aab05b15048c59bc35c8461507deb", "System", "System", "2003-06-05 16:30:00", "The system content repository folder.", "3", "2003-06-05 16:30:00", "System", "0", NULL, "9c9aab05b15048c59bc35c8461507deb", "1");
|
||||
INSERT INTO t1 VALUES("2f6161e879db43c1a5b82c21ddc49089", "Default", "System", "2003-06-09 10:52:02", "The default content repository folder.", "3", "2003-06-05 16:30:00", "System", "0", NULL, "03eea05112b845949f3fd03278b5fe43", "1");
|
||||
INSERT INTO t1 VALUES("c373e9f5ad0791724315444553544200", "AddDocumentTest", "admin", "2003-06-09 10:51:25", "Movie Reviews", "0", "2003-06-09 10:51:25", "admin", "0", "2f6161e879db43c1a5b82c21ddc49089", "03eea05112b845949f3fd03278b5fe43", NULL);
|
||||
SELECT 'c373e9f5ad0791a0dab5444553544200' IN(SELECT t1.FOLDERID FROM t1 WHERE t1.PARENTID='2f6161e879db43c1a5b82c21ddc49089' AND t1.FOLDERNAME = 'Level1');
|
||||
'c373e9f5ad0791a0dab5444553544200' IN(SELECT t1.FOLDERID FROM t1 WHERE t1.PARENTID='2f6161e879db43c1a5b82c21ddc49089' AND t1.FOLDERNAME = 'Level1')
|
||||
SELECT 'c373e9f5ad0791a0dab5444553544200' IN(SELECT t1.FOLDERID FROM t1 WHERE t1.PARENTID='2f6161e879db43c1a5b82c21ddc49089' AND t1.FOLDERNAME = 'Level1') as exp;
|
||||
exp
|
||||
0
|
||||
drop table t1;
|
||||
create table t1 (a int) engine=innodb;
|
||||
@ -58,8 +58,8 @@ FOREIGN KEY (yod_id) REFERENCES t3(yod_id)
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
INSERT INTO t3 VALUES (1,1),(2,2),(3,3);
|
||||
INSERT INTO t2 VALUES (1,1),(2,2),(3,3);
|
||||
SELECT distinct p1.processor_id, (SELECT y.yod_id FROM t1 p2, t2 y WHERE p2.processor_id = p1.processor_id and p2.processor_id = y.processor_id) FROM t1 p1;
|
||||
processor_id (SELECT y.yod_id FROM t1 p2, t2 y WHERE p2.processor_id = p1.processor_id and p2.processor_id = y.processor_id)
|
||||
SELECT distinct p1.processor_id, (SELECT y.yod_id FROM t1 p2, t2 y WHERE p2.processor_id = p1.processor_id and p2.processor_id = y.processor_id) as result FROM t1 p1;
|
||||
processor_id result
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
@ -199,15 +199,9 @@ WHERE rs.t1_id=
|
||||
(SELECT lt.t1_id
|
||||
FROM t1 lt
|
||||
WHERE lt.t3_id=a.t3_id)
|
||||
ORDER BY b DESC LIMIT 1)
|
||||
ORDER BY b DESC LIMIT 1) as exp
|
||||
from t3 AS a;
|
||||
(SELECT rs.t2_id
|
||||
FROM t2 rs
|
||||
WHERE rs.t1_id=
|
||||
(SELECT lt.t1_id
|
||||
FROM t1 lt
|
||||
WHERE lt.t3_id=a.t3_id)
|
||||
ORDER BY b DESC LIMIT 1)
|
||||
exp
|
||||
NULL
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
create procedure p1()
|
||||
@ -643,15 +637,8 @@ WHERE
|
||||
a IS NOT NULL
|
||||
GROUP BY
|
||||
(SELECT NULL from dual WHERE a = 1)
|
||||
);
|
||||
1 IN (
|
||||
SELECT NULL
|
||||
FROM t1
|
||||
WHERE
|
||||
a IS NOT NULL
|
||||
GROUP BY
|
||||
(SELECT NULL from dual WHERE a = 1)
|
||||
)
|
||||
) as exp;
|
||||
exp
|
||||
0
|
||||
drop table t1;
|
||||
# Testcase from MDEV-26164
|
||||
@ -671,8 +658,8 @@ CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
CREATE TABLE t2 (b INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (3),(4);
|
||||
SELECT 1 IN (SELECT a FROM t1 LEFT JOIN t2 ON (a = b AND EXISTS (SELECT * FROM t1)));
|
||||
1 IN (SELECT a FROM t1 LEFT JOIN t2 ON (a = b AND EXISTS (SELECT * FROM t1)))
|
||||
SELECT 1 IN (SELECT a FROM t1 LEFT JOIN t2 ON (a = b AND EXISTS (SELECT * FROM t1))) as exp;
|
||||
exp
|
||||
1
|
||||
drop table t1,t2;
|
||||
#
|
||||
|
@ -31,10 +31,7 @@ CREATE INDEX CMFLDRPARNT_IDX ON t1 (PARENTID);
|
||||
INSERT INTO t1 VALUES("0c9aab05b15048c59bc35c8461507deb", "System", "System", "2003-06-05 16:30:00", "The system content repository folder.", "3", "2003-06-05 16:30:00", "System", "0", NULL, "9c9aab05b15048c59bc35c8461507deb", "1");
|
||||
INSERT INTO t1 VALUES("2f6161e879db43c1a5b82c21ddc49089", "Default", "System", "2003-06-09 10:52:02", "The default content repository folder.", "3", "2003-06-05 16:30:00", "System", "0", NULL, "03eea05112b845949f3fd03278b5fe43", "1");
|
||||
INSERT INTO t1 VALUES("c373e9f5ad0791724315444553544200", "AddDocumentTest", "admin", "2003-06-09 10:51:25", "Movie Reviews", "0", "2003-06-09 10:51:25", "admin", "0", "2f6161e879db43c1a5b82c21ddc49089", "03eea05112b845949f3fd03278b5fe43", NULL);
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT 'c373e9f5ad0791a0dab5444553544200' IN(SELECT t1.FOLDERID FROM t1 WHERE t1.PARENTID='2f6161e879db43c1a5b82c21ddc49089' AND t1.FOLDERNAME = 'Level1');
|
||||
--enable_view_protocol
|
||||
SELECT 'c373e9f5ad0791a0dab5444553544200' IN(SELECT t1.FOLDERID FROM t1 WHERE t1.PARENTID='2f6161e879db43c1a5b82c21ddc49089' AND t1.FOLDERNAME = 'Level1') as exp;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
@ -71,10 +68,7 @@ CREATE TABLE t2 (
|
||||
INSERT INTO t1 VALUES (1),(2),(3);
|
||||
INSERT INTO t3 VALUES (1,1),(2,2),(3,3);
|
||||
INSERT INTO t2 VALUES (1,1),(2,2),(3,3);
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT distinct p1.processor_id, (SELECT y.yod_id FROM t1 p2, t2 y WHERE p2.processor_id = p1.processor_id and p2.processor_id = y.processor_id) FROM t1 p1;
|
||||
--enable_view_protocol
|
||||
SELECT distinct p1.processor_id, (SELECT y.yod_id FROM t1 p2, t2 y WHERE p2.processor_id = p1.processor_id and p2.processor_id = y.processor_id) as result FROM t1 p1;
|
||||
drop table t2,t1,t3;
|
||||
|
||||
#
|
||||
@ -212,8 +206,6 @@ CREATE TABLE `t3` (
|
||||
`t3_id` int NOT NULL
|
||||
);
|
||||
INSERT INTO `t3` VALUES (3);
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select
|
||||
(SELECT rs.t2_id
|
||||
FROM t2 rs
|
||||
@ -221,9 +213,8 @@ select
|
||||
(SELECT lt.t1_id
|
||||
FROM t1 lt
|
||||
WHERE lt.t3_id=a.t3_id)
|
||||
ORDER BY b DESC LIMIT 1)
|
||||
ORDER BY b DESC LIMIT 1) as exp
|
||||
from t3 AS a;
|
||||
--enable_view_protocol
|
||||
# repeat above query in SP
|
||||
--disable_warnings
|
||||
DROP PROCEDURE IF EXISTS p1;
|
||||
@ -639,8 +630,6 @@ set character_set_connection=@save_character_set_connection;
|
||||
--echo # MDEV-26047: MariaDB server crash at Item_subselect::init_expr_cache_tracker
|
||||
--echo #
|
||||
CREATE TABLE t1 (a int) engine=innodb;
|
||||
#enable abter fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT 1 IN (
|
||||
SELECT NULL
|
||||
FROM t1
|
||||
@ -648,8 +637,7 @@ SELECT 1 IN (
|
||||
a IS NOT NULL
|
||||
GROUP BY
|
||||
(SELECT NULL from dual WHERE a = 1)
|
||||
);
|
||||
--enable_view_protocol
|
||||
) as exp;
|
||||
drop table t1;
|
||||
|
||||
--echo # Testcase from MDEV-26164
|
||||
@ -671,10 +659,7 @@ CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
CREATE TABLE t2 (b INT PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (3),(4);
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT 1 IN (SELECT a FROM t1 LEFT JOIN t2 ON (a = b AND EXISTS (SELECT * FROM t1)));
|
||||
--enable_view_protocol
|
||||
SELECT 1 IN (SELECT a FROM t1 LEFT JOIN t2 ON (a = b AND EXISTS (SELECT * FROM t1))) as exp;
|
||||
drop table t1,t2;
|
||||
|
||||
--echo #
|
||||
|
@ -2894,16 +2894,15 @@ INSERT INTO t2 VALUES (1000,6,2);
|
||||
set @@optimizer_switch='materialization=on,partial_match_rowid_merge=on,partial_match_table_scan=off,in_to_exists=off';
|
||||
EXPLAIN
|
||||
SELECT (f1, f2, f3) NOT IN
|
||||
(SELECT COUNT(DISTINCT f2), f1, f3 FROM t1 GROUP BY f1, f3)
|
||||
(SELECT COUNT(DISTINCT f2), f1, f3 FROM t1 GROUP BY f1, f3) as exp
|
||||
FROM t2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t2 system NULL NULL NULL NULL 1
|
||||
2 MATERIALIZED t1 ALL NULL NULL NULL NULL 2 Using filesort
|
||||
SELECT (f1, f2, f3) NOT IN
|
||||
(SELECT COUNT(DISTINCT f2), f1, f3 FROM t1 GROUP BY f1, f3)
|
||||
(SELECT COUNT(DISTINCT f2), f1, f3 FROM t1 GROUP BY f1, f3) as exp
|
||||
FROM t2;
|
||||
(f1, f2, f3) NOT IN
|
||||
(SELECT COUNT(DISTINCT f2), f1, f3 FROM t1 GROUP BY f1, f3)
|
||||
exp
|
||||
1
|
||||
drop table t1, t2;
|
||||
#
|
||||
|
@ -192,19 +192,15 @@ INSERT INTO t2 VALUES (1000,6,2);
|
||||
|
||||
set @@optimizer_switch='materialization=on,partial_match_rowid_merge=on,partial_match_table_scan=off,in_to_exists=off';
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
EXPLAIN
|
||||
SELECT (f1, f2, f3) NOT IN
|
||||
(SELECT COUNT(DISTINCT f2), f1, f3 FROM t1 GROUP BY f1, f3)
|
||||
(SELECT COUNT(DISTINCT f2), f1, f3 FROM t1 GROUP BY f1, f3) as exp
|
||||
FROM t2;
|
||||
|
||||
SELECT (f1, f2, f3) NOT IN
|
||||
(SELECT COUNT(DISTINCT f2), f1, f3 FROM t1 GROUP BY f1, f3)
|
||||
(SELECT COUNT(DISTINCT f2), f1, f3 FROM t1 GROUP BY f1, f3) as exp
|
||||
FROM t2;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
--echo #
|
||||
|
@ -2,18 +2,18 @@ drop table if exists t1, t2;
|
||||
drop function if exists f1;
|
||||
create table t1 (ts timestamp);
|
||||
set time_zone='+00:00';
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
|
||||
unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp())
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp()) as exp;
|
||||
exp
|
||||
0
|
||||
insert into t1 (ts) values ('2003-03-30 02:30:00');
|
||||
set time_zone='+10:30';
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
|
||||
unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp())
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp()) as exp;
|
||||
exp
|
||||
-37800
|
||||
insert into t1 (ts) values ('2003-03-30 02:30:00');
|
||||
set time_zone='-10:00';
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
|
||||
unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp())
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp()) as exp;
|
||||
exp
|
||||
36000
|
||||
insert into t1 (ts) values ('2003-03-30 02:30:00');
|
||||
select * from t1;
|
||||
@ -239,20 +239,20 @@ tz convert_tz('2003-12-31 00:00:00',tz,'UTC') convert_tz('2003-12-31 00:00:00','
|
||||
MET 2003-12-30 23:00:00 2003-12-31 01:00:00
|
||||
UTC 2003-12-31 00:00:00 2003-12-31 00:00:00
|
||||
drop table t1;
|
||||
select convert_tz('2003-12-31 04:00:00', NULL, 'UTC');
|
||||
convert_tz('2003-12-31 04:00:00', NULL, 'UTC')
|
||||
select convert_tz('2003-12-31 04:00:00', NULL, 'UTC') as exp;
|
||||
exp
|
||||
NULL
|
||||
select convert_tz('2003-12-31 04:00:00', 'SomeNotExistingTimeZone', 'UTC');
|
||||
convert_tz('2003-12-31 04:00:00', 'SomeNotExistingTimeZone', 'UTC')
|
||||
select convert_tz('2003-12-31 04:00:00', 'SomeNotExistingTimeZone', 'UTC') as exp;
|
||||
exp
|
||||
NULL
|
||||
select convert_tz('2003-12-31 04:00:00', 'MET', 'SomeNotExistingTimeZone');
|
||||
convert_tz('2003-12-31 04:00:00', 'MET', 'SomeNotExistingTimeZone')
|
||||
select convert_tz('2003-12-31 04:00:00', 'MET', 'SomeNotExistingTimeZone') as exp;
|
||||
exp
|
||||
NULL
|
||||
select convert_tz('2003-12-31 04:00:00', 'MET', NULL);
|
||||
convert_tz('2003-12-31 04:00:00', 'MET', NULL)
|
||||
select convert_tz('2003-12-31 04:00:00', 'MET', NULL) as exp;
|
||||
exp
|
||||
NULL
|
||||
select convert_tz( NULL, 'MET', 'UTC');
|
||||
convert_tz( NULL, 'MET', 'UTC')
|
||||
select convert_tz( NULL, 'MET', 'UTC') as exp;
|
||||
exp
|
||||
NULL
|
||||
create table t1 (ts timestamp);
|
||||
set timestamp=1000000000;
|
||||
@ -326,8 +326,8 @@ SET timestamp=DEFAULT;
|
||||
#
|
||||
# MDEV-5506 safe_mutex: Trying to lock unitialized mutex at safemalloc.c on server shutdown after SELECT with CONVERT_TZ
|
||||
#
|
||||
SELECT CONVERT_TZ('2001-10-08 00:00:00', MAKE_SET(0,'+01:00'), '+00:00' );
|
||||
CONVERT_TZ('2001-10-08 00:00:00', MAKE_SET(0,'+01:00'), '+00:00' )
|
||||
SELECT CONVERT_TZ('2001-10-08 00:00:00', MAKE_SET(0,'+01:00'), '+00:00' ) as exp;
|
||||
exp
|
||||
NULL
|
||||
#
|
||||
# End of 5.3 tests
|
||||
|
@ -12,26 +12,21 @@ drop function if exists f1;
|
||||
#
|
||||
create table t1 (ts timestamp);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
set time_zone='+00:00';
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp()) as exp;
|
||||
insert into t1 (ts) values ('2003-03-30 02:30:00');
|
||||
|
||||
set time_zone='+10:30';
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp()) as exp;
|
||||
insert into t1 (ts) values ('2003-03-30 02:30:00');
|
||||
|
||||
set time_zone='-10:00';
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp());
|
||||
select unix_timestamp(utc_timestamp())-unix_timestamp(current_timestamp()) as exp;
|
||||
insert into t1 (ts) values ('2003-03-30 02:30:00');
|
||||
|
||||
# Here we will get different results
|
||||
select * from t1;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1;
|
||||
|
||||
|
||||
@ -192,17 +187,12 @@ insert into t1 (tz) values ('MET'), ('UTC');
|
||||
select tz, convert_tz('2003-12-31 00:00:00',tz,'UTC'), convert_tz('2003-12-31 00:00:00','UTC',tz) from t1 order by tz;
|
||||
drop table t1;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
# Parameters to CONVERT_TZ() what should give NULL
|
||||
select convert_tz('2003-12-31 04:00:00', NULL, 'UTC');
|
||||
select convert_tz('2003-12-31 04:00:00', 'SomeNotExistingTimeZone', 'UTC');
|
||||
select convert_tz('2003-12-31 04:00:00', 'MET', 'SomeNotExistingTimeZone');
|
||||
select convert_tz('2003-12-31 04:00:00', 'MET', NULL);
|
||||
select convert_tz( NULL, 'MET', 'UTC');
|
||||
|
||||
--enable_view_protocol
|
||||
select convert_tz('2003-12-31 04:00:00', NULL, 'UTC') as exp;
|
||||
select convert_tz('2003-12-31 04:00:00', 'SomeNotExistingTimeZone', 'UTC') as exp;
|
||||
select convert_tz('2003-12-31 04:00:00', 'MET', 'SomeNotExistingTimeZone') as exp;
|
||||
select convert_tz('2003-12-31 04:00:00', 'MET', NULL) as exp;
|
||||
select convert_tz( NULL, 'MET', 'UTC') as exp;
|
||||
|
||||
#
|
||||
# Test for bug #4508 "CONVERT_TZ() function with new time zone as param
|
||||
@ -315,12 +305,7 @@ SET timestamp=DEFAULT;
|
||||
--echo # MDEV-5506 safe_mutex: Trying to lock unitialized mutex at safemalloc.c on server shutdown after SELECT with CONVERT_TZ
|
||||
--echo #
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
SELECT CONVERT_TZ('2001-10-08 00:00:00', MAKE_SET(0,'+01:00'), '+00:00' );
|
||||
|
||||
--enable_view_protocol
|
||||
SELECT CONVERT_TZ('2001-10-08 00:00:00', MAKE_SET(0,'+01:00'), '+00:00' ) as exp;
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.3 tests
|
||||
|
@ -184,17 +184,17 @@ a
|
||||
2006-06-06 15:55:55
|
||||
DROP PREPARE s;
|
||||
DROP TABLE t1;
|
||||
SELECT CAST(CAST('2006-08-10' AS DATE) AS DECIMAL(20,6));
|
||||
CAST(CAST('2006-08-10' AS DATE) AS DECIMAL(20,6))
|
||||
SELECT CAST(CAST('2006-08-10' AS DATE) AS DECIMAL(20,6)) as exp;
|
||||
exp
|
||||
20060810.000000
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) AS DECIMAL(20,6));
|
||||
CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) AS DECIMAL(20,6))
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) AS DECIMAL(20,6)) as exp;
|
||||
exp
|
||||
20060810101112.000000
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) + INTERVAL 14 MICROSECOND AS DECIMAL(20,6));
|
||||
CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) + INTERVAL 14 MICROSECOND AS DECIMAL(20,6))
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) + INTERVAL 14 MICROSECOND AS DECIMAL(20,6)) as exp;
|
||||
exp
|
||||
20060810101112.000014
|
||||
SELECT CAST(CAST('10:11:12.098700' AS TIME(6)) AS DECIMAL(20,6));
|
||||
CAST(CAST('10:11:12.098700' AS TIME(6)) AS DECIMAL(20,6))
|
||||
SELECT CAST(CAST('10:11:12.098700' AS TIME(6)) AS DECIMAL(20,6)) as exp;
|
||||
exp
|
||||
101112.098700
|
||||
set @org_mode=@@sql_mode;
|
||||
create table t1 (da date default '1962-03-03 23:33:34', dt datetime default '1962-03-03');
|
||||
@ -351,26 +351,26 @@ select f1 from t1 where ('1',f1) in (('1','01-01-01'),('1','2001-1-1 0:0:0'),('1
|
||||
f1
|
||||
2001-01-01
|
||||
drop table t1,t2,t3;
|
||||
select least(cast('01-01-01' as date), '01-01-02');
|
||||
least(cast('01-01-01' as date), '01-01-02')
|
||||
select least(cast('01-01-01' as date), '01-01-02') as exp;
|
||||
exp
|
||||
2001-01-01
|
||||
select greatest(cast('01-01-01' as date), '01-01-02');
|
||||
greatest(cast('01-01-01' as date), '01-01-02')
|
||||
select greatest(cast('01-01-01' as date), '01-01-02') as exp;
|
||||
exp
|
||||
2001-01-02
|
||||
select least(cast('01-01-01' as date), '01-01-02') + 0;
|
||||
least(cast('01-01-01' as date), '01-01-02') + 0
|
||||
select least(cast('01-01-01' as date), '01-01-02') + 0 as exp;
|
||||
exp
|
||||
20010101
|
||||
select greatest(cast('01-01-01' as date), '01-01-02') + 0;
|
||||
greatest(cast('01-01-01' as date), '01-01-02') + 0
|
||||
select greatest(cast('01-01-01' as date), '01-01-02') + 0 as exp;
|
||||
exp
|
||||
20010102
|
||||
select least(cast('01-01-01' as datetime), '01-01-02') + 0;
|
||||
least(cast('01-01-01' as datetime), '01-01-02') + 0
|
||||
select least(cast('01-01-01' as datetime), '01-01-02') + 0 as exp;
|
||||
exp
|
||||
20010101000000
|
||||
select cast(least(cast('01-01-01' as datetime), '01-01-02') as signed);
|
||||
cast(least(cast('01-01-01' as datetime), '01-01-02') as signed)
|
||||
select cast(least(cast('01-01-01' as datetime), '01-01-02') as signed) as exp;
|
||||
exp
|
||||
20010101000000
|
||||
select cast(least(cast('01-01-01' as datetime), '01-01-02') as decimal(16,2));
|
||||
cast(least(cast('01-01-01' as datetime), '01-01-02') as decimal(16,2))
|
||||
select cast(least(cast('01-01-01' as datetime), '01-01-02') as decimal(16,2)) as exp;
|
||||
exp
|
||||
20010101000000.00
|
||||
DROP PROCEDURE IF EXISTS test27759 ;
|
||||
CREATE PROCEDURE test27759()
|
||||
@ -627,21 +627,21 @@ ERROR 42000: Invalid default value for 'da'
|
||||
create table t1 (t time default '916:00:00 a');
|
||||
ERROR 42000: Invalid default value for 't'
|
||||
set @@sql_mode= @org_mode;
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12.0123450' AS DATETIME(6)) AS DECIMAL(30,7));
|
||||
CAST(CAST('2006-08-10 10:11:12.0123450' AS DATETIME(6)) AS DECIMAL(30,7))
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12.0123450' AS DATETIME(6)) AS DECIMAL(30,7)) as exp;
|
||||
exp
|
||||
20060810101112.0123450
|
||||
Warnings:
|
||||
Note 1292 Truncated incorrect datetime value: '2006-08-10 10:11:12.0123450'
|
||||
SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.0123450' AS DATETIME(6)) AS DECIMAL(30,7));
|
||||
CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.0123450' AS DATETIME(6)) AS DECIMAL(30,7))
|
||||
SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.0123450' AS DATETIME(6)) AS DECIMAL(30,7)) as exp;
|
||||
exp
|
||||
20060810101112.0123450
|
||||
Warnings:
|
||||
Note 1292 Truncated incorrect datetime value: '00000002006-000008-0000010 000010:0000011:00000012.0123450'
|
||||
SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.012345' AS DATETIME(6)) AS DECIMAL(30,7));
|
||||
CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.012345' AS DATETIME(6)) AS DECIMAL(30,7))
|
||||
SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.012345' AS DATETIME(6)) AS DECIMAL(30,7)) as exp;
|
||||
exp
|
||||
20060810101112.0123450
|
||||
SELECT CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime(6)) AS DECIMAL(30,7));
|
||||
CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime(6)) AS DECIMAL(30,7))
|
||||
SELECT CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime(6)) AS DECIMAL(30,7)) as exp;
|
||||
exp
|
||||
20080729104251.1234560
|
||||
Warnings:
|
||||
Note 1292 Truncated incorrect datetime value: '2008-07-29T10:42:51.1234567'
|
||||
@ -685,8 +685,8 @@ drop table t1,t2;
|
||||
#
|
||||
# MDEV-4634 Crash in CONVERT_TZ
|
||||
#
|
||||
SELECT CONVERT_TZ(GREATEST(TIMESTAMP('2021-00-00'),TIMESTAMP('2022-00-00')),'+00:00','+7:5');
|
||||
CONVERT_TZ(GREATEST(TIMESTAMP('2021-00-00'),TIMESTAMP('2022-00-00')),'+00:00','+7:5')
|
||||
SELECT CONVERT_TZ(GREATEST(TIMESTAMP('2021-00-00'),TIMESTAMP('2022-00-00')),'+00:00','+7:5') as exp;
|
||||
exp
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '2022-00-00 00:00:00'
|
||||
@ -951,8 +951,8 @@ CAST(CAST('00:00:00.000001' AS TIME(6)) AS DATETIME(6))
|
||||
SELECT CAST(CAST(TIMESTAMP'0000-00-00 10:20:30' AS TIME) AS DATETIME);
|
||||
CAST(CAST(TIMESTAMP'0000-00-00 10:20:30' AS TIME) AS DATETIME)
|
||||
0000-00-00 10:20:30
|
||||
SELECT CAST(CAST(TIMESTAMP'0000-00-00 00:00:00.000001' AS TIME(6)) AS DATETIME(6));
|
||||
CAST(CAST(TIMESTAMP'0000-00-00 00:00:00.000001' AS TIME(6)) AS DATETIME(6))
|
||||
SELECT CAST(CAST(TIMESTAMP'0000-00-00 00:00:00.000001' AS TIME(6)) AS DATETIME(6)) as exp;
|
||||
exp
|
||||
0000-00-00 00:00:00.000001
|
||||
SET old_mode=DEFAULT;
|
||||
SET sql_mode=DEFAULT;
|
||||
|
@ -138,13 +138,10 @@ DROP TABLE t1;
|
||||
#
|
||||
# Bug 19491 (CAST DATE AS DECIMAL returns incorrect result
|
||||
#
|
||||
SELECT CAST(CAST('2006-08-10' AS DATE) AS DECIMAL(20,6));
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) AS DECIMAL(20,6));
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) + INTERVAL 14 MICROSECOND AS DECIMAL(20,6));
|
||||
SELECT CAST(CAST('10:11:12.098700' AS TIME(6)) AS DECIMAL(20,6));
|
||||
--disable_view_protocol
|
||||
SELECT CAST(CAST('2006-08-10' AS DATE) AS DECIMAL(20,6)) as exp;
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) AS DECIMAL(20,6)) as exp;
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12' AS DATETIME(6)) + INTERVAL 14 MICROSECOND AS DECIMAL(20,6)) as exp;
|
||||
SELECT CAST(CAST('10:11:12.098700' AS TIME(6)) AS DECIMAL(20,6)) as exp;
|
||||
|
||||
#
|
||||
# Test of storing datetime into date fields
|
||||
@ -246,16 +243,13 @@ drop table t1,t2,t3;
|
||||
#
|
||||
# Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
|
||||
#
|
||||
select least(cast('01-01-01' as date), '01-01-02');
|
||||
select greatest(cast('01-01-01' as date), '01-01-02');
|
||||
select least(cast('01-01-01' as date), '01-01-02') + 0;
|
||||
select greatest(cast('01-01-01' as date), '01-01-02') + 0;
|
||||
select least(cast('01-01-01' as datetime), '01-01-02') + 0;
|
||||
select cast(least(cast('01-01-01' as datetime), '01-01-02') as signed);
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select cast(least(cast('01-01-01' as datetime), '01-01-02') as decimal(16,2));
|
||||
--enable_view_protocol
|
||||
select least(cast('01-01-01' as date), '01-01-02') as exp;
|
||||
select greatest(cast('01-01-01' as date), '01-01-02') as exp;
|
||||
select least(cast('01-01-01' as date), '01-01-02') + 0 as exp;
|
||||
select greatest(cast('01-01-01' as date), '01-01-02') + 0 as exp;
|
||||
select least(cast('01-01-01' as datetime), '01-01-02') + 0 as exp;
|
||||
select cast(least(cast('01-01-01' as datetime), '01-01-02') as signed) as exp;
|
||||
select cast(least(cast('01-01-01' as datetime), '01-01-02') as decimal(16,2)) as exp;
|
||||
--disable_warnings
|
||||
DROP PROCEDURE IF EXISTS test27759 ;
|
||||
--enable_warnings
|
||||
@ -447,27 +441,23 @@ create table t1 (da date default '1962-03-32 23:33:34', dt datetime default '196
|
||||
create table t1 (t time default '916:00:00 a');
|
||||
set @@sql_mode= @org_mode;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
#
|
||||
# Bug #42146 - DATETIME fractional seconds parse error
|
||||
#
|
||||
# show we trucate microseconds from the right -- special case: leftmost is 0
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12.0123450' AS DATETIME(6)) AS DECIMAL(30,7));
|
||||
SELECT CAST(CAST('2006-08-10 10:11:12.0123450' AS DATETIME(6)) AS DECIMAL(30,7)) as exp;
|
||||
|
||||
# show that we ignore leading zeroes for all other fields
|
||||
SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.0123450' AS DATETIME(6)) AS DECIMAL(30,7));
|
||||
SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.0123450' AS DATETIME(6)) AS DECIMAL(30,7)) as exp;
|
||||
# once more with feeling (but no warnings)
|
||||
SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.012345' AS DATETIME(6)) AS DECIMAL(30,7));
|
||||
SELECT CAST(CAST('00000002006-000008-0000010 000010:0000011:00000012.012345' AS DATETIME(6)) AS DECIMAL(30,7)) as exp;
|
||||
|
||||
|
||||
#
|
||||
# Bug #38435 - LONG Microseconds cause MySQL to fail a CAST to DATETIME or DATE
|
||||
#
|
||||
# show we truncate microseconds from the right
|
||||
SELECT CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime(6)) AS DECIMAL(30,7));
|
||||
--enable_view_protocol
|
||||
SELECT CAST(CAST('2008-07-29T10:42:51.1234567' AS DateTime(6)) AS DECIMAL(30,7)) as exp;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#59173: Failure to handle DATE(TIME) values where Year, Month or
|
||||
@ -510,10 +500,7 @@ drop table t1,t2;
|
||||
--echo #
|
||||
--echo # MDEV-4634 Crash in CONVERT_TZ
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT CONVERT_TZ(GREATEST(TIMESTAMP('2021-00-00'),TIMESTAMP('2022-00-00')),'+00:00','+7:5');
|
||||
--enable_view_protocol
|
||||
SELECT CONVERT_TZ(GREATEST(TIMESTAMP('2021-00-00'),TIMESTAMP('2022-00-00')),'+00:00','+7:5') as exp;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-5041 Inserting a TIME with hour>24 into a DATETIME column produces a wrong value
|
||||
@ -674,10 +661,7 @@ SELECT CAST(TIME'00:00:00.000001' AS DATETIME(6));
|
||||
SELECT CAST(CAST('10:20:30' AS TIME) AS DATETIME);
|
||||
SELECT CAST(CAST('00:00:00.000001' AS TIME(6)) AS DATETIME(6));
|
||||
SELECT CAST(CAST(TIMESTAMP'0000-00-00 10:20:30' AS TIME) AS DATETIME);
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT CAST(CAST(TIMESTAMP'0000-00-00 00:00:00.000001' AS TIME(6)) AS DATETIME(6));
|
||||
--enable_view_protocol
|
||||
SELECT CAST(CAST(TIMESTAMP'0000-00-00 00:00:00.000001' AS TIME(6)) AS DATETIME(6)) as exp;
|
||||
SET old_mode=DEFAULT;
|
||||
SET sql_mode=DEFAULT;
|
||||
|
||||
|
@ -912,8 +912,8 @@ select * from t1;
|
||||
col1
|
||||
-9223372036854775808
|
||||
drop table t1;
|
||||
select cast('1.00000001335143196001808973960578441619873046875E-10' as decimal(30,15));
|
||||
cast('1.00000001335143196001808973960578441619873046875E-10' as decimal(30,15))
|
||||
select cast('1.00000001335143196001808973960578441619873046875E-10' as decimal(30,15)) as exp;
|
||||
exp
|
||||
0.000000000100000
|
||||
select ln(14000) c1, convert(ln(14000),decimal(5,3)) c2, cast(ln(14000) as decimal(5,3)) c3;
|
||||
c1 c2 c3
|
||||
@ -1527,9 +1527,8 @@ f1
|
||||
99999999999999999999999999999.999999999999999999999999999999999999
|
||||
DROP TABLE t1;
|
||||
select (1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 *
|
||||
1.01500000 * 1.01500000 * 0.99500000);
|
||||
(1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 *
|
||||
1.01500000 * 1.01500000 * 0.99500000)
|
||||
1.01500000 * 1.01500000 * 0.99500000) as exp;
|
||||
exp
|
||||
0.81298807395367312459230693948000000000
|
||||
create table t1 as select 5.05 / 0.014;
|
||||
Warnings:
|
||||
@ -2460,8 +2459,8 @@ drop table t1;
|
||||
# decimal_bin_size And Assertion `scale >= 0 && precision > 0 && scale <= precision'
|
||||
# failed in decimal_bin_size_inline/decimal_bin_size.
|
||||
#
|
||||
SELECT AVG(DISTINCT 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001);
|
||||
AVG(DISTINCT 0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
SELECT AVG(DISTINCT 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001) as exp;
|
||||
exp
|
||||
0.00000000000000000000000000000000000000
|
||||
CREATE TABLE t1 AS SELECT NULL AS v1;
|
||||
SELECT 1 FROM t1 GROUP BY v1 ORDER BY AVG ( from_unixtime ( '' ) ) ;
|
||||
|
@ -952,10 +952,7 @@ drop table t1;
|
||||
#
|
||||
# Bug #10891 (converting to decimal crashes server)
|
||||
#
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select cast('1.00000001335143196001808973960578441619873046875E-10' as decimal(30,15));
|
||||
--enable_view_protocol
|
||||
select cast('1.00000001335143196001808973960578441619873046875E-10' as decimal(30,15)) as exp;
|
||||
|
||||
#
|
||||
# Bug #11708 (conversion to decimal fails in decimal part)
|
||||
@ -1245,15 +1242,11 @@ DROP TABLE t1;
|
||||
#
|
||||
# Bug #36270: incorrect calculation result - works in 4.1 but not in 5.0 or 5.1
|
||||
#
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
# show that if we need to truncate the scale of an operand, we pick the
|
||||
# right one (that is, we discard the least significant decimal places)
|
||||
select (1.20396873 * 0.89550000 * 0.68000000 * 1.08721696 * 0.99500000 *
|
||||
1.01500000 * 1.01500000 * 0.99500000);
|
||||
|
||||
--enable_view_protocol
|
||||
1.01500000 * 1.01500000 * 0.99500000) as exp;
|
||||
|
||||
#
|
||||
# Bug #31616 div_precision_increment description looks wrong
|
||||
@ -1924,10 +1917,8 @@ drop table t1;
|
||||
--echo # decimal_bin_size And Assertion `scale >= 0 && precision > 0 && scale <= precision'
|
||||
--echo # failed in decimal_bin_size_inline/decimal_bin_size.
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT AVG(DISTINCT 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001);
|
||||
--enable_view_protocol
|
||||
SELECT AVG(DISTINCT 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001) as exp;
|
||||
|
||||
CREATE TABLE t1 AS SELECT NULL AS v1;
|
||||
SELECT 1 FROM t1 GROUP BY v1 ORDER BY AVG ( from_unixtime ( '' ) ) ;
|
||||
DROP TABLE t1;
|
||||
|
@ -1099,11 +1099,9 @@ select
|
||||
a,
|
||||
count(col1) over (order by a
|
||||
range between 0.1 preceding
|
||||
and 0.1 following)
|
||||
and 0.1 following) as count
|
||||
from t1;
|
||||
a count(col1) over (order by a
|
||||
range between 0.1 preceding
|
||||
and 0.1 following)
|
||||
a count
|
||||
0.450 3
|
||||
0.500 3
|
||||
0.550 3
|
||||
@ -1249,33 +1247,33 @@ insert into t1 values (1,1,'foo');
|
||||
insert into t1 values (2,2,'bar');
|
||||
select
|
||||
count(*) over (order by a,b
|
||||
range between unbounded preceding and current row)
|
||||
range between unbounded preceding and current row) as count
|
||||
from t1;
|
||||
ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
|
||||
select
|
||||
count(*) over (order by c
|
||||
range between unbounded preceding and current row)
|
||||
range between unbounded preceding and current row) as count
|
||||
from t1;
|
||||
ERROR HY000: Numeric datatype is required for RANGE-type frame
|
||||
select
|
||||
count(*) over (order by a
|
||||
range between 'abcd' preceding and current row)
|
||||
range between 'abcd' preceding and current row) as count
|
||||
from t1;
|
||||
ERROR HY000: Numeric datatype is required for RANGE-type frame
|
||||
select
|
||||
count(*) over (order by a
|
||||
range between current row and 'foo' following)
|
||||
range between current row and 'foo' following) as count
|
||||
from t1;
|
||||
ERROR HY000: Numeric datatype is required for RANGE-type frame
|
||||
# Try range frame with invalid bounds
|
||||
select
|
||||
count(*) over (order by a
|
||||
rows between 0.5 preceding and current row)
|
||||
rows between 0.5 preceding and current row) as count
|
||||
from t1;
|
||||
ERROR HY000: Integer is required for ROWS-type frame
|
||||
select
|
||||
count(*) over (order by a
|
||||
rows between current row and 3.14 following)
|
||||
rows between current row and 3.14 following) as count
|
||||
from t1;
|
||||
ERROR HY000: Integer is required for ROWS-type frame
|
||||
#
|
||||
@ -1284,29 +1282,27 @@ ERROR HY000: Integer is required for ROWS-type frame
|
||||
select
|
||||
count(*) over (order by a
|
||||
rows between 1 preceding and 1 following
|
||||
exclude current row)
|
||||
exclude current row) as count
|
||||
from t1;
|
||||
ERROR HY000: Frame exclusion is not supported yet
|
||||
select
|
||||
count(*) over (order by a
|
||||
range between 1 preceding and 1 following
|
||||
exclude ties)
|
||||
exclude ties) as count
|
||||
from t1;
|
||||
ERROR HY000: Frame exclusion is not supported yet
|
||||
select
|
||||
count(*) over (order by a
|
||||
range between 1 preceding and 1 following
|
||||
exclude group)
|
||||
exclude group) as count
|
||||
from t1;
|
||||
ERROR HY000: Frame exclusion is not supported yet
|
||||
select
|
||||
count(*) over (order by a
|
||||
rows between 1 preceding and 1 following
|
||||
exclude no others)
|
||||
exclude no others) as count
|
||||
from t1;
|
||||
count(*) over (order by a
|
||||
rows between 1 preceding and 1 following
|
||||
exclude no others)
|
||||
count
|
||||
2
|
||||
2
|
||||
drop table t1;
|
||||
@ -1602,10 +1598,10 @@ insert into t1 values
|
||||
# Check using counters
|
||||
flush status;
|
||||
select
|
||||
rank() over (partition by c order by a),
|
||||
rank() over (partition by c order by b)
|
||||
rank() over (partition by c order by a) as rank_a,
|
||||
rank() over (partition by c order by b) as rank_b
|
||||
from t1;
|
||||
rank() over (partition by c order by a) rank() over (partition by c order by b)
|
||||
rank_a rank_b
|
||||
1 3
|
||||
2 2
|
||||
3 1
|
||||
@ -1618,10 +1614,10 @@ Sort_rows 6
|
||||
Sort_scan 2
|
||||
flush status;
|
||||
select
|
||||
rank() over (partition by c order by a),
|
||||
rank() over (partition by c order by a)
|
||||
rank() over (partition by c order by a) as rank_a,
|
||||
rank() over (partition by c order by a) as rank_b
|
||||
from t1;
|
||||
rank() over (partition by c order by a) rank() over (partition by c order by a)
|
||||
rank_a rank_b
|
||||
1 1
|
||||
2 2
|
||||
3 3
|
||||
@ -1634,8 +1630,8 @@ Sort_rows 3
|
||||
Sort_scan 1
|
||||
explain format=json
|
||||
select
|
||||
rank() over (partition by c order by a),
|
||||
rank() over (partition by c order by a)
|
||||
rank() over (partition by c order by a) as rank_a,
|
||||
rank() over (partition by c order by a) as rank_b
|
||||
from t1;
|
||||
EXPLAIN
|
||||
{
|
||||
@ -1686,8 +1682,8 @@ EXPLAIN
|
||||
}
|
||||
explain format=json
|
||||
select
|
||||
rank() over (partition by c order by a),
|
||||
count(*) over (partition by c)
|
||||
rank() over (partition by c order by a) as rank_a,
|
||||
count(*) over (partition by c) as count_c
|
||||
from t1;
|
||||
EXPLAIN
|
||||
{
|
||||
@ -1712,8 +1708,8 @@ EXPLAIN
|
||||
}
|
||||
explain format=json
|
||||
select
|
||||
count(*) over (partition by c),
|
||||
rank() over (partition by c order by a)
|
||||
count(*) over (partition by c) as count_c,
|
||||
rank() over (partition by c order by a) as rank_a
|
||||
from t1;
|
||||
EXPLAIN
|
||||
{
|
||||
@ -1842,18 +1838,18 @@ insert into t1 values (1, 3, 4);
|
||||
insert into t1 values (1, 4, 8);
|
||||
select
|
||||
pk, a,
|
||||
sum(a) over (order by pk rows between 0 preceding and current row)
|
||||
sum(a) over (order by pk rows between 0 preceding and current row) as sum
|
||||
from t1;
|
||||
pk a sum(a) over (order by pk rows between 0 preceding and current row)
|
||||
pk a sum
|
||||
1 1 1
|
||||
2 2 2
|
||||
3 4 4
|
||||
4 8 8
|
||||
select
|
||||
pk, a,
|
||||
sum(a) over (order by pk rows between 1 preceding and 0 preceding)
|
||||
sum(a) over (order by pk rows between 1 preceding and 0 preceding) as sum
|
||||
from t1;
|
||||
pk a sum(a) over (order by pk rows between 1 preceding and 0 preceding)
|
||||
pk a sum
|
||||
1 1 1
|
||||
2 2 3
|
||||
3 4 6
|
||||
@ -1864,9 +1860,9 @@ insert into t1 values (200, 3, 4);
|
||||
insert into t1 values (200, 4, 8);
|
||||
select
|
||||
part_id, pk, a,
|
||||
sum(a) over (partition by part_id order by pk rows between 0 preceding and current row)
|
||||
sum(a) over (partition by part_id order by pk rows between 0 preceding and current row) as sum
|
||||
from t1;
|
||||
part_id pk a sum(a) over (partition by part_id order by pk rows between 0 preceding and current row)
|
||||
part_id pk a sum
|
||||
1 1 1 1
|
||||
1 2 2 2
|
||||
1 3 4 4
|
||||
@ -1877,9 +1873,9 @@ part_id pk a sum(a) over (partition by part_id order by pk rows between 0 preced
|
||||
200 4 8 8
|
||||
select
|
||||
part_id, pk, a,
|
||||
sum(a) over (partition by part_id order by pk rows between 1 preceding and 0 preceding)
|
||||
sum(a) over (partition by part_id order by pk rows between 1 preceding and 0 preceding) as sum
|
||||
from t1;
|
||||
part_id pk a sum(a) over (partition by part_id order by pk rows between 1 preceding and 0 preceding)
|
||||
part_id pk a sum
|
||||
1 1 1 1
|
||||
1 2 2 3
|
||||
1 3 4 6
|
||||
@ -1904,8 +1900,8 @@ insert into t1 values
|
||||
(2000, 3),
|
||||
(2000, 3),
|
||||
(2000, 3);
|
||||
select rank() over (partition by part_id order by a) from t1;
|
||||
rank() over (partition by part_id order by a)
|
||||
select rank() over (partition by part_id order by a) as rank from t1;
|
||||
rank
|
||||
1
|
||||
2
|
||||
2
|
||||
@ -1915,14 +1911,14 @@ rank() over (partition by part_id order by a)
|
||||
3
|
||||
3
|
||||
3
|
||||
select distinct rank() over (partition by part_id order by a) from t1;
|
||||
rank() over (partition by part_id order by a)
|
||||
select distinct rank() over (partition by part_id order by a) as rank from t1;
|
||||
rank
|
||||
1
|
||||
2
|
||||
4
|
||||
3
|
||||
explain format=json
|
||||
select distinct rank() over (partition by part_id order by a) from t1;
|
||||
select distinct rank() over (partition by part_id order by a) as rank from t1;
|
||||
EXPLAIN
|
||||
{
|
||||
"query_block": {
|
||||
@ -2002,11 +1998,8 @@ INSERT INTO `orders` VALUES (59940,238);
|
||||
SELECT o_custkey, avg(o_custkey) OVER (PARTITION BY abs(o_custkey)
|
||||
ORDER BY o_custkey
|
||||
RANGE BETWEEN 15 FOLLOWING
|
||||
AND 15 FOLLOWING) from orders;
|
||||
o_custkey avg(o_custkey) OVER (PARTITION BY abs(o_custkey)
|
||||
ORDER BY o_custkey
|
||||
RANGE BETWEEN 15 FOLLOWING
|
||||
AND 15 FOLLOWING)
|
||||
AND 15 FOLLOWING) as avg from orders;
|
||||
o_custkey avg
|
||||
238 NULL
|
||||
242 NULL
|
||||
DROP table orders;
|
||||
@ -2218,15 +2211,15 @@ a
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
SELECT ifnull(((t.a) / CASE WHEN sum(t.a) over(partition by t.b) =0 then null else null end) ,0) from t;
|
||||
ifnull(((t.a) / CASE WHEN sum(t.a) over(partition by t.b) =0 then null else null end) ,0)
|
||||
SELECT ifnull(((t.a) / CASE WHEN sum(t.a) over(partition by t.b) =0 then null else null end) ,0) as result from t;
|
||||
result
|
||||
0.00000000000000
|
||||
0.00000000000000
|
||||
0.00000000000000
|
||||
SELECT sum(t.a) over (partition by t.b order by a),
|
||||
sqrt(ifnull((sum(t.a) over (partition by t.b order by a)), 0))
|
||||
sqrt(ifnull((sum(t.a) over (partition by t.b order by a)), 0)) as sum
|
||||
from t;
|
||||
sum(t.a) over (partition by t.b order by a) sqrt(ifnull((sum(t.a) over (partition by t.b order by a)), 0))
|
||||
sum(t.a) over (partition by t.b order by a) sum
|
||||
0.0000000000 0
|
||||
1.0000000000 1
|
||||
3.0000000000 1.7320508075688772
|
||||
@ -2401,9 +2394,9 @@ INSERT INTO t1 VALUES
|
||||
(1,1000), (2,1100), (3,1800), (4,1500), (5,1700), (6,1200),
|
||||
(7,2000), (8,2100), (9,1600);
|
||||
SELECT id, sum(a) OVER (PARTITION BY id
|
||||
ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
|
||||
ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) as sum
|
||||
FROM t1;
|
||||
id sum(a) OVER (PARTITION BY id
|
||||
id sum
|
||||
1 1000
|
||||
2 1100
|
||||
3 1800
|
||||
@ -2413,10 +2406,9 @@ id sum(a) OVER (PARTITION BY id
|
||||
7 2000
|
||||
8 2100
|
||||
9 1600
|
||||
ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
|
||||
SELECT id, sum(a) OVER (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
|
||||
SELECT id, sum(a) OVER (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) as sum
|
||||
FROM t1;
|
||||
id sum(a) OVER (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
|
||||
id sum
|
||||
1 14000
|
||||
2 13000
|
||||
3 5900
|
||||
@ -3151,8 +3143,8 @@ DROP TABLE t1;
|
||||
#
|
||||
CREATE TABLE t1 (c CHAR(8)) ENGINE=MyISAM;
|
||||
INSERT IGNORE INTO t1 VALUES ('foo');
|
||||
SELECT ('bar',1) IN ( SELECT c, ROW_NUMBER() OVER (PARTITION BY c) FROM t1);
|
||||
('bar',1) IN ( SELECT c, ROW_NUMBER() OVER (PARTITION BY c) FROM t1)
|
||||
SELECT ('bar',1) IN ( SELECT c, ROW_NUMBER() OVER (PARTITION BY c) FROM t1) as result;
|
||||
result
|
||||
0
|
||||
DROP TABLE t1;
|
||||
#
|
||||
@ -3185,8 +3177,8 @@ DROP TABLE t1;
|
||||
#
|
||||
CREATE TABLE t1 (dt DATETIME);
|
||||
INSERT INTO t1 VALUES ('2017-05-17');
|
||||
SELECT MAX(dt) OVER (ORDER BY dt ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) FROM t1;
|
||||
MAX(dt) OVER (ORDER BY dt ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING)
|
||||
SELECT MAX(dt) OVER (ORDER BY dt ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) as result FROM t1;
|
||||
result
|
||||
NULL
|
||||
DROP TABLE t1;
|
||||
#
|
||||
|
@ -2,9 +2,6 @@
|
||||
# Window Functions Tests
|
||||
#
|
||||
--source include/no_valgrind_without_big.inc
|
||||
#remove this include after fix MDEV-27871, MDEV-27938
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
--source include/have_sequence.inc
|
||||
|
||||
--disable_warnings
|
||||
@ -694,7 +691,7 @@ select
|
||||
a,
|
||||
count(col1) over (order by a
|
||||
range between 0.1 preceding
|
||||
and 0.1 following)
|
||||
and 0.1 following) as count
|
||||
from t1;
|
||||
|
||||
drop table t1;
|
||||
@ -787,38 +784,38 @@ insert into t1 values (2,2,'bar');
|
||||
--error ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY
|
||||
select
|
||||
count(*) over (order by a,b
|
||||
range between unbounded preceding and current row)
|
||||
range between unbounded preceding and current row) as count
|
||||
from t1;
|
||||
|
||||
--error ER_WRONG_TYPE_FOR_RANGE_FRAME
|
||||
select
|
||||
count(*) over (order by c
|
||||
range between unbounded preceding and current row)
|
||||
range between unbounded preceding and current row) as count
|
||||
from t1;
|
||||
|
||||
--error ER_WRONG_TYPE_FOR_RANGE_FRAME
|
||||
select
|
||||
count(*) over (order by a
|
||||
range between 'abcd' preceding and current row)
|
||||
range between 'abcd' preceding and current row) as count
|
||||
from t1;
|
||||
|
||||
--error ER_WRONG_TYPE_FOR_RANGE_FRAME
|
||||
select
|
||||
count(*) over (order by a
|
||||
range between current row and 'foo' following)
|
||||
range between current row and 'foo' following) as count
|
||||
from t1;
|
||||
|
||||
--echo # Try range frame with invalid bounds
|
||||
--error ER_WRONG_TYPE_FOR_ROWS_FRAME
|
||||
select
|
||||
count(*) over (order by a
|
||||
rows between 0.5 preceding and current row)
|
||||
rows between 0.5 preceding and current row) as count
|
||||
from t1;
|
||||
|
||||
--error ER_WRONG_TYPE_FOR_ROWS_FRAME
|
||||
select
|
||||
count(*) over (order by a
|
||||
rows between current row and 3.14 following)
|
||||
rows between current row and 3.14 following) as count
|
||||
from t1;
|
||||
|
||||
--echo #
|
||||
@ -829,28 +826,28 @@ from t1;
|
||||
select
|
||||
count(*) over (order by a
|
||||
rows between 1 preceding and 1 following
|
||||
exclude current row)
|
||||
exclude current row) as count
|
||||
from t1;
|
||||
|
||||
--error ER_FRAME_EXCLUSION_NOT_SUPPORTED
|
||||
select
|
||||
count(*) over (order by a
|
||||
range between 1 preceding and 1 following
|
||||
exclude ties)
|
||||
exclude ties) as count
|
||||
from t1;
|
||||
|
||||
--error ER_FRAME_EXCLUSION_NOT_SUPPORTED
|
||||
select
|
||||
count(*) over (order by a
|
||||
range between 1 preceding and 1 following
|
||||
exclude group)
|
||||
exclude group) as count
|
||||
from t1;
|
||||
|
||||
# EXCLUDE NO OTHERS means 'don't exclude anything'
|
||||
select
|
||||
count(*) over (order by a
|
||||
rows between 1 preceding and 1 following
|
||||
exclude no others)
|
||||
exclude no others) as count
|
||||
from t1;
|
||||
|
||||
drop table t1;
|
||||
@ -1027,24 +1024,24 @@ insert into t1 values
|
||||
flush status;
|
||||
--sorted_result
|
||||
select
|
||||
rank() over (partition by c order by a),
|
||||
rank() over (partition by c order by b)
|
||||
rank() over (partition by c order by a) as rank_a,
|
||||
rank() over (partition by c order by b) as rank_b
|
||||
from t1;
|
||||
show status like '%sort%';
|
||||
|
||||
flush status;
|
||||
--sorted_result
|
||||
select
|
||||
rank() over (partition by c order by a),
|
||||
rank() over (partition by c order by a)
|
||||
rank() over (partition by c order by a) as rank_a,
|
||||
rank() over (partition by c order by a) as rank_b
|
||||
from t1;
|
||||
show status like '%sort%';
|
||||
|
||||
# Check using EXPLAIN FORMAT=JSON
|
||||
explain format=json
|
||||
select
|
||||
rank() over (partition by c order by a),
|
||||
rank() over (partition by c order by a)
|
||||
rank() over (partition by c order by a) as rank_a,
|
||||
rank() over (partition by c order by a) as rank_b
|
||||
from t1;
|
||||
|
||||
explain format=json
|
||||
@ -1055,14 +1052,14 @@ from t1;
|
||||
|
||||
explain format=json
|
||||
select
|
||||
rank() over (partition by c order by a),
|
||||
count(*) over (partition by c)
|
||||
rank() over (partition by c order by a) as rank_a,
|
||||
count(*) over (partition by c) as count_c
|
||||
from t1;
|
||||
|
||||
explain format=json
|
||||
select
|
||||
count(*) over (partition by c),
|
||||
rank() over (partition by c order by a)
|
||||
count(*) over (partition by c) as count_c,
|
||||
rank() over (partition by c order by a) as rank_a
|
||||
from t1;
|
||||
|
||||
drop table t1;
|
||||
@ -1137,12 +1134,12 @@ insert into t1 values (1, 4, 8);
|
||||
|
||||
select
|
||||
pk, a,
|
||||
sum(a) over (order by pk rows between 0 preceding and current row)
|
||||
sum(a) over (order by pk rows between 0 preceding and current row) as sum
|
||||
from t1;
|
||||
|
||||
select
|
||||
pk, a,
|
||||
sum(a) over (order by pk rows between 1 preceding and 0 preceding)
|
||||
sum(a) over (order by pk rows between 1 preceding and 0 preceding) as sum
|
||||
from t1;
|
||||
|
||||
insert into t1 values (200, 1, 1);
|
||||
@ -1151,12 +1148,12 @@ insert into t1 values (200, 3, 4);
|
||||
insert into t1 values (200, 4, 8);
|
||||
select
|
||||
part_id, pk, a,
|
||||
sum(a) over (partition by part_id order by pk rows between 0 preceding and current row)
|
||||
sum(a) over (partition by part_id order by pk rows between 0 preceding and current row) as sum
|
||||
from t1;
|
||||
|
||||
select
|
||||
part_id, pk, a,
|
||||
sum(a) over (partition by part_id order by pk rows between 1 preceding and 0 preceding)
|
||||
sum(a) over (partition by part_id order by pk rows between 1 preceding and 0 preceding) as sum
|
||||
from t1;
|
||||
|
||||
drop table t1;
|
||||
@ -1177,10 +1174,10 @@ insert into t1 values
|
||||
(2000, 3),
|
||||
(2000, 3);
|
||||
|
||||
select rank() over (partition by part_id order by a) from t1;
|
||||
select distinct rank() over (partition by part_id order by a) from t1;
|
||||
select rank() over (partition by part_id order by a) as rank from t1;
|
||||
select distinct rank() over (partition by part_id order by a) as rank from t1;
|
||||
explain format=json
|
||||
select distinct rank() over (partition by part_id order by a) from t1;
|
||||
select distinct rank() over (partition by part_id order by a) as rank from t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
@ -1237,7 +1234,7 @@ INSERT INTO `orders` VALUES (59940,238);
|
||||
SELECT o_custkey, avg(o_custkey) OVER (PARTITION BY abs(o_custkey)
|
||||
ORDER BY o_custkey
|
||||
RANGE BETWEEN 15 FOLLOWING
|
||||
AND 15 FOLLOWING) from orders;
|
||||
AND 15 FOLLOWING) as avg from orders;
|
||||
DROP table orders;
|
||||
|
||||
--echo #
|
||||
@ -1374,9 +1371,9 @@ insert into t(a,b) values(1,1);
|
||||
insert into t(a,b) values(2,1);
|
||||
insert into t(a,b) values(0,1);
|
||||
SELECT (CASE WHEN sum(t.a) over (partition by t.b)=0 THEN null ELSE null END) AS a FROM t;
|
||||
SELECT ifnull(((t.a) / CASE WHEN sum(t.a) over(partition by t.b) =0 then null else null end) ,0) from t;
|
||||
SELECT ifnull(((t.a) / CASE WHEN sum(t.a) over(partition by t.b) =0 then null else null end) ,0) as result from t;
|
||||
SELECT sum(t.a) over (partition by t.b order by a),
|
||||
sqrt(ifnull((sum(t.a) over (partition by t.b order by a)), 0))
|
||||
sqrt(ifnull((sum(t.a) over (partition by t.b order by a)), 0)) as sum
|
||||
from t;
|
||||
drop table t;
|
||||
|
||||
@ -1460,11 +1457,11 @@ INSERT INTO t1 VALUES
|
||||
|
||||
--sorted_result
|
||||
SELECT id, sum(a) OVER (PARTITION BY id
|
||||
ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
|
||||
ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) as sum
|
||||
FROM t1;
|
||||
|
||||
--sorted_result
|
||||
SELECT id, sum(a) OVER (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
|
||||
SELECT id, sum(a) OVER (ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) as sum
|
||||
FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
@ -1613,9 +1610,11 @@ select b, max(i+20) over (partition by b) as f
|
||||
from (select i+10 as i, b from t1) as tt
|
||||
order by i;
|
||||
|
||||
--disable_view_protocol
|
||||
select max(i), max(i), sum(i), count(i)
|
||||
from t1 as tt
|
||||
group by b;
|
||||
--enable_view_protocol
|
||||
|
||||
select max(i), min(sum(i)) over (partition by count(i)) f
|
||||
from t1 as tt
|
||||
@ -1629,9 +1628,11 @@ select max(i+10), min(sum(i)+10) over (partition by count(i)) f
|
||||
from t1 as tt
|
||||
group by b;
|
||||
|
||||
--disable_view_protocol
|
||||
select max(i), max(i), sum(i), count(i)
|
||||
from (select i+10 as i, b from t1) as tt
|
||||
group by b;
|
||||
--enable_view_protocol
|
||||
|
||||
select max(i), min(sum(i)) over (partition by count(i)) f
|
||||
from (select i+10 as i, b from t1) as tt
|
||||
@ -1946,7 +1947,7 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
CREATE TABLE t1 (c CHAR(8)) ENGINE=MyISAM;
|
||||
INSERT IGNORE INTO t1 VALUES ('foo');
|
||||
SELECT ('bar',1) IN ( SELECT c, ROW_NUMBER() OVER (PARTITION BY c) FROM t1);
|
||||
SELECT ('bar',1) IN ( SELECT c, ROW_NUMBER() OVER (PARTITION BY c) FROM t1) as result;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
@ -1977,7 +1978,7 @@ DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (dt DATETIME);
|
||||
INSERT INTO t1 VALUES ('2017-05-17');
|
||||
SELECT MAX(dt) OVER (ORDER BY dt ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) FROM t1;
|
||||
SELECT MAX(dt) OVER (ORDER BY dt ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) as result FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
@ -2767,6 +2768,8 @@ FROM t1
|
||||
GROUP BY nullif(id, 15532);
|
||||
drop table t1;
|
||||
|
||||
#Dublicate warnings
|
||||
--disable_view_protocol
|
||||
CREATE TABLE t1 ( a char(25), b text);
|
||||
INSERT INTO t1 VALUES ('foo','bar');
|
||||
|
||||
@ -2778,6 +2781,7 @@ GROUP BY
|
||||
LEFT((SYSDATE()), 'foo')
|
||||
WITH ROLLUP;
|
||||
drop table t1;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo #
|
||||
|
@ -32,9 +32,9 @@ insert into t1 values
|
||||
(125 , 6, 1, NULL),
|
||||
(126 , 6, 1, NULL),
|
||||
(127 , 6, 1, NULL);
|
||||
select pk, a, b, avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
|
||||
select pk, a, b, avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) as avg
|
||||
from t1;
|
||||
pk a b avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
|
||||
pk a b avg
|
||||
101 0 10 10.0000
|
||||
102 0 10 10.0000
|
||||
103 1 10 10.0000
|
||||
@ -62,9 +62,9 @@ pk a b avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FO
|
||||
125 6 1 1.0000
|
||||
126 6 1 1.0000
|
||||
127 6 1 1.0000
|
||||
select pk, a, c, avg(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
|
||||
select pk, a, c, avg(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) as avg
|
||||
from t1;
|
||||
pk a c avg(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
|
||||
pk a c avg
|
||||
101 0 1.1 1.6
|
||||
102 0 2.1 1.6
|
||||
103 1 3.1 3.5999999999999996
|
||||
|
@ -35,14 +35,11 @@ insert into t1 values
|
||||
(126 , 6, 1, NULL),
|
||||
(127 , 6, 1, NULL);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
--sorted_result
|
||||
select pk, a, b, avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
|
||||
select pk, a, b, avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) as avg
|
||||
from t1;
|
||||
|
||||
--sorted_result
|
||||
select pk, a, c, avg(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
|
||||
select pk, a, c, avg(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) as avg
|
||||
from t1;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
@ -19,10 +19,10 @@ sum(b) over (order by a rows between 2 preceding and 2 following) as SUM_B
|
||||
from
|
||||
t10;
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
variable_name case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
variable_name result
|
||||
SORT_MERGE_PASSES NO PASSES
|
||||
set sort_buffer_size=1024;
|
||||
flush status;
|
||||
@ -32,10 +32,10 @@ sum(b) over (order by a rows between 2 preceding and 2 following) as SUM_B
|
||||
from
|
||||
t10;
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
variable_name case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
variable_name result
|
||||
SORT_MERGE_PASSES WITH PASSES
|
||||
include/diff_tables.inc [t21, t22]
|
||||
drop table t21, t22;
|
||||
@ -51,10 +51,10 @@ sum(b) over (order by a rows between 20 preceding and 20 following) as SUM_B3
|
||||
from
|
||||
t10;
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
variable_name case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
variable_name result
|
||||
SORT_MERGE_PASSES NO PASSES
|
||||
set sort_buffer_size=1024;
|
||||
flush status;
|
||||
@ -66,10 +66,10 @@ sum(b) over (order by a rows between 20 preceding and 20 following) as SUM_B3
|
||||
from
|
||||
t10;
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
variable_name case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
variable_name result
|
||||
SORT_MERGE_PASSES WITH PASSES
|
||||
include/diff_tables.inc [t21, t22]
|
||||
drop table t21, t22;
|
||||
@ -85,10 +85,10 @@ sum(b) over (order by a range between 5000 preceding and 5000 following) as SUM_
|
||||
from
|
||||
t10;
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
variable_name case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
variable_name result
|
||||
SORT_MERGE_PASSES NO PASSES
|
||||
set sort_buffer_size=1024;
|
||||
flush status;
|
||||
@ -99,10 +99,10 @@ sum(b) over (order by a range between 5000 preceding and 5000 following) as SUM_
|
||||
from
|
||||
t10;
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
variable_name case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
variable_name result
|
||||
SORT_MERGE_PASSES WITH PASSES
|
||||
include/diff_tables.inc [t21, t22]
|
||||
drop table t21, t22;
|
||||
|
@ -28,13 +28,10 @@ select
|
||||
sum(b) over (order by a rows between 2 preceding and 2 following) as SUM_B
|
||||
from
|
||||
t10;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
--enable_view_protocol
|
||||
|
||||
set sort_buffer_size=1024;
|
||||
flush status;
|
||||
@ -43,13 +40,10 @@ select
|
||||
sum(b) over (order by a rows between 2 preceding and 2 following) as SUM_B
|
||||
from
|
||||
t10;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
--enable_view_protocol
|
||||
|
||||
let $diff_tables= t21, t22;
|
||||
source include/diff_tables.inc;
|
||||
@ -66,13 +60,10 @@ select
|
||||
sum(b) over (order by a rows between 20 preceding and 20 following) as SUM_B3
|
||||
from
|
||||
t10;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
--enable_view_protocol
|
||||
|
||||
set sort_buffer_size=1024;
|
||||
flush status;
|
||||
@ -83,13 +74,10 @@ select
|
||||
sum(b) over (order by a rows between 20 preceding and 20 following) as SUM_B3
|
||||
from
|
||||
t10;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
--enable_view_protocol
|
||||
|
||||
let $diff_tables= t21, t22;
|
||||
source include/diff_tables.inc;
|
||||
@ -106,13 +94,10 @@ select
|
||||
sum(b) over (order by a range between 5000 preceding and 5000 following) as SUM_B1
|
||||
from
|
||||
t10;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
--enable_view_protocol
|
||||
|
||||
set sort_buffer_size=1024;
|
||||
flush status;
|
||||
@ -122,13 +107,10 @@ select
|
||||
sum(b) over (order by a range between 5000 preceding and 5000 following) as SUM_B1
|
||||
from
|
||||
t10;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select variable_name,
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end
|
||||
case when variable_value > 0 then 'WITH PASSES' else 'NO PASSES' end as result
|
||||
from information_schema.session_status
|
||||
where variable_name like 'Sort_merge_passes';
|
||||
--enable_view_protocol
|
||||
|
||||
let $diff_tables= t21, t22;
|
||||
source include/diff_tables.inc;
|
||||
|
@ -75,9 +75,9 @@ pk a nth_value(pk, pk) over (partition by a order by pk) nth_value(pk, a + 1) ov
|
||||
11 2 NULL 9
|
||||
select pk,
|
||||
a,
|
||||
nth_value(pk, 1) over (partition by a order by pk ROWS between 1 preceding and 1 following)
|
||||
nth_value(pk, 1) over (partition by a order by pk ROWS between 1 preceding and 1 following) as nth
|
||||
from t1;
|
||||
pk a nth_value(pk, 1) over (partition by a order by pk ROWS between 1 preceding and 1 following)
|
||||
pk a nth
|
||||
1 0 1
|
||||
2 0 1
|
||||
3 0 2
|
||||
@ -91,21 +91,21 @@ pk a nth_value(pk, 1) over (partition by a order by pk ROWS between 1 preceding
|
||||
11 2 10
|
||||
select pk,
|
||||
a,
|
||||
nth_value(a, 1) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 2) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 3) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 4) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 5) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 6) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 7) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 8) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 9) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 10) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 11) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 12) over (order by a RANGE BETWEEN 1 preceding and 1 following)
|
||||
nth_value(a, 1) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth1,
|
||||
nth_value(a, 2) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth2,
|
||||
nth_value(a, 3) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth3,
|
||||
nth_value(a, 4) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth4,
|
||||
nth_value(a, 5) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth5,
|
||||
nth_value(a, 6) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth6,
|
||||
nth_value(a, 7) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth7,
|
||||
nth_value(a, 8) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth8,
|
||||
nth_value(a, 9) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth9,
|
||||
nth_value(a, 10) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth10,
|
||||
nth_value(a, 11) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth11,
|
||||
nth_value(a, 12) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth12
|
||||
from t1
|
||||
order by pk asc;
|
||||
pk a nth_value(a, 1) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 2) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 3) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 4) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 5) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 6) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 7) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 8) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 9) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 10) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 11) over (order by a RANGE BETWEEN 1 preceding and 1 following) nth_value(a, 12) over (order by a RANGE BETWEEN 1 preceding and 1 following)
|
||||
pk a nth1 nth2 nth3 nth4 nth5 nth6 nth7 nth8 nth9 nth10 nth11 nth12
|
||||
1 0 0 0 0 1 1 1 NULL NULL NULL NULL NULL NULL
|
||||
2 0 0 0 0 1 1 1 NULL NULL NULL NULL NULL NULL
|
||||
3 0 0 0 0 1 1 1 NULL NULL NULL NULL NULL NULL
|
||||
|
@ -42,32 +42,26 @@ select pk,
|
||||
from t1
|
||||
order by pk asc;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select pk,
|
||||
a,
|
||||
nth_value(pk, 1) over (partition by a order by pk ROWS between 1 preceding and 1 following)
|
||||
nth_value(pk, 1) over (partition by a order by pk ROWS between 1 preceding and 1 following) as nth
|
||||
from t1;
|
||||
--enable_view_protocol
|
||||
|
||||
#enable after fix MDEV-28535
|
||||
--disable_view_protocol
|
||||
select pk,
|
||||
a,
|
||||
nth_value(a, 1) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 2) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 3) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 4) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 5) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 6) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 7) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 8) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 9) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 10) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 11) over (order by a RANGE BETWEEN 1 preceding and 1 following),
|
||||
nth_value(a, 12) over (order by a RANGE BETWEEN 1 preceding and 1 following)
|
||||
nth_value(a, 1) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth1,
|
||||
nth_value(a, 2) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth2,
|
||||
nth_value(a, 3) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth3,
|
||||
nth_value(a, 4) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth4,
|
||||
nth_value(a, 5) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth5,
|
||||
nth_value(a, 6) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth6,
|
||||
nth_value(a, 7) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth7,
|
||||
nth_value(a, 8) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth8,
|
||||
nth_value(a, 9) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth9,
|
||||
nth_value(a, 10) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth10,
|
||||
nth_value(a, 11) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth11,
|
||||
nth_value(a, 12) over (order by a RANGE BETWEEN 1 preceding and 1 following) as nth12
|
||||
from t1
|
||||
order by pk asc;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1;
|
||||
|
@ -396,9 +396,9 @@ select t1.a from t1 where pk = 13;
|
||||
a
|
||||
1
|
||||
select pk, a, b,
|
||||
ntile((select a from t1 where pk=13)) over (partition by b order by pk)
|
||||
ntile((select a from t1 where pk=13)) over (partition by b order by pk) as ntile
|
||||
from t1;
|
||||
pk a b ntile((select a from t1 where pk=13)) over (partition by b order by pk)
|
||||
pk a b ntile
|
||||
11 0 10 1
|
||||
12 0 10 1
|
||||
13 1 10 1
|
||||
@ -411,7 +411,7 @@ pk a b ntile((select a from t1 where pk=13)) over (partition by b order by pk)
|
||||
20 4 20 1
|
||||
explain
|
||||
select pk, a, b,
|
||||
ntile((select a from t1 where pk=13)) over (partition by b order by pk)
|
||||
ntile((select a from t1 where pk=13)) over (partition by b order by pk) as ntile
|
||||
from t1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 10 Using temporary
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user