mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Merge remote-tracking branch 'origin/11.4' into 11.5
This commit is contained in:
@ -448,6 +448,7 @@ fedora install:
|
||||
- upgraded-database.sql
|
||||
|
||||
cppcheck:
|
||||
allow_failure: true
|
||||
stage: sast
|
||||
needs: []
|
||||
variables:
|
||||
@ -455,33 +456,57 @@ cppcheck:
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
script:
|
||||
- yum install -y cppcheck diffutils
|
||||
# --template: use a single-line template
|
||||
# --template: output format
|
||||
# --force: check large directories without warning
|
||||
# -i<directory>: ignore this directory when scanning
|
||||
# -I<directory>: include path, reduces false positives
|
||||
# related to inability to resolve symbols
|
||||
# -j: run multiple cppcheck threads
|
||||
# Use newline to escape colon in yaml
|
||||
- >
|
||||
cppcheck --template="{file}:{line}: {severity}: {message}" --force
|
||||
cppcheck --template="{file}:{line}\n{code}\n{severity}: {message}" --force --check-level=exhaustive
|
||||
client dbug extra include libmariadb libmysqld libservices mysql-test mysys mysys_ssl pcre plugin
|
||||
strings tests unittest vio wsrep-lib sql sql-common storage
|
||||
-istorage/mroonga -istorage/tokudb -istorage/spider -istorage/rocksdb -iextra/ -ilibmariadb/ -istorage/columnstore
|
||||
--output-file=cppcheck.txt -j $(nproc)
|
||||
# Parallel jobs may output findings in an nondeterministic order. Sort to match ignorelist.
|
||||
- cat cppcheck.txt | sort > cppcheck_sorted.txt
|
||||
# Remove line numbers for diff
|
||||
- sed 's/:[^:]*:/:/' cppcheck_sorted.txt > cppcheck_sorted_no_line_numbers.txt
|
||||
-Iinclude -Istorage/innobase/include
|
||||
--output-file=initial-cppcheck_output.txt -j $(nproc)
|
||||
# when including {code} in the cppcheck template, some more pre-processing needs to be done
|
||||
#
|
||||
# sample cppcheck finding: <file>:<line>
|
||||
# foo.bar()
|
||||
# ^
|
||||
# <severity>: <message>
|
||||
#
|
||||
# 1. remove all lines with "^"
|
||||
# 2. merge every 3 lines into 1 so it can be sorted (example: <file> foo.bar() <severity>: <message>)
|
||||
# 3. sort to match ignorelist since parallel jobs may output findings in an nondeterministic order
|
||||
# 4. remove findings likely to be false positives (i.e, "unknown macros")
|
||||
# 5. remove line numbers for diffing against ignorelist
|
||||
- |
|
||||
cat initial-cppcheck_output.txt | grep -v '\^$' > preprocessed-cppcheck_circumflex_removed.txt
|
||||
cat preprocessed-cppcheck_circumflex_removed.txt | awk 'NR%3==1 {printf "%s", (NR==1) ? "" : "\n"; printf "%s", $0} NR%3!=1 {printf " %s", $0}' > preprocessed-cppcheck_oneline.txt
|
||||
cat preprocessed-cppcheck_oneline.txt | sort > preprocessed-cppcheck_sorted.txt
|
||||
cat preprocessed-cppcheck_sorted.txt | grep -v "There is an unknown macro here somewhere" > results-cppcheck_all_findings.txt
|
||||
sed 's/:[0-9]\+//' results-cppcheck_all_findings.txt > preprocessed_final-cppcheck_no_line_nums.txt
|
||||
# Only print new issues not found in ignore list
|
||||
- echo "Problems found in ignore list that were not discovered by cppcheck (may have been fixed)."
|
||||
- diff --changed-group-format='%>' --unchanged-group-format='' cppcheck_sorted_no_line_numbers.txt tests/code_quality/cppcheck_ignorelist.txt || true
|
||||
- diff --changed-group-format='%>' --unchanged-group-format='' preprocessed_final-cppcheck_no_line_nums.txt tests/code_quality/cppcheck_ignorelist.txt || true
|
||||
- echo "Problems found by cppcheck that were not in ignore list."
|
||||
- diff --changed-group-format='%<' --unchanged-group-format='' cppcheck_sorted_no_line_numbers.txt tests/code_quality/cppcheck_ignorelist.txt > lines_not_ignored.txt || true
|
||||
- cat lines_not_ignored.txt && test ! -s lines_not_ignored.txt
|
||||
- diff --changed-group-format='%<' --unchanged-group-format='' preprocessed_final-cppcheck_no_line_nums.txt tests/code_quality/cppcheck_ignorelist.txt > results-cppcheck_new_findings.txt || true
|
||||
- cat results-cppcheck_new_findings.txt && test ! -s results-cppcheck_new_findings.txt
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- cppcheck_sorted.txt
|
||||
# save all steps of pre-processing in-case it ever breaks
|
||||
- initial-cppcheck_output.txt
|
||||
- preprocessed-cppcheck_circumflex_removed.txt
|
||||
- preprocessed-cppcheck_sorted.txt
|
||||
- preprocessed_final-cppcheck_no_line_nums.txt
|
||||
- results-cppcheck_all_findings.txt
|
||||
- results-cppcheck_new_findings.txt
|
||||
|
||||
flawfinder:
|
||||
allow_failure: true
|
||||
stage: sast
|
||||
needs: []
|
||||
variables:
|
||||
@ -503,11 +528,12 @@ flawfinder:
|
||||
- echo "Problems found in ignore list that were not discovered by flawfinder (may have been fixed)."
|
||||
- diff --changed-group-format='%>' --unchanged-group-format='' flawfinder-min-level5.json tests/code_quality/flawfinder_ignorelist.json || true
|
||||
- echo "Problems found by flawfinder that were not in ignore list."
|
||||
- diff --changed-group-format='%<' --unchanged-group-format='' flawfinder-min-level5.json tests/code_quality/flawfinder_ignorelist.json > lines_not_ignored.txt || true
|
||||
- cat lines_not_ignored.txt && test ! -s lines_not_ignored.txt
|
||||
- diff --changed-group-format='%<' --unchanged-group-format='' flawfinder-min-level5.json tests/code_quality/flawfinder_ignorelist.json > flawfinder_new_findings.txt || true
|
||||
- cat flawfinder_new_findings.txt && test ! -s flawfinder_new_findings.txt
|
||||
artifacts:
|
||||
when: always
|
||||
paths:
|
||||
- flawfinder_new_findings.txt
|
||||
- flawfinder-all-vulnerabilities.html
|
||||
- flawfinder-min-level5.json
|
||||
|
||||
|
@ -193,13 +193,20 @@ ELSE()
|
||||
SET (SKIP_COMPONENTS "N-O-N-E")
|
||||
ENDIF()
|
||||
|
||||
OPTION(NOT_FOR_DISTRIBUTION "Allow linking with GPLv2-incompatible system libraries. Only set it you never plan to distribute the resulting binaries" OFF)
|
||||
|
||||
IF("${MYSQL_NO_DASH_VERSION}" VERSION_LESS 11.2)
|
||||
SET(MEMPROTECT_DEFAULT ON)
|
||||
ELSE()
|
||||
SET(MEMPROTECT_DEFAULT OFF)
|
||||
ENDIF()
|
||||
|
||||
OPTION(WITH_PROTECT_STATEMENT_MEMROOT "Enable protection of statement's memory root after first SP/PS execution. Turned into account only for debug build"
|
||||
${MEMPROTECT_DEFAULT})
|
||||
|
||||
#
|
||||
# Enable protection of statement's memory root after first SP/PS execution.
|
||||
# Can be switched on only for debug build.
|
||||
#
|
||||
OPTION(WITH_PROTECT_STATEMENT_MEMROOT "Enable protection of statement's memory root after first SP/PS execution. Turned into account only for debug build" OFF)
|
||||
IF (WITH_PROTECT_STATEMENT_MEMROOT)
|
||||
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DPROTECT_STATEMENT_MEMROOT")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DPROTECT_STATEMENT_MEMROOT")
|
||||
|
@ -27,6 +27,7 @@ SET(MY_WARNING_FLAGS
|
||||
-Wenum-conversion
|
||||
-Wextra
|
||||
-Wformat-security
|
||||
-Winconsistent-missing-override
|
||||
-Wmissing-braces
|
||||
-Wno-format-truncation
|
||||
-Wno-init-self
|
||||
@ -34,8 +35,8 @@ SET(MY_WARNING_FLAGS
|
||||
-Wno-null-conversion
|
||||
-Wno-unused-parameter
|
||||
-Wno-unused-private-field
|
||||
-Woverloaded-virtual
|
||||
-Wnon-virtual-dtor
|
||||
-Woverloaded-virtual
|
||||
-Wvla
|
||||
-Wwrite-strings
|
||||
)
|
||||
@ -44,7 +45,7 @@ FOREACH(F ${MY_WARNING_FLAGS})
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG(${F} DEBUG RELWITHDEBINFO)
|
||||
ENDFOREACH()
|
||||
|
||||
SET(MY_ERROR_FLAGS -Werror -fno-operator-names)
|
||||
SET(MY_ERROR_FLAGS -Werror -fno-operator-names -Wsuggest-override)
|
||||
|
||||
IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "6.0.0")
|
||||
SET(MY_ERROR_FLAGS ${MY_ERROR_FLAGS} -Wno-error=maybe-uninitialized)
|
||||
|
@ -17,7 +17,9 @@
|
||||
#
|
||||
# Galera library does not compile with windows
|
||||
#
|
||||
IF (NOT WITHOUT_SERVER)
|
||||
IF(WITHOUT_SERVER)
|
||||
OPTION(WITH_WSREP "Galera server compatibility in build client utilities" ON)
|
||||
ELSE()
|
||||
IF(UNIX)
|
||||
SET(with_wsrep_default ON)
|
||||
ELSE()
|
||||
@ -67,4 +69,4 @@ ENDIF()
|
||||
IF (NOT WIN32)
|
||||
ADD_FEATURE_INFO(WSREP WITH_WSREP "WSREP replication API (to use, e.g. Galera Replication library)")
|
||||
ENDIF()
|
||||
ENDIF(NOT WITHOUT_SERVER)
|
||||
ENDIF(WITHOUT_SERVER)
|
||||
|
@ -1336,7 +1336,7 @@ enum options_xtrabackup
|
||||
OPT_INNODB_DATA_FILE_BUFFERING,
|
||||
OPT_INNODB_DATA_FILE_WRITE_THROUGH,
|
||||
OPT_INNODB_LOG_FILE_SIZE,
|
||||
OPT_INNODB_LOG_FILES_IN_GROUP,
|
||||
OPT_INNODB_LOG_WRITE_AHEAD_SIZE,
|
||||
OPT_INNODB_OPEN_FILES,
|
||||
OPT_XTRA_DEBUG_SYNC,
|
||||
OPT_INNODB_CHECKSUM_ALGORITHM,
|
||||
@ -1918,6 +1918,10 @@ struct my_option xb_server_options[] =
|
||||
{"innodb_log_group_home_dir", OPT_INNODB_LOG_GROUP_HOME_DIR,
|
||||
"Path to InnoDB log files.", &srv_log_group_home_dir,
|
||||
&srv_log_group_home_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"innodb_log_write_ahead_size", OPT_INNODB_LOG_WRITE_AHEAD_SIZE,
|
||||
"ib_logfile0 write size",
|
||||
(G_PTR*) &log_sys.write_size, (G_PTR*) &srv_log_file_size, 0,
|
||||
GET_UINT, REQUIRED_ARG, 512, 512, 4096, 0, 1, 0},
|
||||
{"innodb_max_dirty_pages_pct", OPT_INNODB_MAX_DIRTY_PAGES_PCT,
|
||||
"Percentage of dirty pages allowed in bufferpool.",
|
||||
(G_PTR*) &srv_max_buf_pool_modified_pct,
|
||||
@ -2366,6 +2370,11 @@ xb_get_one_option(const struct my_option *opt,
|
||||
|
||||
static bool innodb_init_param()
|
||||
{
|
||||
if (!ut_is_2pow(log_sys.write_size)) {
|
||||
msg("InnoDB: innodb_log_write_ahead_size=%u"
|
||||
" is not a power of two", log_sys.write_size);
|
||||
return true;
|
||||
}
|
||||
srv_is_being_started = TRUE;
|
||||
/* === some variables from mysqld === */
|
||||
memset((G_PTR) &mysql_tmpdir_list, 0, sizeof(mysql_tmpdir_list));
|
||||
@ -3390,7 +3399,7 @@ static bool xtrabackup_copy_logfile()
|
||||
ut_a(dst_log_file);
|
||||
ut_ad(recv_sys.is_initialised());
|
||||
const size_t sequence_offset{log_sys.is_encrypted() ? 8U + 5U : 5U};
|
||||
const size_t block_size_1{log_sys.get_block_size() - 1};
|
||||
const size_t block_size_1{log_sys.write_size - 1};
|
||||
|
||||
ut_ad(!log_sys.is_pmem());
|
||||
|
||||
@ -3465,7 +3474,7 @@ static bool xtrabackup_copy_logfile()
|
||||
if (r == recv_sys_t::GOT_EOF)
|
||||
break;
|
||||
|
||||
if (recv_sys.offset < log_sys.get_block_size())
|
||||
if (recv_sys.offset < log_sys.write_size)
|
||||
break;
|
||||
|
||||
if (xtrabackup_throttle && io_ticket-- < 0)
|
||||
|
@ -352,7 +352,8 @@ int main(int argc,char *argv[])
|
||||
{
|
||||
found= 1;
|
||||
if (verbose)
|
||||
printf("MariaDB error code %3d (%s): %s\n", code, name, msg);
|
||||
printf("MariaDB error code %3d (%s): %s\n"
|
||||
"Learn more: https://mariadb.com/kb/en/e%3d/\n", code, name, msg, code);
|
||||
else
|
||||
puts(msg);
|
||||
}
|
||||
|
@ -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
|
||||
@ -1765,15 +1765,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),
|
||||
|
@ -21,5 +21,10 @@
|
||||
--source include/log_grep.inc
|
||||
|
||||
# InnoDB/Engines
|
||||
--let log_expected_matches = $log_slow_innodb_expected_matches
|
||||
--let grep_pattern = ^# Pages_accessed: \d+ Pages_read: \d+ Pages_updated: \d+ Old_rows_read: \d+\n# Pages_read_time: \d+\.\d+ Engine_time: \d+\.\d+\$
|
||||
--let log_expected_matches = $log_slow_verbosity_innodb_expected_matches
|
||||
--let grep_pattern = ^# Pages_accessed: \d+ Pages_read: \d+ Pages_prefetched: \d+ Pages_updated: \d+ Old_rows_read: \d+\$
|
||||
--source include/log_grep.inc
|
||||
|
||||
--let grep_pattern = ^# Pages_read_time: \d+\.\d+ Engine_time: \d+\.\d+\$
|
||||
--source include/log_grep.inc
|
||||
|
||||
|
@ -51,5 +51,33 @@ disconnect con1;
|
||||
reap;
|
||||
set debug_sync='RESET';
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-30651: SIGSEGV in st_join_table::save_explain_data and
|
||||
--echo # Assertion `sel->quick' failed in make_range_rowid_filters
|
||||
--echo #
|
||||
|
||||
--echo # Reusing table t2 and t3 from previous test
|
||||
let $target_id= `select connection_id()`;
|
||||
|
||||
set debug_sync='in_forced_range_optimize SIGNAL ready1 WAIT_FOR go1';
|
||||
send
|
||||
explain
|
||||
select straight_join * from t2, t3
|
||||
where
|
||||
t3.key1=t2.a and t3.key2 between 2 and 10;
|
||||
|
||||
connect (con1, localhost, root,,);
|
||||
set debug_sync='now WAIT_FOR ready1';
|
||||
evalp kill query $target_id;
|
||||
set debug_sync='now SIGNAL go1';
|
||||
|
||||
connection default;
|
||||
disconnect con1;
|
||||
|
||||
--error ER_QUERY_INTERRUPTED
|
||||
reap;
|
||||
set debug_sync='RESET';
|
||||
|
||||
|
||||
drop table t2,t3;
|
||||
--source include/wait_until_count_sessions.inc
|
||||
|
@ -260,4 +260,35 @@ rollback;
|
||||
connection default;
|
||||
drop table t1;
|
||||
disconnect con2;
|
||||
# MDEV-34164 Server crashes when executing OPTIMIZE or REPAIR TABLE for InnoDB temporary tables
|
||||
create temporary table t1 (i int) engine=innodb;
|
||||
create table t2 (i int) engine=aria ;
|
||||
optimize table t1,t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
||||
test.t1 optimize status OK
|
||||
test.t2 optimize status Table is already up to date
|
||||
drop table t1,t2;
|
||||
create temporary table t1 (f int) engine=innodb;
|
||||
create temporary table t2 (f int) engine=innodb;
|
||||
optimize local table t1,t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
|
||||
test.t1 optimize status OK
|
||||
test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
|
||||
test.t2 optimize status OK
|
||||
drop table t1,t2;
|
||||
set @save_sql_mode = @@sql_mode;
|
||||
set sql_mode= '';
|
||||
create temporary table t (c decimal zerofill,c2 int zerofill,c3 char binary,key(c)) engine=innodb;
|
||||
insert into t values (1,1,1);
|
||||
set session enforce_storage_engine=aria;
|
||||
optimize no_write_to_binlog table t;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t optimize note Table does not support optimize, doing recreate + analyze instead
|
||||
test.t optimize status OK
|
||||
Warnings:
|
||||
Note 1266 Using storage engine Aria for table 't'
|
||||
drop table t;
|
||||
set sql_mode= @save_sql_mode;
|
||||
# End of 11.2 tests
|
||||
|
@ -282,4 +282,25 @@ drop table t1;
|
||||
--disconnect con2
|
||||
--enable_view_protocol
|
||||
|
||||
|
||||
--echo # MDEV-34164 Server crashes when executing OPTIMIZE or REPAIR TABLE for InnoDB temporary tables
|
||||
create temporary table t1 (i int) engine=innodb;
|
||||
create table t2 (i int) engine=aria ;
|
||||
optimize table t1,t2;
|
||||
drop table t1,t2;
|
||||
|
||||
create temporary table t1 (f int) engine=innodb;
|
||||
create temporary table t2 (f int) engine=innodb;
|
||||
optimize local table t1,t2;
|
||||
drop table t1,t2;
|
||||
|
||||
set @save_sql_mode = @@sql_mode;
|
||||
set sql_mode= '';
|
||||
create temporary table t (c decimal zerofill,c2 int zerofill,c3 char binary,key(c)) engine=innodb;
|
||||
insert into t values (1,1,1);
|
||||
set session enforce_storage_engine=aria;
|
||||
optimize no_write_to_binlog table t;
|
||||
drop table t;
|
||||
set sql_mode= @save_sql_mode;
|
||||
|
||||
--echo # End of 11.2 tests
|
||||
|
@ -1 +1 @@
|
||||
--innodb_buffer_pool_dump_at_shutdown=off --innodb_buffer_pool_load_at_startup=off --innodb-stats-persistent=1 --innodb-stats-auto-recalc=off
|
||||
--innodb-buffer-pool-size=32M --innodb_buffer_pool_dump_at_shutdown=off --innodb_buffer_pool_load_at_startup=off --innodb-stats-persistent=1 --innodb-stats-auto-recalc=off
|
||||
|
@ -8,57 +8,20 @@ c varchar(255),
|
||||
d varchar(255),
|
||||
primary key(a,b,c,d)
|
||||
) engine=innodb;
|
||||
SET STATEMENT unique_checks=0,foreign_key_checks=0 FOR
|
||||
SET unique_checks=0, foreign_key_checks= 0;
|
||||
begin;
|
||||
insert into t1 select
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7)
|
||||
from seq_1_to_16384;
|
||||
commit;
|
||||
SET GLOBAL innodb_fast_shutdown=0;
|
||||
# restart
|
||||
set log_slow_verbosity='engine';
|
||||
set long_query_time=0.0;
|
||||
set @js='$analyze_output';
|
||||
select @js;
|
||||
@js
|
||||
{
|
||||
"query_optimization": {
|
||||
"r_total_time_ms": "REPLACED"
|
||||
},
|
||||
"query_block": {
|
||||
"select_id": 1,
|
||||
"cost": 0.011647987,
|
||||
"r_loops": 1,
|
||||
"r_total_time_ms": "REPLACED",
|
||||
"nested_loop": [
|
||||
{
|
||||
"table": {
|
||||
"table_name": "t1",
|
||||
"access_type": "index",
|
||||
"key": "PRIMARY",
|
||||
"key_length": "1028",
|
||||
"used_key_parts": ["a", "b", "c", "d"],
|
||||
"loops": 1,
|
||||
"r_loops": 1,
|
||||
"rows": 1,
|
||||
"r_rows": 16384,
|
||||
"cost": 0.0110178,
|
||||
"r_table_time_ms": "REPLACED",
|
||||
"r_other_time_ms": "REPLACED",
|
||||
"r_engine_stats": {
|
||||
"pages_accessed": "REPLACED",
|
||||
"pages_read_count": "REPLACED",
|
||||
"pages_read_time_ms": "REPLACED"
|
||||
},
|
||||
"filtered": 100,
|
||||
"r_total_filtered": 100,
|
||||
"r_filtered": 100
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
set @pages_read_time_ms=
|
||||
(select json_value(@js,'$.query_block.nested_loop[0].table.r_engine_stats.pages_read_time_ms'));
|
||||
|
||||
|
@ -18,15 +18,18 @@ create table t1 (
|
||||
primary key(a,b,c,d)
|
||||
) engine=innodb;
|
||||
|
||||
SET unique_checks=0, foreign_key_checks= 0;
|
||||
begin;
|
||||
|
||||
# The data size is 160K * 1K = 160M
|
||||
# 16M / (page_size=16K) = 1K pages.
|
||||
SET STATEMENT unique_checks=0,foreign_key_checks=0 FOR
|
||||
insert into t1 select
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7)
|
||||
from seq_1_to_16384;
|
||||
commit;
|
||||
|
||||
SET GLOBAL innodb_fast_shutdown=0;
|
||||
source include/restart_mysqld.inc;
|
||||
@ -37,10 +40,6 @@ let $analyze_output= `analyze format=json
|
||||
select * from t1 force index (PRIMARY) order by a desc, b desc, c desc, d desc`;
|
||||
evalp set @js='$analyze_output';
|
||||
|
||||
# Print it out for user-friendlines
|
||||
--replace_regex /("(r_[a-z_]*_time_ms|pages[^"]*)": )[^, \n]*/\1"REPLACED"/
|
||||
select @js;
|
||||
|
||||
set @pages_read_time_ms=
|
||||
(select json_value(@js,'$.query_block.nested_loop[0].table.r_engine_stats.pages_read_time_ms'));
|
||||
|
||||
|
1
mysql-test/main/analyze_stmt_prefetch_count.opt
Normal file
1
mysql-test/main/analyze_stmt_prefetch_count.opt
Normal file
@ -0,0 +1 @@
|
||||
--innodb-buffer-pool-size=32M --innodb_buffer_pool_dump_at_shutdown=off --innodb_buffer_pool_load_at_startup=off --innodb-stats-persistent=1 --innodb-stats-auto-recalc=off
|
60
mysql-test/main/analyze_stmt_prefetch_count.result
Normal file
60
mysql-test/main/analyze_stmt_prefetch_count.result
Normal file
@ -0,0 +1,60 @@
|
||||
create table t1 (
|
||||
a varchar(255),
|
||||
b varchar(255),
|
||||
c varchar(255),
|
||||
d varchar(255),
|
||||
primary key(a,b,c,d)
|
||||
) engine=innodb;
|
||||
SET unique_checks=0, foreign_key_checks= 0;
|
||||
begin;
|
||||
insert into t1 select
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7)
|
||||
from seq_1_to_16384;
|
||||
insert into t1 values ('z','z','z','z');
|
||||
commit;
|
||||
# Restart the server to make sure we have an empty InnoDB Buffer Pool
|
||||
# (in the test's .opt file we've disabled buffer pool saving/loading
|
||||
# and also tried to disable any background activity)
|
||||
SET GLOBAL innodb_fast_shutdown=0;
|
||||
# restart
|
||||
set @innodb_pages_read0=
|
||||
(select variable_value
|
||||
from information_schema.session_status
|
||||
where variable_name like 'innodb_pages_read');
|
||||
set @js='$analyze_output';
|
||||
set @js=json_extract(@js, '$.query_block.nested_loop[0].table.r_engine_stats');
|
||||
set @pages_accessed= cast(json_value(@js,'$.pages_accessed') as INT);
|
||||
set @pages_read_count= cast(json_value(@js,'$.pages_read_count') as INT);
|
||||
set @pages_prefetch_read_count= cast(json_value(@js,'$.pages_prefetch_read_count') as INT);
|
||||
select @pages_accessed > 1000 and @pages_accessed < 1500;
|
||||
@pages_accessed > 1000 and @pages_accessed < 1500
|
||||
1
|
||||
set @total_read = (@pages_read_count + @pages_prefetch_read_count);
|
||||
select @pages_accessed*0.75 < @total_read, @total_read < @pages_accessed*1.25;
|
||||
@pages_accessed*0.75 < @total_read @total_read < @pages_accessed*1.25
|
||||
1 1
|
||||
set @innodb_pages_read1=
|
||||
(select variable_value
|
||||
from information_schema.session_status
|
||||
where variable_name like 'innodb_pages_read');
|
||||
set @innodb_pages_read_incr= (@innodb_pages_read1 - @innodb_pages_read0);
|
||||
select @innodb_pages_read_incr > 1000, @innodb_pages_read_incr < 1500;
|
||||
@innodb_pages_read_incr > 1000 @innodb_pages_read_incr < 1500
|
||||
1 1
|
||||
set @js='$analyze_output';
|
||||
set @js=json_extract(@js, '$.query_block.nested_loop[0].table.r_engine_stats');
|
||||
# This must just print pages_accessed. No page reads or prefetch reads,
|
||||
# because the previous query has read all the needed pages into the
|
||||
# buffer pool, which is set to be large enough to accomodate the whole
|
||||
# table.
|
||||
select @js;
|
||||
@js
|
||||
{"pages_accessed": NUMBER}
|
||||
set @pages_accessed2= cast(json_value(@js,'$.pages_accessed') as INT);
|
||||
select @pages_accessed2 = @pages_accessed;
|
||||
@pages_accessed2 = @pages_accessed
|
||||
1
|
||||
drop table t1;
|
77
mysql-test/main/analyze_stmt_prefetch_count.test
Normal file
77
mysql-test/main/analyze_stmt_prefetch_count.test
Normal file
@ -0,0 +1,77 @@
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_sequence.inc
|
||||
|
||||
|
||||
# Each row is 1K.
|
||||
create table t1 (
|
||||
a varchar(255),
|
||||
b varchar(255),
|
||||
c varchar(255),
|
||||
d varchar(255),
|
||||
primary key(a,b,c,d)
|
||||
) engine=innodb;
|
||||
|
||||
# The data size is 16K * 1K = 16M
|
||||
# 16M / (page_size=16K) = 1K pages.
|
||||
SET unique_checks=0, foreign_key_checks= 0;
|
||||
begin;
|
||||
insert into t1 select
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7),
|
||||
repeat(uuid(), 7)
|
||||
from seq_1_to_16384;
|
||||
insert into t1 values ('z','z','z','z');
|
||||
commit;
|
||||
|
||||
--echo # Restart the server to make sure we have an empty InnoDB Buffer Pool
|
||||
--echo # (in the test's .opt file we've disabled buffer pool saving/loading
|
||||
--echo # and also tried to disable any background activity)
|
||||
SET GLOBAL innodb_fast_shutdown=0;
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
set @innodb_pages_read0=
|
||||
(select variable_value
|
||||
from information_schema.session_status
|
||||
where variable_name like 'innodb_pages_read');
|
||||
|
||||
let $analyze_output= `analyze format=json
|
||||
select * from t1 force index (PRIMARY) order by a,b,c,d`;
|
||||
evalp set @js='$analyze_output';
|
||||
|
||||
set @js=json_extract(@js, '$.query_block.nested_loop[0].table.r_engine_stats');
|
||||
#select @js;
|
||||
set @pages_accessed= cast(json_value(@js,'$.pages_accessed') as INT);
|
||||
set @pages_read_count= cast(json_value(@js,'$.pages_read_count') as INT);
|
||||
set @pages_prefetch_read_count= cast(json_value(@js,'$.pages_prefetch_read_count') as INT);
|
||||
|
||||
select @pages_accessed > 1000 and @pages_accessed < 1500;
|
||||
|
||||
set @total_read = (@pages_read_count + @pages_prefetch_read_count);
|
||||
|
||||
select @pages_accessed*0.75 < @total_read, @total_read < @pages_accessed*1.25;
|
||||
|
||||
set @innodb_pages_read1=
|
||||
(select variable_value
|
||||
from information_schema.session_status
|
||||
where variable_name like 'innodb_pages_read');
|
||||
|
||||
set @innodb_pages_read_incr= (@innodb_pages_read1 - @innodb_pages_read0);
|
||||
|
||||
select @innodb_pages_read_incr > 1000, @innodb_pages_read_incr < 1500;
|
||||
|
||||
let $analyze_output= `analyze format=json
|
||||
select * from t1 force index (PRIMARY) order by a,b,c,d`;
|
||||
evalp set @js='$analyze_output';
|
||||
set @js=json_extract(@js, '$.query_block.nested_loop[0].table.r_engine_stats');
|
||||
|
||||
--echo # This must just print pages_accessed. No page reads or prefetch reads,
|
||||
--echo # because the previous query has read all the needed pages into the
|
||||
--echo # buffer pool, which is set to be large enough to accomodate the whole
|
||||
--echo # table.
|
||||
--replace_regex /[0-9]+/NUMBER/
|
||||
select @js;
|
||||
set @pages_accessed2= cast(json_value(@js,'$.pages_accessed') as INT);
|
||||
|
||||
select @pages_accessed2 = @pages_accessed;
|
||||
drop table t1;
|
7
mysql-test/main/bad_startup_options_debug.result
Normal file
7
mysql-test/main/bad_startup_options_debug.result
Normal file
@ -0,0 +1,7 @@
|
||||
#
|
||||
# MDEV-34437 SIGSEGV in vio_get_normalized_ip when using extra-port
|
||||
#
|
||||
FOUND 1 /\[ERROR\] Can't create IP socket: Servname not supported/ in errorlog.err
|
||||
FOUND 1 /\[ERROR\] Can't create IP socket: Servname not supported/ in errorlog.err
|
||||
# restart
|
||||
# End of 10.11 tests
|
34
mysql-test/main/bad_startup_options_debug.test
Normal file
34
mysql-test/main/bad_startup_options_debug.test
Normal file
@ -0,0 +1,34 @@
|
||||
# mysqld refuses to run as root normally.
|
||||
--source include/not_as_root.inc
|
||||
--source include/have_debug.inc
|
||||
--source include/not_embedded.inc
|
||||
--source include/linux.inc
|
||||
|
||||
--source include/shutdown_mysqld.inc
|
||||
|
||||
# Try to start the server, with bad values for some options.
|
||||
# Make sure, the starts fails, and expected message is in the error log
|
||||
|
||||
--let errorlog=$MYSQL_TMP_DIR/errorlog.err
|
||||
--let SEARCH_FILE=$errorlog
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34437 SIGSEGV in vio_get_normalized_ip when using extra-port
|
||||
--echo #
|
||||
|
||||
# getaddrinfo failure by fixing port to invalid value
|
||||
--error 1
|
||||
--exec $MYSQLD --defaults-group-suffix=.1 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --debug='d,sabotage_port_number' --log-error=$errorlog
|
||||
--let SEARCH_PATTERN=\[ERROR\] Can't create IP socket: Servname not supported
|
||||
--source include/search_pattern_in_file.inc
|
||||
--remove_file $SEARCH_FILE
|
||||
|
||||
--error 1
|
||||
--exec $MYSQLD --defaults-group-suffix=.1 --defaults-file=$MYSQLTEST_VARDIR/my.cnf --debug='d,sabotage_port_number' --bind-address=0.0.0.0 --log-error=$errorlog
|
||||
--let SEARCH_PATTERN=\[ERROR\] Can't create IP socket: Servname not supported
|
||||
--source include/search_pattern_in_file.inc
|
||||
--remove_file $SEARCH_FILE
|
||||
|
||||
--source include/start_mysqld.inc
|
||||
|
||||
--echo # End of 10.11 tests
|
@ -261,83 +261,90 @@ create table test.t1 (i int) engine=myisam;
|
||||
create table mysqltest2.t2 like test.t1;
|
||||
lock table test.t1 write, mysqltest2.t2 write;
|
||||
InnoDB 0 transactions not purged
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_BACKUP_DML NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock mysqltest2
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock mysqltest2 t2
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
|
||||
create or replace table test.t1;
|
||||
ERROR 42000: A table must have at least 1 column
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t2
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_BACKUP_DML NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock mysqltest2
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock mysqltest2 t2
|
||||
create or replace table mysqltest2.t2;
|
||||
ERROR 42000: A table must have at least 1 column
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
create table t1 (i int);
|
||||
drop table t1;
|
||||
create table test.t1 (i int);
|
||||
create table mysqltest2.t2 like test.t1;
|
||||
lock table test.t1 write, mysqltest2.t2 write;
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_BACKUP_DML NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock mysqltest2
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock mysqltest2 t2
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
|
||||
create or replace table test.t1 (a int) select 1 as 'a', 2 as 'a';
|
||||
ERROR 42S21: Duplicate column name 'a'
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t2
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_BACKUP_DML NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock mysqltest2
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock mysqltest2 t2
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock mysqltest2
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock mysqltest2 t2
|
||||
create or replace table mysqltest2.t2 (a int) select 1 as 'a', 2 as 'a';
|
||||
ERROR 42S21: Duplicate column name 'a'
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
create table t1 (i int);
|
||||
drop table t1;
|
||||
create table test.t1 (i int) engine=innodb;
|
||||
create table mysqltest2.t2 like test.t1;
|
||||
lock table test.t1 write, mysqltest2.t2 write;
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock mysqltest2
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock mysqltest2 t2
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
|
||||
unlock tables;
|
||||
drop table test.t1,mysqltest2.t2;
|
||||
create table test.t1 (i int) engine=aria transactional=1 checksum=1;
|
||||
create table mysqltest2.t2 like test.t1;
|
||||
lock table test.t1 write, mysqltest2.t2 write;
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock mysqltest2
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock mysqltest2 t2
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock mysqltest2
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock mysqltest2 t2
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
|
||||
unlock tables;
|
||||
drop table t1;
|
||||
create table test.t1 (i int);
|
||||
@ -348,19 +355,19 @@ drop table test.t1;
|
||||
#
|
||||
create table t1 (i int);
|
||||
lock table t1 write;
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_BACKUP_DML NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
|
||||
create or replace table t1 (a char(1)) engine=Innodb select 'foo' as a;
|
||||
ERROR 22001: Data too long for column 'a' at row 1
|
||||
show tables;
|
||||
Tables_in_test
|
||||
t2
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
create table t1 (i int);
|
||||
drop table t1;
|
||||
#
|
||||
@ -447,37 +454,37 @@ drop view t1;
|
||||
#
|
||||
create table t1 (a int);
|
||||
lock table t1 write, t2 read;
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_BACKUP_DML NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||
# MDL_SHARED_READ NULL Table metadata lock test t2
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
|
||||
MDL_SHARED_READ Table metadata lock test t2
|
||||
create or replace table t1 (i int);
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_BACKUP_DML NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||
# MDL_SHARED_READ NULL Table metadata lock test t2
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
|
||||
MDL_SHARED_READ Table metadata lock test t2
|
||||
create or replace table t1 like t2;
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_BACKUP_DML NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||
# MDL_SHARED_READ NULL Table metadata lock test t2
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
|
||||
MDL_SHARED_READ Table metadata lock test t2
|
||||
create or replace table t1 select 1 as f1;
|
||||
select * from information_schema.metadata_lock_info;
|
||||
THREAD_ID LOCK_MODE LOCK_DURATION LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
# MDL_BACKUP_DDL NULL Backup lock
|
||||
# MDL_BACKUP_DML NULL Backup lock
|
||||
# MDL_INTENTION_EXCLUSIVE NULL Schema metadata lock test
|
||||
# MDL_SHARED_NO_READ_WRITE NULL Table metadata lock test t1
|
||||
# MDL_SHARED_READ NULL Table metadata lock test t2
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA TABLE_NAME
|
||||
MDL_BACKUP_DDL Backup lock
|
||||
MDL_BACKUP_DML Backup lock
|
||||
MDL_INTENTION_EXCLUSIVE Schema metadata lock test
|
||||
MDL_SHARED_NO_READ_WRITE Table metadata lock test t1
|
||||
MDL_SHARED_READ Table metadata lock test t2
|
||||
drop table t1;
|
||||
unlock tables;
|
||||
#
|
||||
|
@ -217,58 +217,51 @@ create table test.t1 (i int) engine=myisam;
|
||||
create table mysqltest2.t2 like test.t1;
|
||||
lock table test.t1 write, mysqltest2.t2 write;
|
||||
--source ../suite/innodb/include/wait_all_purged.inc
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
--error ER_TABLE_MUST_HAVE_COLUMNS
|
||||
create or replace table test.t1;
|
||||
show tables;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
--error ER_TABLE_MUST_HAVE_COLUMNS
|
||||
create or replace table mysqltest2.t2;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
create table t1 (i int);
|
||||
drop table t1;
|
||||
|
||||
create table test.t1 (i int);
|
||||
create table mysqltest2.t2 like test.t1;
|
||||
lock table test.t1 write, mysqltest2.t2 write;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
--error ER_DUP_FIELDNAME
|
||||
create or replace table test.t1 (a int) select 1 as 'a', 2 as 'a';
|
||||
show tables;
|
||||
--replace_column 1 #
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
--error ER_DUP_FIELDNAME
|
||||
create or replace table mysqltest2.t2 (a int) select 1 as 'a', 2 as 'a';
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
create table t1 (i int);
|
||||
drop table t1;
|
||||
|
||||
create table test.t1 (i int) engine=innodb;
|
||||
create table mysqltest2.t2 like test.t1;
|
||||
lock table test.t1 write, mysqltest2.t2 write;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
unlock tables;
|
||||
drop table test.t1,mysqltest2.t2;
|
||||
|
||||
create table test.t1 (i int) engine=aria transactional=1 checksum=1;
|
||||
create table mysqltest2.t2 like test.t1;
|
||||
lock table test.t1 write, mysqltest2.t2 write;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
unlock tables;
|
||||
drop table t1;
|
||||
|
||||
@ -282,15 +275,13 @@ drop table test.t1;
|
||||
--echo #
|
||||
create table t1 (i int);
|
||||
lock table t1 write;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
--error ER_DATA_TOO_LONG
|
||||
create or replace table t1 (a char(1)) engine=Innodb select 'foo' as a;
|
||||
show tables;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
create table t1 (i int);
|
||||
drop table t1;
|
||||
--enable_view_protocol
|
||||
@ -366,22 +357,18 @@ drop view t1;
|
||||
|
||||
create table t1 (a int);
|
||||
lock table t1 write, t2 read;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
|
||||
create or replace table t1 (i int);
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
create or replace table t1 like t2;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
create or replace table t1 select 1 as f1;
|
||||
--replace_column 1 #
|
||||
--sorted_result
|
||||
select * from information_schema.metadata_lock_info;
|
||||
select LOCK_MODE,LOCK_TYPE, TABLE_SCHEMA,TABLE_NAME from information_schema.metadata_lock_info;
|
||||
drop table t1;
|
||||
unlock tables;
|
||||
|
||||
|
@ -92,11 +92,14 @@ set optimizer_trace=1;
|
||||
explain
|
||||
select * from t10, t1 where t10.mb4=t1.mb3 and t10.pk=3;
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
--source include/explain-no-costs.inc
|
||||
select
|
||||
json_detailed(json_extract(trace, '$**.range_scan_alternatives')) as JS
|
||||
from
|
||||
information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
select * from t10, t1 where t10.mb4=t1.mb3 and t10.pk=3;
|
||||
|
||||
@ -129,6 +132,8 @@ select * from t10, t2 where t2.mb4>t10.mb4 and t10.pk=3;
|
||||
|
||||
--echo # - ref acccess lookup keys do use equality substitution,
|
||||
--echo # - concat() arguments don't
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
--source include/explain-no-costs.inc
|
||||
explain format=json
|
||||
select straight_join * from t10,t1 force index(mb3),t2
|
||||
@ -136,6 +141,7 @@ where
|
||||
t1.mb3=t2.mb4 and t2.mb4=t10.mb4 and concat(t1.mb3, t2.mb4, t10.mb4)<>'Bebebe';
|
||||
select json_detailed(json_extract(trace, '$**.condition_processing')) as JS
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
select straight_join * from t10,t1 force index(mb3),t2
|
||||
where
|
||||
@ -150,8 +156,11 @@ where
|
||||
t1.mb3=t2.mb4 and t2.mb4=t10.mb4 and t10.mb4='hello' and
|
||||
concat(t1.mb3, t2.mb4, t10.mb4)<>'Bebebe';
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.condition_processing')) as JS
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t2;
|
||||
drop table t1, t10;
|
||||
|
@ -5115,20 +5115,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5253,20 +5253,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'big5_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5392,20 +5392,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5530,20 +5530,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'big5_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'big5_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'big5_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'big5_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'big5_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -1131,8 +1131,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1141,8 +1141,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))))
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1151,8 +1151,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1161,8 +1161,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))))
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1171,8 +1171,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1181,8 +1181,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsSimple(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1191,8 +1191,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(2) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))))
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1201,13 +1201,13 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(2) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))))
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(x(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1216,8 +1216,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(y(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1226,8 +1226,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))))
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1236,8 +1236,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))))
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1246,8 +1246,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(GeometryType(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E54
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1256,8 +1256,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(AsText(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E542831203229
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1526,8 +1526,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')))
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
exp
|
||||
32343A30303A3030
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
@ -1566,8 +1566,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')))
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
exp
|
||||
323030332D31322D33312032303A30303A3030
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
@ -1576,8 +1576,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)))
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
exp
|
||||
323030342D30312D30322031323A30303A3030
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
|
@ -1,7 +1,3 @@
|
||||
|
||||
#remove this include after fix MDEV-27871
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
set names binary;
|
||||
|
||||
--source include/ctype_numconv.inc
|
||||
@ -234,22 +230,30 @@ SET NAMES latin1,character_set_connection=binary;
|
||||
--echo # Binary format, binary result
|
||||
SELECT DATE_FORMAT('2004-02-02','%W');
|
||||
SELECT HEX(DATE_FORMAT('2004-02-02','%W'));
|
||||
#Enable after fix MDEV-33936
|
||||
--disable_view_protocol
|
||||
SELECT DATE_FORMAT(TIME'-01:01:01','%h');
|
||||
SELECT HEX(DATE_FORMAT(TIME'-01:01:01','%h'));
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # latin1 format, binary result
|
||||
SELECT DATE_FORMAT('2004-02-02',_latin1'%W');
|
||||
SELECT HEX(DATE_FORMAT('2004-02-02',_latin1'%W'));
|
||||
#Enable after fix MDEV-33936
|
||||
--disable_view_protocol
|
||||
SELECT DATE_FORMAT(TIME'-01:01:01',_latin1'%h');
|
||||
SELECT HEX(DATE_FORMAT(TIME'-01:01:01',_latin1'%h'));
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # Binary format, latin1 result
|
||||
SET NAMES latin1;
|
||||
SELECT DATE_FORMAT('2004-02-02',_binary'%W');
|
||||
SELECT HEX(DATE_FORMAT('2004-02-02',_binary'%W'));
|
||||
#Enable after fix MDEV-33936
|
||||
--disable_view_protocol
|
||||
SELECT DATE_FORMAT(TIME'-01:01:01',_binary'%h');
|
||||
SELECT HEX(DATE_FORMAT(TIME'-01:01:01',_binary'%h'));
|
||||
|
||||
--enable_view_protocol
|
||||
--echo #
|
||||
--echo # End of 10.4 tests
|
||||
--echo #
|
||||
|
@ -3718,3 +3718,103 @@ DROP PROCEDURE p;
|
||||
#
|
||||
# End of 10.9 tests
|
||||
#
|
||||
#
|
||||
# Start of 10.11 tests
|
||||
#
|
||||
#
|
||||
# MDEV-10865 COLLATE keyword doesn't work in PREPARE query
|
||||
#
|
||||
SET NAMES utf8mb4;
|
||||
#
|
||||
# A context collation and an explicit NULL
|
||||
#
|
||||
SELECT NULL COLLATE uca1400_ai_ci;
|
||||
ERROR HY000: 'NULL' is not allowed in this context
|
||||
SELECT CONCAT(NULL) COLLATE uca1400_ai_ci;
|
||||
ERROR HY000: 'NULL' is not allowed in this context
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT NULL COLLATE uca1400_ai_ci AS c1';
|
||||
ERROR HY000: 'NULL' is not allowed in this context
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT CONCAT(NULL) COLLATE uca1400_ai_ci AS c1';
|
||||
ERROR HY000: 'NULL' is not allowed in this context
|
||||
#
|
||||
# A context collation and a parameter bound to NULL
|
||||
#
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING NULL;
|
||||
ERROR HY000: 'NULL' is not allowed in this context
|
||||
EXECUTE stmt USING CONCAT(NULL);
|
||||
ERROR HY000: 'NULL' is not allowed in this context
|
||||
EXECUTE stmt USING NULL COLLATE uca1400_ai_ci;
|
||||
ERROR HY000: 'NULL' is not allowed in this context
|
||||
EXECUTE stmt USING CONCAT(NULL) COLLATE uca1400_ai_ci;
|
||||
ERROR HY000: 'NULL' is not allowed in this context
|
||||
#
|
||||
# A context collation and CONVERT(NULL USING ...)
|
||||
#
|
||||
EXECUTE stmt USING CONVERT(NULL USING utf8mb4);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` char(0) CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
EXECUTE stmt USING CONVERT(NULL USING utf8mb4) COLLATE uca1400_ai_ci;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` char(0) CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
EXECUTE stmt USING CONVERT(NULL USING binary);
|
||||
ERROR 42000: COLLATION 'uca1400_ai_ci' is not valid for CHARACTER SET 'binary'
|
||||
EXECUTE stmt USING CONVERT(NULL USING latin1);
|
||||
ERROR 42000: COLLATION 'uca1400_ai_ci' is not valid for CHARACTER SET 'latin1'
|
||||
#
|
||||
# A context collation and an expression with a parameter
|
||||
# whose character does not get resolved when bound to a not-NULL value
|
||||
#
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT LEFT(NULL,?) COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING NULL;
|
||||
ERROR HY000: 'NULL' is not allowed in this context
|
||||
#
|
||||
# A context collation and an expression with a parameter
|
||||
# whose character set gets resolved when bound to a not-NULL value
|
||||
#
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING 1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING _binary'test';
|
||||
ERROR 42000: COLLATION 'uca1400_ai_ci' is not valid for CHARACTER SET 'binary'
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING 'test' COLLATE utf8mb4_bin;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING _latin1'test' COLLATE latin1_bin;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.11 tests
|
||||
#
|
||||
|
@ -404,3 +404,103 @@ DROP PROCEDURE p;
|
||||
--echo #
|
||||
--echo # End of 10.9 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.11 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-10865 COLLATE keyword doesn't work in PREPARE query
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
--echo #
|
||||
--echo # A context collation and an explicit NULL
|
||||
--echo #
|
||||
|
||||
--error ER_NOT_ALLOWED_IN_THIS_CONTEXT
|
||||
SELECT NULL COLLATE uca1400_ai_ci;
|
||||
--error ER_NOT_ALLOWED_IN_THIS_CONTEXT
|
||||
SELECT CONCAT(NULL) COLLATE uca1400_ai_ci;
|
||||
--error ER_NOT_ALLOWED_IN_THIS_CONTEXT
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT NULL COLLATE uca1400_ai_ci AS c1';
|
||||
--error ER_NOT_ALLOWED_IN_THIS_CONTEXT
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT CONCAT(NULL) COLLATE uca1400_ai_ci AS c1';
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # A context collation and a parameter bound to NULL
|
||||
--echo #
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
--error ER_NOT_ALLOWED_IN_THIS_CONTEXT
|
||||
EXECUTE stmt USING NULL;
|
||||
--error ER_NOT_ALLOWED_IN_THIS_CONTEXT
|
||||
EXECUTE stmt USING CONCAT(NULL);
|
||||
--error ER_NOT_ALLOWED_IN_THIS_CONTEXT
|
||||
EXECUTE stmt USING NULL COLLATE uca1400_ai_ci;
|
||||
--error ER_NOT_ALLOWED_IN_THIS_CONTEXT
|
||||
EXECUTE stmt USING CONCAT(NULL) COLLATE uca1400_ai_ci;
|
||||
|
||||
--echo #
|
||||
--echo # A context collation and CONVERT(NULL USING ...)
|
||||
--echo #
|
||||
|
||||
EXECUTE stmt USING CONVERT(NULL USING utf8mb4);
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
EXECUTE stmt USING CONVERT(NULL USING utf8mb4) COLLATE uca1400_ai_ci;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--error ER_COLLATION_CHARSET_MISMATCH
|
||||
EXECUTE stmt USING CONVERT(NULL USING binary);
|
||||
|
||||
--error ER_COLLATION_CHARSET_MISMATCH
|
||||
EXECUTE stmt USING CONVERT(NULL USING latin1);
|
||||
|
||||
--echo #
|
||||
--echo # A context collation and an expression with a parameter
|
||||
--echo # whose character does not get resolved when bound to a not-NULL value
|
||||
--echo #
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT LEFT(NULL,?) COLLATE uca1400_ai_ci AS c1';
|
||||
--error ER_NOT_ALLOWED_IN_THIS_CONTEXT
|
||||
EXECUTE stmt USING NULL;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # A context collation and an expression with a parameter
|
||||
--echo # whose character set gets resolved when bound to a not-NULL value
|
||||
--echo #
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING 1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
--error ER_COLLATION_CHARSET_MISMATCH
|
||||
EXECUTE stmt USING _binary'test';
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING 'test' COLLATE utf8mb4_bin;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE uca1400_ai_ci AS c1';
|
||||
EXECUTE stmt USING _latin1'test' COLLATE latin1_bin;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.11 tests
|
||||
--echo #
|
||||
|
@ -1543,8 +1543,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1553,8 +1553,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))))
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1563,8 +1563,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1573,8 +1573,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))))
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1583,8 +1583,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1593,8 +1593,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(21) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsSimple(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1603,8 +1603,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))))
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1613,13 +1613,13 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))))
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(x(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1628,8 +1628,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(y(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1638,8 +1638,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))))
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1648,8 +1648,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))))
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1658,8 +1658,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(GeometryType(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E54
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1668,8 +1668,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(20) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(AsText(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E542831203229
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1938,8 +1938,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')))
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
exp
|
||||
32343A30303A3030
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
@ -1978,8 +1978,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')))
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
exp
|
||||
323030332D31322D33312032303A30303A3030
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
@ -1988,8 +1988,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)))
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
exp
|
||||
323030342D30312D30322031323A30303A3030
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
|
@ -135,20 +135,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -273,20 +273,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'cp932_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -412,20 +412,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -550,20 +550,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'cp932_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'cp932_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'cp932_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'cp932_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'cp932_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -4,9 +4,6 @@
|
||||
--echo # USED.
|
||||
--echo #
|
||||
|
||||
#remove this include in 10.6 version
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
SET @old_character_set_client= @@character_set_client;
|
||||
SET @old_character_set_connection= @@character_set_connection;
|
||||
SET @old_character_set_results= @@character_set_results;
|
||||
|
@ -34304,20 +34304,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -34442,20 +34442,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -34581,20 +34581,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -34719,20 +34719,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'eucjpms_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'eucjpms_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'eucjpms_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'eucjpms_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -25817,20 +25817,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -25955,20 +25955,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'euckr_korean_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_korean_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_korean_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -26094,20 +26094,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -26232,20 +26232,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'euckr_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'euckr_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'euckr_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'euckr_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'euckr_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -4805,20 +4805,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -4943,20 +4943,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_chinese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_chinese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_chinese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5082,20 +5082,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -5220,20 +5220,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gb2312_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gb2312_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gb2312_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gb2312_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gb2312_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -6271,20 +6271,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
|
||||
@ -6409,20 +6409,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
|
||||
@ -6548,20 +6548,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
|
||||
@ -6686,20 +6686,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'gbk_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'gbk_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'gbk_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'gbk_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'gbk_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'gbk_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'gbk_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'gbk_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'gbk_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'gbk_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'gbk_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'gbk_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -449,13 +449,10 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # MDEV-7661 Unexpected result for: CAST(0xHHHH AS CHAR CHARACTER SET xxx) for incorrect byte sequences
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
set sql_mode='';
|
||||
SELECT HEX(CAST(0xA341 AS CHAR CHARACTER SET gb2312)) as exp;
|
||||
SELECT HEX(CONVERT(CAST(0xA341 AS CHAR CHARACTER SET gb2312) USING utf8)) as exp;
|
||||
set sql_mode=default;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.1 tests
|
||||
|
@ -518,8 +518,8 @@ SELECT '\%b' LIKE '%\%';
|
||||
SELECT @@character_set_connection, HEX(CAST(_utf8'÷' AS CHAR));
|
||||
@@character_set_connection HEX(CAST(_utf8'÷' AS CHAR))
|
||||
latin1 F7
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR));
|
||||
STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR))
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR)) as exp;
|
||||
exp
|
||||
2001-01-01
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 64) AS subject, REPEAT(' ',64) AS pattern LIMIT 0;
|
||||
SHOW COLUMNS FROM t1;
|
||||
@ -1852,8 +1852,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1862,8 +1862,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))))
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1872,8 +1872,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1882,8 +1882,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))))
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1892,8 +1892,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1902,8 +1902,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsSimple(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1912,8 +1912,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))))
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1922,13 +1922,13 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))))
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(x(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1937,8 +1937,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(y(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1947,8 +1947,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))))
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1957,8 +1957,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))))
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
@ -1967,8 +1967,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(GeometryType(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E54
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -1977,8 +1977,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(AsText(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E542831203229
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -2247,8 +2247,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')))
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
exp
|
||||
32343A30303A3030
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
@ -2287,8 +2287,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')))
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
exp
|
||||
323030332D31322D33312032303A30303A3030
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
@ -2297,8 +2297,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)))
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
exp
|
||||
323030342D30312D30322031323A30303A3030
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
@ -8405,20 +8405,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
|
||||
@ -8543,20 +8543,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
|
||||
@ -8682,20 +8682,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
|
||||
@ -8820,20 +8820,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'latin1_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'latin1_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'latin1_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'latin1_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'latin1_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'latin1_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'latin1_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'latin1_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'latin1_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'latin1_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'latin1_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'latin1_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -139,8 +139,10 @@ select hex(cast(_ascii 0x7f as char(1) character set latin1));
|
||||
--echo #
|
||||
--echo # Bug#58022 ... like ... escape export_set ( ... ) crashes when export_set returns warnings
|
||||
--echo #
|
||||
#view-protocol doubles warning message
|
||||
--disable_view_protocol
|
||||
SELECT '' LIKE '' ESCAPE EXPORT_SET(1, 1, 1, 1, '');
|
||||
|
||||
--enable_view_protocol
|
||||
--echo End of 5.1 tests
|
||||
|
||||
|
||||
@ -223,6 +225,8 @@ SET NAMES latin1 COLLATE latin1_bin;
|
||||
--echo # MDEV-6752 Trailing incomplete characters are not replaced to question marks on conversion
|
||||
--echo #
|
||||
SET NAMES utf8, character_set_connection=latin1;
|
||||
|
||||
--disable_service_connection
|
||||
SELECT '<27>';
|
||||
SELECT HEX('<27>');
|
||||
SELECT HEX(CAST('<27>' AS CHAR CHARACTER SET utf8));
|
||||
@ -241,6 +245,7 @@ INSERT IGNORE INTO t1 VALUES ('
|
||||
SHOW WARNINGS;
|
||||
SELECT HEX(a),a FROM t1;
|
||||
DROP TABLE t1;
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-7629 Regression: Bit and hex string literals changed column names in 10.0.14
|
||||
|
@ -83,50 +83,50 @@ select * from t1 where c1='b';
|
||||
c1
|
||||
a
|
||||
drop table t1;
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci));
|
||||
hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
120F
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
314A
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
|
||||
hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci) hex(lower(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci) exp
|
||||
F0909080 F09090A8
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
|
||||
hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci) hex(upper(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci) exp
|
||||
F09090A8 F0909080
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
|
||||
hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci) hex(lower(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci) exp
|
||||
E2B080 E2B0B0
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
|
||||
hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci) hex(upper(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci) exp
|
||||
E2B0B0 E2B080
|
||||
SELECT hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
120F
|
||||
SELECT hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
120F
|
||||
SELECT hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
120F
|
||||
SELECT hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
30D2
|
||||
SELECT hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
30D2
|
||||
SELECT hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci));
|
||||
hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
1250
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
1251
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
1251
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci));
|
||||
hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci))
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
exp
|
||||
1251
|
||||
CREATE TABLE t1 (
|
||||
col1 varchar(100) character set utf8 collate utf8_test_ci
|
||||
@ -533,23 +533,23 @@ show collation like 'utf8mb3_phone_ci';
|
||||
Collation Charset Id Default Compiled Sortlen
|
||||
utf8mb3_phone_ci utf8mb3 352 8
|
||||
SET NAMES utf8;
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci));
|
||||
hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci))
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci)) as exp;
|
||||
exp
|
||||
0E33
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci));
|
||||
hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci))
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci)) as exp;
|
||||
exp
|
||||
FFFD
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
|
||||
hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci) hex(lower(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci) exp
|
||||
F0909080 F0909080
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
|
||||
hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci) hex(upper(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci) exp
|
||||
F09090A8 F09090A8
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
|
||||
hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci) hex(lower(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci) exp
|
||||
E2B080 E2B080
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
|
||||
hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci) hex(upper(@a))
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a)) as exp;
|
||||
hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci) exp
|
||||
E2B0B0 E2B0B0
|
||||
#
|
||||
# WL#5624 Collation customization improvements
|
||||
@ -1019,9 +1019,9 @@ HEX(WEIGHT_STRING(a)) HEX(CONVERT(a USING ucs2)) HEX(a)
|
||||
15D3 09B809CD E0A6B8E0A78D
|
||||
15D4 09B909CD E0A6B9E0A78D
|
||||
SELECT HEX(WEIGHT_STRING(a)) as wa,
|
||||
GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a)
|
||||
GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a) as ha
|
||||
FROM t1 GROUP BY a ORDER BY a;
|
||||
wa GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a)
|
||||
wa ha
|
||||
15A2 0985
|
||||
15A3 0986
|
||||
15A4 0987
|
||||
|
@ -3,9 +3,6 @@
|
||||
--source include/have_utf16.inc
|
||||
--source include/have_utf32.inc
|
||||
|
||||
#remove this include after fix MDEV-27871
|
||||
--source include/no_view_protocol.inc
|
||||
|
||||
--disable_query_log
|
||||
call mtr.add_suppression("Charset id.*trying to replace");
|
||||
--enable_query_log
|
||||
@ -70,25 +67,25 @@ select * from t1 where c1='b';
|
||||
drop table t1;
|
||||
|
||||
# make sure utf8_test_ci is Unicode-5.0.0
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a));
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_ci), hex(lower(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_ci), hex(upper(@a)) as exp;
|
||||
|
||||
# check that it works with supplementary characters
|
||||
SELECT hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x61 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x62 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x10062 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x100400 using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
|
||||
# check contractions with non-ascii characters
|
||||
SELECT hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci));
|
||||
SELECT hex(weight_string(_utf8mb4 0x64 collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0064017e using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017e using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_ucs2 0x0044017d using utf8mb4) collate utf8mb4_test_ci)) as exp;
|
||||
|
||||
|
||||
#
|
||||
@ -189,10 +186,12 @@ show collation like '%test%';
|
||||
show collation like 'ucs2_vn_ci';
|
||||
create table t1 (c1 char(1) character set ucs2 collate ucs2_vn_ci);
|
||||
insert into t1 values (0x0061);
|
||||
--disable_view_protocol
|
||||
--enable_metadata
|
||||
set @@character_set_results=NULL;
|
||||
select * from t1;
|
||||
--disable_metadata
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
@ -212,12 +211,12 @@ show collation like 'utf8mb3_phone_ci';
|
||||
SET NAMES utf8;
|
||||
|
||||
# make sure utf8mb4_test_400_ci is Unicode-4.0.0 based
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci));
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci));
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a));
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a));
|
||||
SELECT hex(weight_string(_utf8mb4'a' collate utf8mb4_test_400_ci)) as exp;
|
||||
SELECT hex(weight_string(convert(_utf32 0x10002 using utf8mb4) collate utf8mb4_test_400_ci)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x10400 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x10428 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x2C00 using utf8mb4) collate utf8mb4_test_400_ci), hex(lower(@a)) as exp;
|
||||
SELECT hex(@a:=convert(_utf32 0x2C30 using utf8mb4) collate utf8mb4_test_400_ci), hex(upper(@a)) as exp;
|
||||
|
||||
--echo #
|
||||
--echo # WL#5624 Collation customization improvements
|
||||
@ -281,9 +280,14 @@ DROP TABLE t1;
|
||||
SET NAMES utf8 COLLATE utf8_5624_2;
|
||||
SHOW WARNINGS;
|
||||
|
||||
# "--view-protocol" generates a dublicate error message in ctype_ldml_log.err
|
||||
# In one of the following cases, the number of similar error messages is counted,
|
||||
# so doubling the error causes the case to fail
|
||||
--disable_view_protocol
|
||||
--error ER_UNKNOWN_COLLATION
|
||||
SELECT _utf8'test' COLLATE utf8_5624_2;
|
||||
SHOW WARNINGS;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # WL#5624, reset before primary ignorable
|
||||
@ -354,7 +358,7 @@ INSERT INTO t1 VALUES
|
||||
SELECT HEX(WEIGHT_STRING(a)), HEX(CONVERT(a USING ucs2)), HEX(a)
|
||||
FROM t1 ORDER BY a, BINARY(a);
|
||||
SELECT HEX(WEIGHT_STRING(a)) as wa,
|
||||
GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a)
|
||||
GROUP_CONCAT(HEX(CONVERT(a USING ucs2)) ORDER BY LENGTH(a), BINARY a) as ha
|
||||
FROM t1 GROUP BY a ORDER BY a;
|
||||
DROP TABLE t1;
|
||||
|
||||
@ -406,7 +410,6 @@ perl;
|
||||
close(FILE);
|
||||
EOF
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-8686 A user defined collation utf8_confusables doesn't work
|
||||
--echo #
|
||||
@ -509,6 +512,7 @@ SELECT HEX(a), REPLACE(a,' ','<SP>') FROM t1 ORDER BY a DESC;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--disable_service_connection
|
||||
SET NAMES utf8 COLLATE utf8_czech_test_w2;
|
||||
CREATE TABLE t1 AS SELECT SPACE(10) AS c1 LIMIT 0;
|
||||
--source include/ctype_unicode_latin.inc
|
||||
@ -610,6 +614,7 @@ SELECT 'chž'< 'i';
|
||||
|
||||
--error ER_UNKNOWN_COLLATION
|
||||
SELECT 'a' COLLATE utf8_czech_test_bad_w2;
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.2 tests
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -218,8 +218,8 @@ DROP TABLE t1;
|
||||
SELECT @@character_set_connection, HEX(CAST(_utf8'÷' AS CHAR));
|
||||
@@character_set_connection HEX(CAST(_utf8'÷' AS CHAR))
|
||||
sjis 8180
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR));
|
||||
STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR))
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR)) as exp;
|
||||
exp
|
||||
2001-01-01
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 64) AS subject, REPEAT(' ',64) AS pattern LIMIT 0;
|
||||
SHOW COLUMNS FROM t1;
|
||||
@ -19109,20 +19109,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -19247,20 +19247,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'sjis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -19386,20 +19386,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -19524,20 +19524,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'sjis_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'sjis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'sjis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'sjis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'sjis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -3173,20 +3173,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -3311,20 +3311,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'swe7_swedish_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_swedish_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_swedish_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -3450,20 +3450,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -3588,20 +3588,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'swe7_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'swe7_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'swe7_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'swe7_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -4001,20 +4001,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -4139,20 +4139,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'tis620_thai_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_thai_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_thai_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -4278,20 +4278,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -4416,20 +4416,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'tis620_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'tis620_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'tis620_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'tis620_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'tis620_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -10024,8 +10024,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
|
||||
@ -12600,8 +12600,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
|
||||
@ -15373,3 +15373,39 @@ DROP TABLE t1;
|
||||
#
|
||||
# End of MariaDB-10.2 tests
|
||||
#
|
||||
#
|
||||
# Start of 10.5 tests
|
||||
#
|
||||
#
|
||||
# MDEV-34417 Wrong result set with utf8mb4_danish_ci and BNLH join
|
||||
#
|
||||
CREATE TABLE t1 (a VARCHAR(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_danish_ci);
|
||||
INSERT INTO t1 VALUES ('aaaa'),('åå');
|
||||
SELECT * FROM t1 WHERE a='aaaa';
|
||||
a
|
||||
aaaa
|
||||
åå
|
||||
SET join_cache_level=1;
|
||||
SELECT * FROM t1 NATURAL JOIN t1 t2;
|
||||
a
|
||||
aaaa
|
||||
åå
|
||||
aaaa
|
||||
åå
|
||||
# Expect a BNHL join
|
||||
SET join_cache_level=3;
|
||||
EXPLAIN SELECT * FROM t1 NATURAL JOIN t1 t2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
|
||||
1 SIMPLE t2 hash_ALL NULL #hash#$hj 2003 test.t1.a 2 Using where; Using join buffer (flat, BNLH join)
|
||||
SELECT * FROM t1 NATURAL JOIN t1 t2;
|
||||
a
|
||||
aaaa
|
||||
åå
|
||||
aaaa
|
||||
åå
|
||||
DROP TABLE t1;
|
||||
SET join_cache_level=DEFAULT;
|
||||
#
|
||||
# End of 10.5 tests
|
||||
#
|
||||
|
@ -696,3 +696,32 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # End of MariaDB-10.2 tests
|
||||
--echo #
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.5 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-34417 Wrong result set with utf8mb4_danish_ci and BNLH join
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (a VARCHAR(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_danish_ci);
|
||||
INSERT INTO t1 VALUES ('aaaa'),('åå');
|
||||
SELECT * FROM t1 WHERE a='aaaa';
|
||||
|
||||
SET join_cache_level=1;
|
||||
SELECT * FROM t1 NATURAL JOIN t1 t2;
|
||||
|
||||
--echo # Expect a BNHL join
|
||||
SET join_cache_level=3;
|
||||
EXPLAIN SELECT * FROM t1 NATURAL JOIN t1 t2;
|
||||
SELECT * FROM t1 NATURAL JOIN t1 t2;
|
||||
|
||||
DROP TABLE t1;
|
||||
SET join_cache_level=DEFAULT;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.5 tests
|
||||
--echo #
|
||||
|
@ -985,8 +985,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;
|
||||
@ -2735,8 +2735,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;
|
||||
@ -2745,8 +2745,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;
|
||||
@ -2755,8 +2755,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;
|
||||
@ -2765,8 +2765,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;
|
||||
@ -2775,8 +2775,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;
|
||||
@ -2785,8 +2785,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;
|
||||
@ -2795,8 +2795,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;
|
||||
@ -2805,13 +2805,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;
|
||||
@ -2820,8 +2820,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;
|
||||
@ -2830,8 +2830,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;
|
||||
@ -2840,8 +2840,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;
|
||||
@ -2850,8 +2850,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;
|
||||
@ -2860,8 +2860,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;
|
||||
@ -3130,8 +3130,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;
|
||||
@ -3170,8 +3170,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;
|
||||
@ -3180,8 +3180,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
|
||||
@ -6270,20 +6270,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
|
||||
@ -6408,20 +6408,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -613,6 +613,7 @@ deallocate prepare stmt;
|
||||
#
|
||||
# Bug#22638 SOUNDEX broken for international characters
|
||||
#
|
||||
--disable_service_connection
|
||||
set names latin1;
|
||||
set character_set_connection=ucs2;
|
||||
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
|
||||
@ -623,6 +624,7 @@ select hex(soundex(_ucs2 0x041004110412));
|
||||
# Make sure that "U+00BF INVERTED QUESTION MARK" is not considered as letter
|
||||
select hex(soundex(_ucs2 0x00BF00C0));
|
||||
set names latin1;
|
||||
--enable_service_connection
|
||||
|
||||
#
|
||||
# Bug #14290: character_maximum_length for text fields
|
||||
@ -794,10 +796,12 @@ DROP TABLE t1;
|
||||
--echo # Start of 5.5 tests
|
||||
--echo #
|
||||
|
||||
--disable_service_connection
|
||||
SET NAMES latin1;
|
||||
SET collation_connection=ucs2_general_ci;
|
||||
--source include/ctype_numconv.inc
|
||||
SET NAMES latin1;
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # Bug #13832953 MY_STRNXFRM_UNICODE: ASSERTION `SRC' FAILED
|
||||
@ -1035,8 +1039,10 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # MDEV-9178 Wrong result for CAST(CONVERT('1IJ3' USING ucs2) AS SIGNED)
|
||||
--echo #
|
||||
--disable_service_connection
|
||||
SET NAMES utf8;
|
||||
SELECT CAST(CONVERT('1IJ3' USING ucs2) AS SIGNED);
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.1 tests
|
||||
@ -1073,6 +1079,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;
|
||||
@ -1100,6 +1107,7 @@ EXECUTE IMMEDIATE @stmt;
|
||||
PREPARE stmt FROM @stmt;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.2 tests
|
||||
|
@ -100,20 +100,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -238,20 +238,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -377,20 +377,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
@ -515,20 +515,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ucs2_unicode_520_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
0061006200630020
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ucs2_unicode_520_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
00610062006300200020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -322,14 +322,14 @@ locate('LO','hello' collate ujis_bin,2)
|
||||
select locate(_ujis 0xa1a3,_ujis 0xa1a2a1a3);
|
||||
locate(_ujis 0xa1a3,_ujis 0xa1a2a1a3)
|
||||
2
|
||||
select 0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%');
|
||||
0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%')
|
||||
select 0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%') as exp;
|
||||
exp
|
||||
1
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%');
|
||||
_ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%')
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') as exp;
|
||||
exp
|
||||
0
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin;
|
||||
_ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin as exp;
|
||||
exp
|
||||
0
|
||||
select 'a' like 'a';
|
||||
'a' like 'a'
|
||||
@ -2810,8 +2810,8 @@ DROP TABLE t2;
|
||||
# Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
|
||||
#
|
||||
SET NAMES utf8;
|
||||
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis);
|
||||
CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis)
|
||||
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis) as exp;
|
||||
exp
|
||||
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: 'a'
|
||||
@ -26624,20 +26624,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -26762,20 +26762,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ujis_japanese_nopad_ci' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_japanese_nopad_ci' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_japanese_nopad_ci', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -26901,20 +26901,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
@ -27039,20 +27039,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'ujis_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'ujis_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'ujis_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'ujis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'ujis_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -45,13 +45,10 @@ select locate('HE','hello' collate ujis_bin,2);
|
||||
select locate('LO','hello' collate ujis_bin,2);
|
||||
select locate(_ujis 0xa1a3,_ujis 0xa1a2a1a3);
|
||||
|
||||
select 0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%');
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%');
|
||||
select 0xa1a2a1a3 like concat(_binary'%',0xa2a1,_binary'%') as exp;
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') as exp;
|
||||
|
||||
# enable view-protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin;
|
||||
--disable_view_protocol
|
||||
select _ujis 0xa1a2a1a3 like concat(_ujis'%',_ujis 0xa2a1, _ujis'%') collate ujis_bin as exp;
|
||||
|
||||
select 'a' like 'a';
|
||||
select 'A' like 'a';
|
||||
@ -1231,11 +1228,8 @@ DROP TABLE t2;
|
||||
--echo #
|
||||
--echo # Bug#57257 Replace(ExtractValue(...)) causes MySQL crash
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SET NAMES utf8;
|
||||
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis);
|
||||
--enable_view_protocol
|
||||
SELECT CONVERT(REPLACE(EXPORT_SET('a','a','a','','a'),'00','') USING ujis) as exp;
|
||||
|
||||
set names default;
|
||||
set character_set_database=@save_character_set_server;
|
||||
@ -1357,8 +1351,6 @@ DROP TABLE t1;
|
||||
--echo # WL#3664 WEIGHT_STRING
|
||||
--echo #
|
||||
|
||||
# enable view-protocol after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
set names ujis;
|
||||
--source include/weight_string.inc
|
||||
--source include/weight_string_l1.inc
|
||||
@ -1372,7 +1364,6 @@ set collation_connection=ujis_bin;
|
||||
--source include/weight_string_A1A1.inc
|
||||
--source include/weight_string_8EA1.inc
|
||||
--source include/weight_string_8FA2C3.inc
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # End of 5.6 tests
|
||||
|
@ -2358,20 +2358,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
|
||||
@ -2496,20 +2496,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
|
||||
@ -2756,20 +2756,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
|
||||
@ -2894,20 +2894,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
|
||||
|
@ -5330,8 +5330,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
|
||||
@ -7416,20 +7416,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
|
||||
@ -7554,20 +7554,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
|
||||
@ -7693,20 +7693,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
|
||||
@ -7831,20 +7831,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
|
||||
|
@ -2543,20 +2543,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
|
||||
@ -2681,20 +2681,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
|
||||
@ -2941,20 +2941,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
|
||||
@ -3079,20 +3079,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 (
|
||||
@ -1645,8 +1645,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
|
||||
@ -2413,20 +2413,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
|
||||
@ -2551,20 +2551,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
|
||||
@ -2811,20 +2811,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
|
||||
@ -2949,20 +2949,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
|
||||
@ -3267,9 +3267,100 @@ HEX(DATE_FORMAT(TIME'11:22:33',@format))
|
||||
# End of 10.4 tests
|
||||
#
|
||||
#
|
||||
# Start of 10.11 tests
|
||||
#
|
||||
#
|
||||
# MDEV-10865 COLLATE keyword doesn't work in PREPARE query
|
||||
#
|
||||
#
|
||||
# The collation is not applicable to the PS parameter
|
||||
#
|
||||
SET NAMES utf8mb4;
|
||||
CREATE TABLE t1 (
|
||||
c1 varchar(500) COLLATE utf32_unicode_ci NOT NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES ('jj');
|
||||
PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1 LIKE ? COLLATE utf32_unicode_ci';
|
||||
EXECUTE stmt USING 'jj';
|
||||
ERROR 42000: COLLATION 'utf32_unicode_ci' is not valid for CHARACTER SET 'utf8mb4'
|
||||
DROP TABLE t1;
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE utf32_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
ERROR 42000: COLLATION 'utf32_unicode_ci' is not valid for CHARACTER SET 'utf8mb4'
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT CONCAT(?) COLLATE utf32_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
ERROR 42000: COLLATION 'utf32_unicode_ci' is not valid for CHARACTER SET 'utf8mb4'
|
||||
CREATE TABLE t1 AS SELECT NULL COLLATE utf32_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` char(0) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 AS SELECT CONCAT(NULL) COLLATE utf32_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` char(0) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# The collation is applicable to the PS parameter
|
||||
#
|
||||
SET NAMES utf8mb4, collation_connection=utf32_general_ci;
|
||||
CREATE TABLE t1 (
|
||||
c1 varchar(500) COLLATE utf32_unicode_ci NOT NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES ('jj');
|
||||
PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1 LIKE ? COLLATE utf32_unicode_ci';
|
||||
EXECUTE stmt USING 'jj';
|
||||
c1
|
||||
jj
|
||||
DROP TABLE t1;
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE utf32_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT CONCAT(?) COLLATE utf32_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 AS SELECT NULL COLLATE utf32_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` char(0) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 AS SELECT CONCAT(NULL) COLLATE utf32_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` char(0) CHARACTER SET utf32 COLLATE utf32_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
SET NAMES utf8mb4;
|
||||
#
|
||||
# End of 10.11 tests
|
||||
#
|
||||
#
|
||||
# Start of 11.4 tests
|
||||
#
|
||||
#
|
||||
# MDEV-33729 UBSAN negation of -X cannot be represented in type 'long long int'; cast to an unsigned type to negate this value to itself in my_strntoll_mb2_or_mb4
|
||||
#
|
||||
SET NAMES utf8mb3, character_set_connection=utf32;
|
||||
SELECT CONV('-AzL8n0Y58m8', -62, -10);
|
||||
CONV('-AzL8n0Y58m8', -62, -10)
|
||||
-9223372036854775808
|
||||
#
|
||||
# End of 11.4 tests
|
||||
#
|
||||
|
@ -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
|
||||
@ -1169,11 +1157,95 @@ SELECT HEX(DATE_FORMAT(TIME'11:22:33',@format));
|
||||
--echo # End of 10.4 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.11 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-10865 COLLATE keyword doesn't work in PREPARE query
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # The collation is not applicable to the PS parameter
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
CREATE TABLE t1 (
|
||||
c1 varchar(500) COLLATE utf32_unicode_ci NOT NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES ('jj');
|
||||
PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1 LIKE ? COLLATE utf32_unicode_ci';
|
||||
--error ER_COLLATION_CHARSET_MISMATCH
|
||||
EXECUTE stmt USING 'jj';
|
||||
DROP TABLE t1;
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE utf32_unicode_ci AS c1';
|
||||
--error ER_COLLATION_CHARSET_MISMATCH
|
||||
EXECUTE stmt USING 'test';
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT CONCAT(?) COLLATE utf32_unicode_ci AS c1';
|
||||
--error ER_COLLATION_CHARSET_MISMATCH
|
||||
EXECUTE stmt USING 'test';
|
||||
|
||||
CREATE TABLE t1 AS SELECT NULL COLLATE utf32_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 AS SELECT CONCAT(NULL) COLLATE utf32_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # The collation is applicable to the PS parameter
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4, collation_connection=utf32_general_ci;
|
||||
CREATE TABLE t1 (
|
||||
c1 varchar(500) COLLATE utf32_unicode_ci NOT NULL
|
||||
);
|
||||
INSERT INTO t1 VALUES ('jj');
|
||||
PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1 LIKE ? COLLATE utf32_unicode_ci';
|
||||
EXECUTE stmt USING 'jj';
|
||||
DROP TABLE t1;
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE utf32_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT CONCAT(?) COLLATE utf32_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 AS SELECT NULL COLLATE utf32_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 AS SELECT CONCAT(NULL) COLLATE utf32_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.11 tests
|
||||
--echo #
|
||||
|
||||
--enable_service_connection
|
||||
|
||||
--echo #
|
||||
--echo # Start of 11.4 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-33729 UBSAN negation of -X cannot be represented in type 'long long int'; cast to an unsigned type to negate this value to itself in my_strntoll_mb2_or_mb4
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb3, character_set_connection=utf32;
|
||||
SELECT CONV('-AzL8n0Y58m8', -62, -10);
|
||||
|
||||
--echo #
|
||||
--echo # End of 11.4 tests
|
||||
--echo #
|
||||
|
@ -5350,8 +5350,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
|
||||
@ -7436,20 +7436,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
|
||||
@ -7574,20 +7574,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
|
||||
@ -7713,20 +7713,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
|
||||
@ -7851,20 +7851,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
|
||||
|
@ -67,17 +67,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 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')
|
||||
@ -800,17 +800,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;
|
||||
@ -1036,8 +1036,8 @@ DROP TABLE t1;
|
||||
SELECT @@character_set_connection, HEX(CAST(_utf8'÷' AS CHAR));
|
||||
@@character_set_connection HEX(CAST(_utf8'÷' AS CHAR))
|
||||
utf8mb3 C3B7
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR));
|
||||
STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR))
|
||||
SELECT STR_TO_DATE(CAST(_utf8'2001÷01÷01' AS CHAR),CAST(_utf8'%Y÷%m÷%d' AS CHAR)) as exp;
|
||||
exp
|
||||
2001-01-01
|
||||
CREATE TABLE t1 AS SELECT REPEAT(' ', 64) AS subject, REPEAT(' ',64) AS pattern LIMIT 0;
|
||||
SHOW COLUMNS FROM t1;
|
||||
@ -1170,8 +1170,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;
|
||||
@ -3480,8 +3480,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumGeometries(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3490,8 +3490,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))));
|
||||
hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))))
|
||||
select hex(concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(NumPoints(MultiPointFromText('LINESTRING(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3500,8 +3500,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))));
|
||||
hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))))
|
||||
select hex(concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(SRID(MultiPointFromText('MULTIPOINT(0 0,10 10)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3510,8 +3510,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))));
|
||||
hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))))
|
||||
select hex(concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(NumInteriorRings(PolygonFromText('POLYGON((0 0,50 0,50 50,0 50,0 0), (10 10,20 10,20 20,10 20,10 10))'))) as c1;
|
||||
show create table t1;
|
||||
@ -3520,8 +3520,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsEmpty(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsEmpty(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsEmpty(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3530,8 +3530,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(21) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)'))));
|
||||
hex(concat(IsSimple(GeomFromText('POINT(1 1)'))))
|
||||
select hex(concat(IsSimple(GeomFromText('POINT(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(IsSimple(GeomFromText('Point(1 1)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3540,8 +3540,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))));
|
||||
hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))))
|
||||
select hex(concat(IsClosed(GeomFromText('LineString(1 1,2 2)')))) as exp;
|
||||
exp
|
||||
30
|
||||
create table t1 as select concat(IsClosed(GeomFromText('LineString(1 1,2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3550,13 +3550,13 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))));
|
||||
hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))))
|
||||
select hex(concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Equals(GeomFromText('Point(1 1)'),GeomFromText('Point(1 1)'))) as c1;
|
||||
drop table t1;
|
||||
select hex(concat(x(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(x(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(x(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3565,8 +3565,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(y(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(y(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(y(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
32
|
||||
create table t1 as select concat(x(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3575,8 +3575,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))));
|
||||
hex(concat(GLength(GeomFromText('LineString(1 2,2 2)'))))
|
||||
select hex(concat(GLength(GeomFromText('LineString(1 2,2 2)')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(GLength(GeomFromText('LineString(1 2, 2 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3585,8 +3585,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))));
|
||||
hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))))
|
||||
select hex(concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))')))) as exp;
|
||||
exp
|
||||
31
|
||||
create table t1 as select concat(Area(GeomFromText('Polygon((0 0,1 0,1 1,0 1,0 0))'))) as c1;
|
||||
show create table t1;
|
||||
@ -3595,8 +3595,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(23) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(GeometryType(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(GeometryType(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E54
|
||||
create table t1 as select concat(GeometryType(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3605,8 +3605,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)'))));
|
||||
hex(concat(AsText(GeomFromText('Point(1 2)'))))
|
||||
select hex(concat(AsText(GeomFromText('Point(1 2)')))) as exp;
|
||||
exp
|
||||
504F494E542831203229
|
||||
create table t1 as select concat(AsText(GeomFromText('Point(1 2)'))) as c1;
|
||||
show create table t1;
|
||||
@ -3875,8 +3875,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')));
|
||||
hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')))
|
||||
select hex(concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00'))) as exp;
|
||||
exp
|
||||
32343A30303A3030
|
||||
create table t1 as select concat(timediff('2001-01-02 00:00:00', '2001-01-01 00:00:00')) as c1;
|
||||
show create table t1;
|
||||
@ -3915,8 +3915,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')));
|
||||
hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')))
|
||||
select hex(concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00'))) as exp;
|
||||
exp
|
||||
323030332D31322D33312032303A30303A3030
|
||||
create table t1 as select concat(convert_tz('2004-01-01 12:00:00','+10:00','-6:00')) as c1;
|
||||
show create table t1;
|
||||
@ -3925,8 +3925,8 @@ t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(19) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
drop table t1;
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)));
|
||||
hex(concat(date_add('2004-01-01 12:00:00', interval 1 day)))
|
||||
select hex(concat(date_add('2004-01-01 12:00:00', interval 1 day))) as exp;
|
||||
exp
|
||||
323030342D30312D30322031323A30303A3030
|
||||
create table t1 as select concat(date_add('2004-01-01 12:00:00', interval 1 day)) as c1;
|
||||
show create table t1;
|
||||
@ -9895,20 +9895,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
|
||||
@ -10033,20 +10033,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
|
||||
@ -10172,20 +10172,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
|
||||
@ -10310,20 +10310,20 @@ DROP TABLE t1;
|
||||
#
|
||||
# IF, CASE, LEAST
|
||||
#
|
||||
SELECT IF('abc' COLLATE 'utf8_nopad_bin' = 'abc ', 'pad', 'nopad');
|
||||
IF('abc' COLLATE 'utf8_nopad_bin' = 'abc ', 'pad', 'nopad')
|
||||
SELECT IF('abc' COLLATE 'utf8_nopad_bin' = 'abc ', 'pad', 'nopad') as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE 'abc' COLLATE 'utf8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE 'abc' COLLATE 'utf8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE 'abc' COLLATE 'utf8_nopad_bin' WHEN 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END;
|
||||
CASE WHEN 'abc' COLLATE 'utf8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END
|
||||
SELECT CASE WHEN 'abc' COLLATE 'utf8_nopad_bin' = 'abc ' THEN 'pad' ELSE 'nopad' END as exp;
|
||||
exp
|
||||
nopad
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_nopad_bin', 'abc '));
|
||||
HEX(LEAST('abc ' COLLATE 'utf8_nopad_bin', 'abc '))
|
||||
SELECT HEX(LEAST('abc ' COLLATE 'utf8_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
61626320
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_nopad_bin', 'abc '));
|
||||
HEX(GREATEST('abc ' COLLATE 'utf8_nopad_bin', 'abc '))
|
||||
SELECT HEX(GREATEST('abc ' COLLATE 'utf8_nopad_bin', 'abc ')) as exp;
|
||||
exp
|
||||
6162632020
|
||||
#
|
||||
# Collation mix
|
||||
|
@ -3,9 +3,6 @@
|
||||
# Tests with the utf8 character set
|
||||
#
|
||||
|
||||
# Enable after fix MDEV-27904
|
||||
-- source include/no_view_protocol.inc
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
|
||||
let collation=utf8mb3_unicode_ci;
|
||||
@ -58,15 +55,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;
|
||||
|
||||
#
|
||||
# Fix this, it should return 1:
|
||||
@ -604,6 +601,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,
|
||||
@ -619,6 +617,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
|
||||
@ -671,10 +670,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';
|
||||
@ -710,7 +709,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
|
||||
@ -1088,6 +1087,7 @@ DROP TABLE t1;
|
||||
# (see bug #16674 as well)
|
||||
#
|
||||
|
||||
--disable_service_connection
|
||||
SET NAMES latin2;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
@ -1114,6 +1114,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
|
||||
@ -1321,6 +1322,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);
|
||||
@ -1355,6 +1357,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
|
||||
@ -1471,7 +1474,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
|
||||
@ -1548,6 +1554,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;
|
||||
@ -1556,6 +1563,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
|
||||
|
@ -3048,20 +3048,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
|
||||
@ -3186,20 +3186,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
|
||||
@ -3325,20 +3325,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
|
||||
@ -3463,20 +3463,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
|
||||
@ -3565,24 +3565,6 @@ DROP TABLE t1;
|
||||
# End of 10.2 tests
|
||||
#
|
||||
#
|
||||
# Start of 10.5 tests
|
||||
#
|
||||
#
|
||||
# MDEV-24584 Selecting INT column with COLLATE utf8mb4_general_ci throws an error
|
||||
#
|
||||
SET NAMES utf8mb4;
|
||||
SELECT 1 COLLATE utf8mb4_general_ci;
|
||||
1 COLLATE utf8mb4_general_ci
|
||||
1
|
||||
SELECT 1 COLLATE utf8mb4_bin;
|
||||
1 COLLATE utf8mb4_bin
|
||||
1
|
||||
SELECT 1 COLLATE latin1_swedish_ci;
|
||||
ERROR 42000: COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8mb4'
|
||||
#
|
||||
# End of 10.5 tests
|
||||
#
|
||||
#
|
||||
# Start of 10.6 tests
|
||||
#
|
||||
#
|
||||
@ -3610,3 +3592,67 @@ DROP TABLE t1;
|
||||
#
|
||||
# End of 10.6 tests
|
||||
#
|
||||
#
|
||||
# Start of 10.11 tests
|
||||
#
|
||||
#
|
||||
# MDEV-24584 Selecting INT column with COLLATE utf8mb4_general_ci throws an error
|
||||
#
|
||||
SET NAMES utf8mb4;
|
||||
SELECT 1 COLLATE utf8mb4_general_ci;
|
||||
1 COLLATE utf8mb4_general_ci
|
||||
1
|
||||
SELECT 1 COLLATE utf8mb4_bin;
|
||||
1 COLLATE utf8mb4_bin
|
||||
1
|
||||
SELECT 1 COLLATE latin1_swedish_ci;
|
||||
ERROR 42000: COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8mb4'
|
||||
#
|
||||
# MDEV-10865 COLLATE keyword doesn't work in PREPARE query
|
||||
#
|
||||
SET NAMES utf8mb4;
|
||||
CREATE TABLE t1 (
|
||||
c1 varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL
|
||||
) CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
INSERT INTO t1 VALUES ('jj');
|
||||
SELECT * FROM t1 WHERE c1 LIKE 'jj' COLLATE utf8mb4_unicode_ci;
|
||||
c1
|
||||
jj
|
||||
PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1 LIKE ? COLLATE utf8mb4_unicode_ci';
|
||||
EXECUTE stmt USING 'jj';
|
||||
c1
|
||||
jj
|
||||
DROP TABLE t1;
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE utf8mb4_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT CONCAT(?) COLLATE utf8mb4_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(4) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 AS SELECT NULL COLLATE utf8mb4_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` char(0) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 AS SELECT CONCAT(NULL) COLLATE utf8mb4_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` char(0) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.11 tests
|
||||
#
|
||||
|
@ -2027,25 +2027,6 @@ DROP TABLE t1;
|
||||
--echo # End of 10.2 tests
|
||||
--echo #
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.5 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-24584 Selecting INT column with COLLATE utf8mb4_general_ci throws an error
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SELECT 1 COLLATE utf8mb4_general_ci;
|
||||
SELECT 1 COLLATE utf8mb4_bin;
|
||||
--error ER_COLLATION_CHARSET_MISMATCH
|
||||
SELECT 1 COLLATE latin1_swedish_ci;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.5 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.6 tests
|
||||
--echo #
|
||||
@ -2071,3 +2052,55 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # End of 10.6 tests
|
||||
--echo #
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Start of 10.11 tests
|
||||
--echo #
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-24584 Selecting INT column with COLLATE utf8mb4_general_ci throws an error
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SELECT 1 COLLATE utf8mb4_general_ci;
|
||||
SELECT 1 COLLATE utf8mb4_bin;
|
||||
--error ER_COLLATION_CHARSET_MISMATCH
|
||||
SELECT 1 COLLATE latin1_swedish_ci;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-10865 COLLATE keyword doesn't work in PREPARE query
|
||||
--echo #
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
CREATE TABLE t1 (
|
||||
c1 varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL
|
||||
) CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
INSERT INTO t1 VALUES ('jj');
|
||||
SELECT * FROM t1 WHERE c1 LIKE 'jj' COLLATE utf8mb4_unicode_ci;
|
||||
PREPARE stmt FROM 'SELECT * FROM t1 WHERE c1 LIKE ? COLLATE utf8mb4_unicode_ci';
|
||||
EXECUTE stmt USING 'jj';
|
||||
DROP TABLE t1;
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT ? COLLATE utf8mb4_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
PREPARE stmt FROM 'CREATE TABLE t1 AS SELECT CONCAT(?) COLLATE utf8mb4_unicode_ci AS c1';
|
||||
EXECUTE stmt USING 'test';
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 AS SELECT NULL COLLATE utf8mb4_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 AS SELECT CONCAT(NULL) COLLATE utf8mb4_unicode_ci AS c1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.11 tests
|
||||
--echo #
|
||||
|
@ -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 ' collate utf8mb4_general_ci;
|
||||
'a' = 'a ' collate utf8mb4_general_ci
|
||||
@ -871,17 +871,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;
|
||||
@ -1222,8 +1222,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 ' collate utf8mb4_general_ci;
|
||||
'a' = 'a ' collate utf8mb4_general_ci
|
||||
@ -934,17 +934,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;
|
||||
@ -1285,8 +1285,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 ' collate utf8mb4_general_ci;
|
||||
'a' = 'a ' collate utf8mb4_general_ci
|
||||
@ -937,17 +937,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;
|
||||
@ -1288,8 +1288,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
|
||||
|
@ -1,9 +1,9 @@
|
||||
select str_to_date(concat('15-01-2001',' 2:59:58.999'),
|
||||
concat('%d-%m-%Y',' ','%H:%i:%s.%f')) as s;
|
||||
s
|
||||
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
|
||||
@ -238,8 +238,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')) as s;
|
||||
s
|
||||
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
|
||||
@ -533,8 +533,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))) as s;
|
||||
s
|
||||
SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535))) as exp;
|
||||
exp
|
||||
%
|
||||
SET NAMES latin1;
|
||||
#
|
||||
|
@ -7,8 +7,8 @@
|
||||
#
|
||||
|
||||
select str_to_date(concat('15-01-2001',' 2:59:58.999'),
|
||||
concat('%d-%m-%Y',' ','%H:%i:%s.%f')) as s;
|
||||
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
|
||||
@ -53,7 +53,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')) as s;
|
||||
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
|
||||
|
||||
@ -241,7 +241,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))) as s;
|
||||
SELECT LEAST('%', GET_FORMAT(datetime, 'eur'), CAST(GET_FORMAT(datetime, 'eur') AS CHAR(65535))) as exp;
|
||||
SET NAMES latin1;
|
||||
|
||||
--echo #
|
||||
|
@ -7,9 +7,9 @@ set optimizer_trace=1;
|
||||
explain select * from t1 force index(a) where a in (2, 4, 6);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 3 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
[
|
||||
"(6) <= (a DESC) <= (6)",
|
||||
@ -38,18 +38,18 @@ set optimizer_trace=1;
|
||||
explain select * from t1 force index(ab) where a>=8 and b>=50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range ab ab 4 NULL 51 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(8) <= (a)"]
|
||||
]
|
||||
explain select * from t1 force index(ab) where a>=8 and b<=50;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range ab ab 8 NULL 46 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(8,50) <= (a,b DESC)"]
|
||||
]
|
||||
@ -91,9 +91,9 @@ explain
|
||||
select * from t1 where a between 2 and 4 and b between 50 and 80;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range ab ab 8 NULL 17 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(2,80) <= (a,b DESC) <= (4,50)"]
|
||||
]
|
||||
@ -122,9 +122,9 @@ explain
|
||||
select * from t2 where a between 2 and 4;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 range ab ab 4 NULL 40 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(4) <= (a DESC) <= (2)"]
|
||||
]
|
||||
@ -132,9 +132,9 @@ explain
|
||||
select * from t2 where a between 2 and 4 and b between 50 and 80;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 range ab ab 8 NULL 31 Using where; Using index
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
jd
|
||||
[
|
||||
["(4,80) <= (a DESC,b DESC) <= (2,50)"]
|
||||
]
|
||||
@ -147,9 +147,9 @@ insert into t1 select 2,seq from seq_0_to_1000;
|
||||
EXPLAIN select MIN(a) from t1 where p = 2 group by p;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref PRIMARY PRIMARY 4 const 1000 Using index
|
||||
select json_detailed(json_extract(trace, '$**.potential_group_range_indexes'))
|
||||
select json_detailed(json_extract(trace, '$**.potential_group_range_indexes')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
json_detailed(json_extract(trace, '$**.potential_group_range_indexes'))
|
||||
jd
|
||||
[
|
||||
[
|
||||
{
|
||||
|
@ -16,12 +16,12 @@ insert into t1 select seq from seq_1_to_1000;
|
||||
set optimizer_trace=1;
|
||||
explain select * from t1 force index(a) where a in (2, 4, 6);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
set optimizer_trace=default;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo # These should go in reverse order:
|
||||
select * from t1 force index(a) where a in (2, 4, 6);
|
||||
@ -38,26 +38,29 @@ create table t1 (
|
||||
|
||||
insert into t1 select A.seq, B.seq*10 from seq_1_to_10 A, seq_1_to_10 B;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
set optimizer_trace=1;
|
||||
explain select * from t1 force index(ab) where a>=8 and b>=50;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
explain select * from t1 force index(ab) where a>=8 and b<=50;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
select * from t1 force index(ab) where a>=8 and b<=50;
|
||||
select * from t1 ignore index(ab) where a>=8 and b<=50 order by a, b desc;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
explain
|
||||
select * from t1 where a between 2 and 4 and b between 50 and 80;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
@ -72,16 +75,19 @@ create table t2 (
|
||||
);
|
||||
insert into t2 select A.seq, B.seq*10 from seq_1_to_10 A, seq_1_to_10 B;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
explain
|
||||
select * from t2 where a between 2 and 4;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
explain
|
||||
select * from t2 where a between 2 and 4 and b between 50 and 80;
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges'))
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.range_access_plan.ranges')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
@ -93,9 +99,9 @@ drop table t2;
|
||||
CREATE TABLE t1 (p int NOT NULL, a int NOT NULL, PRIMARY KEY (p,a desc));
|
||||
insert into t1 select 2,seq from seq_0_to_1000;
|
||||
EXPLAIN select MIN(a) from t1 where p = 2 group by p;
|
||||
#enable after fix MDEV-27871
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select json_detailed(json_extract(trace, '$**.potential_group_range_indexes'))
|
||||
select json_detailed(json_extract(trace, '$**.potential_group_range_indexes')) as jd
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
drop table t1;
|
||||
|
@ -6,6 +6,8 @@
|
||||
--echo # MDEV-30660 COUNT DISTINCT seems unnecessarily slow when run on a PK
|
||||
--echo #
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
set @save_optimizer_trace = @@optimizer_trace;
|
||||
SET optimizer_trace='enabled=on';
|
||||
let $trace=
|
||||
@ -104,6 +106,8 @@ eval $trace;
|
||||
DROP TABLE t1, t2, t3;
|
||||
DROP VIEW v1;
|
||||
SET optimizer_trace = @save_optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # end of 10.5 tests
|
||||
--echo #
|
||||
|
@ -16,16 +16,16 @@ author VARCHAR(255) NOT NULL
|
||||
INSERT INTO t2 VALUES('123', 'moi');
|
||||
INSERT INTO t2 VALUES('123', 'lui');
|
||||
INSERT INTO t2 VALUES('456', 'lui');
|
||||
select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
|
||||
select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5) as exp
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
|
||||
exp
|
||||
0.00000
|
||||
0.00000
|
||||
0.67003
|
||||
0.00000
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE) as exp
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
|
||||
exp
|
||||
0
|
||||
0
|
||||
1
|
||||
|
@ -24,13 +24,10 @@ INSERT INTO t2 VALUES('123', 'moi');
|
||||
INSERT INTO t2 VALUES('123', 'lui');
|
||||
INSERT INTO t2 VALUES('456', 'lui');
|
||||
|
||||
select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5)
|
||||
select round(match(t1.texte,t1.sujet,t1.motsclefs) against('droit'),5) as exp
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE)
|
||||
select match(t1.texte,t1.sujet,t1.motsclefs) against('droit' IN BOOLEAN MODE) as exp
|
||||
from t1 left join t2 on t2.id=t1.id;
|
||||
--enable_view_protocol
|
||||
|
||||
drop table t1, t2;
|
||||
|
||||
|
@ -1269,8 +1269,8 @@ SELECT * FROM v1;
|
||||
a GROUP_CONCAT(a ORDER BY a)
|
||||
NULL 10,20,30
|
||||
DROP VIEW v1;
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30');
|
||||
(SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30')
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30') as exp;
|
||||
exp
|
||||
10,20,30
|
||||
CREATE VIEW v1 AS
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30');
|
||||
|
@ -950,10 +950,7 @@ SELECT * FROM (SELECT a,GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLU
|
||||
SELECT * FROM v1;
|
||||
DROP VIEW v1;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30');
|
||||
--enable_view_protocol
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30') as exp;
|
||||
CREATE VIEW v1 AS
|
||||
SELECT (SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY a WITH ROLLUP HAVING GROUP_CONCAT(a ORDER BY a)='10,20,30');
|
||||
SELECT * FROM v1;
|
||||
|
@ -5,8 +5,8 @@ set global innodb_stats_persistent= 1;
|
||||
set global innodb_stats_persistent_sample_pages=100;
|
||||
create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB;
|
||||
insert into t1 values (1, 3);
|
||||
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
|
||||
count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ
|
||||
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ as exp from t1 group by MAX_REQ;
|
||||
exp
|
||||
1
|
||||
select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
|
||||
Case When Count(*) < MAX_REQ Then 1 Else 0 End
|
||||
|
@ -15,10 +15,7 @@ set global innodb_stats_persistent_sample_pages=100;
|
||||
create table t1 (USR_ID integer not null, MAX_REQ integer not null, constraint PK_SEA_USER primary key (USR_ID)) engine=InnoDB;
|
||||
--enable_warnings
|
||||
insert into t1 values (1, 3);
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ from t1 group by MAX_REQ;
|
||||
--enable_view_protocol
|
||||
select count(*) + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ + MAX_REQ - MAX_REQ as exp from t1 group by MAX_REQ;
|
||||
select Case When Count(*) < MAX_REQ Then 1 Else 0 End from t1 where t1.USR_ID = 1 group by MAX_REQ;
|
||||
drop table t1;
|
||||
|
||||
|
@ -863,15 +863,15 @@ DROP TABLE t1;
|
||||
#
|
||||
# MDEV-11514 IN with a mixture of TIME and DATETIME returns a wrong result
|
||||
#
|
||||
SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32');
|
||||
TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')
|
||||
SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') as exp;
|
||||
exp
|
||||
1
|
||||
PREPARE stmt FROM "SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')";
|
||||
PREPARE stmt FROM "SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') as exp";
|
||||
EXECUTE stmt;
|
||||
TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')
|
||||
exp
|
||||
1
|
||||
EXECUTE stmt;
|
||||
TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')
|
||||
exp
|
||||
1
|
||||
DEALLOCATE PREPARE stmt;
|
||||
#
|
||||
|
@ -652,14 +652,11 @@ DROP TABLE t1;
|
||||
--echo #
|
||||
--echo # MDEV-11514 IN with a mixture of TIME and DATETIME returns a wrong result
|
||||
--echo #
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32');
|
||||
PREPARE stmt FROM "SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32')";
|
||||
SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') as exp;
|
||||
PREPARE stmt FROM "SELECT TIME'10:20:30' IN (102030,TIME'10:20:31',TIMESTAMP'2001-01-01 10:20:32') as exp";
|
||||
EXECUTE stmt;
|
||||
EXECUTE stmt;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-11497 Wrong result for (int_expr IN (mixture of signed and unsigned expressions))
|
||||
|
@ -5215,5 +5215,15 @@ JSON_ARRAY_INTERSECT(c1, c2)
|
||||
[4]
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-31543: ASAN heap-buffer-overflow in strncpy when fetching keys using JSON_OBJECT_FILTER_KEYS function
|
||||
#
|
||||
SET @arr1='[1,2,"c"]';
|
||||
SET character_set_database=ucs2;
|
||||
SET CHARACTER SET utf8;
|
||||
SET @obj1='{ "a": 1,"b": 2,"c": 3}';
|
||||
SELECT JSON_OBJECT_FILTER_KEYS (@obj1,@arr1);
|
||||
JSON_OBJECT_FILTER_KEYS (@obj1,@arr1)
|
||||
NULL
|
||||
#
|
||||
# End of 11.2 Test
|
||||
#
|
||||
|
@ -4096,6 +4096,16 @@ SELECT JSON_ARRAY_INTERSECT(c1, c2) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-31543: ASAN heap-buffer-overflow in strncpy when fetching keys using JSON_OBJECT_FILTER_KEYS function
|
||||
--echo #
|
||||
|
||||
SET @arr1='[1,2,"c"]';
|
||||
SET character_set_database=ucs2;
|
||||
SET CHARACTER SET utf8;
|
||||
SET @obj1='{ "a": 1,"b": 2,"c": 3}';
|
||||
SELECT JSON_OBJECT_FILTER_KEYS (@obj1,@arr1);
|
||||
|
||||
--echo #
|
||||
--echo # End of 11.2 Test
|
||||
--echo #
|
||||
|
@ -1746,3 +1746,16 @@ RELEASE_ALL_LOCKS()
|
||||
SELECT LOCK_MODE, LOCK_TYPE, TABLE_SCHEMA
|
||||
FROM information_schema.metadata_lock_info WHERE thread_id>0 ORDER BY TABLE_SCHEMA;
|
||||
LOCK_MODE LOCK_TYPE TABLE_SCHEMA
|
||||
#
|
||||
# MDEV-32583 UUID() should be treated as stochastic for the purposes of
|
||||
# forcing query materialization
|
||||
#
|
||||
create table t1 as WITH cte AS (SELECT UUID() as r FROM seq_1_to_10)
|
||||
SELECT r as r1, r FROM cte;
|
||||
select count(*) from t1 where r1!=r;
|
||||
count(*)
|
||||
0
|
||||
drop table t1;
|
||||
#
|
||||
# End of 10.5 tests
|
||||
#
|
||||
|
@ -1367,3 +1367,18 @@ FROM information_schema.metadata_lock_info WHERE thread_id>0 ORDER BY TABLE_SCHE
|
||||
|
||||
--enable_ps2_protocol
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-32583 UUID() should be treated as stochastic for the purposes of
|
||||
--echo # forcing query materialization
|
||||
--echo #
|
||||
|
||||
--source include/have_sequence.inc
|
||||
create table t1 as WITH cte AS (SELECT UUID() as r FROM seq_1_to_10)
|
||||
SELECT r as r1, r FROM cte;
|
||||
select count(*) from t1 where r1!=r;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.5 tests
|
||||
--echo #
|
||||
|
@ -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;
|
||||
|
@ -326,13 +326,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
|
||||
@ -352,10 +349,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
|
||||
@ -372,16 +366,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';
|
||||
@ -417,10 +408,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
|
||||
@ -461,9 +449,6 @@ SELECT CAST(0xE001 AS BINARY) REGEXP @regCheck;
|
||||
SELECT 1 FROM dual WHERE ('Alpha,Bravo,Charlie,Delta,Echo,Foxtrot,StrataCentral,Golf,Hotel,India,Juliet,Kilo,Lima,Mike,StrataL3,November,Oscar,StrataL2,Sand,P3,P4SwitchTest,Arsys,Poppa,ExtensionMgr,Arp,Quebec,Romeo,StrataApiV2,PtReyes,Sierra,SandAcl,Arrow,Artools,BridgeTest,Tango,SandT,PAlaska,Namespace,Agent,Qos,PatchPanel,ProjectReport,Ark,Gimp,Agent,SliceAgent,Arnet,Bgp,Ale,Tommy,Central,AsicPktTestLib,Hsc,SandL3,Abuild,Pca9555,Standby,ControllerDut,CalSys,SandLib,Sb820,PointV2,BfnLib,Evpn,BfnSdk,Sflow,ManagementActive,AutoTest,GatedTest,Bgp,Sand,xinetd,BfnAgentLib,bf-utils,Hello,BfnState,Eos,Artest,Qos,Scd,ThermoMgr,Uniform,EosUtils,Eb,FanController,Central,BfnL3,BfnL2,tcp_wrappers,Victor,Environment,Route,Failover,Whiskey,Xray,Gimp,BfnFixed,Strata,SoCal,XApi,Msrp,XpProfile,tcpdump,PatchPanel,ArosTest,FhTest,Arbus,XpAcl,MacConc,XpApi,telnet,QosTest,Alpha2,BfnVlan,Stp,VxlanControllerTest,MplsAgent,Bravo2,Lanz,BfnMbb,Intf,XCtrl,Unicast,SandTunnel,L3Unicast,Ipsec,MplsTest,Rsvp,EthIntf,StageMgr,Sol,MplsUtils,Nat,Ira,P4NamespaceDut,Counters,Charlie2,Aqlc,Mlag,Power,OpenFlow,Lag,RestApi,BfdTest,strongs,Sfa,CEosUtils,Adt746,MaintenanceMode,MlagDut,EosImage,IpEth,MultiProtocol,Launcher,Max3179,Snmp,Acl,IpEthTest,PhyEee,bf-syslibs,tacc,XpL2,p4-ar-switch,p4-bf-switch,LdpTest,BfnPhy,Mirroring,Phy6,Ptp' REGEXP '^((?!\b(Strata|StrataApi|StrataApiV2)\b).)*$');
|
||||
--enable_result_log
|
||||
--enable_warnings
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
--enable_view_protocol
|
||||
|
||||
#
|
||||
# MDEV-12942 REGEXP_INSTR returns 1 when using brackets
|
||||
|
@ -39,11 +39,11 @@ position(binary 'll' in 'hello') position('a' in binary 'hello')
|
||||
select left('hello',null), right('hello',null);
|
||||
left('hello',null) right('hello',null)
|
||||
NULL NULL
|
||||
select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5) ;
|
||||
select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5);
|
||||
left('hello',2) right('hello',2) substring('hello',2,2) mid('hello',1,5)
|
||||
he lo el hello
|
||||
select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) ;
|
||||
concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1))
|
||||
select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) as exp;
|
||||
exp
|
||||
happy
|
||||
select substring_index('www.tcx.se','.',-2),substring_index('www.tcx.se','.',1);
|
||||
substring_index('www.tcx.se','.',-2) substring_index('www.tcx.se','.',1)
|
||||
@ -171,23 +171,23 @@ the king of
|
||||
select substring_index('the king of the the hill','the',3);
|
||||
substring_index('the king of the the hill','the',3)
|
||||
the king of the
|
||||
select concat(':',ltrim(' left '),':',rtrim(' right '),':');
|
||||
concat(':',ltrim(' left '),':',rtrim(' right '),':')
|
||||
select concat(':',ltrim(' left '),':',rtrim(' right '),':') as exp;
|
||||
exp
|
||||
:left : right:
|
||||
select concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':');
|
||||
concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':')
|
||||
select concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':') as exp;
|
||||
exp
|
||||
:left : right:
|
||||
select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':');
|
||||
concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':')
|
||||
select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':') as exp;
|
||||
exp
|
||||
:left: right:
|
||||
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':');
|
||||
concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':')
|
||||
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':') as exp;
|
||||
exp
|
||||
:m:y:s:
|
||||
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':');
|
||||
concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':')
|
||||
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':') as exp;
|
||||
exp
|
||||
:my:sql:
|
||||
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':');
|
||||
concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':')
|
||||
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':') as exp;
|
||||
exp
|
||||
:my:sql:
|
||||
select TRIM("foo" FROM "foo"), TRIM("foo" FROM "foook"), TRIM("foo" FROM "okfoo");
|
||||
TRIM("foo" FROM "foo") TRIM("foo" FROM "foook") TRIM("foo" FROM "okfoo")
|
||||
@ -201,8 +201,8 @@ NULL
|
||||
select concat_ws(',','',NULL,'a');
|
||||
concat_ws(',','',NULL,'a')
|
||||
,a
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"');
|
||||
CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"')
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"') as exp;
|
||||
exp
|
||||
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb";"cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc";"dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
|
||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||
insert('txs',2,1,'hi') insert('is ',4,0,'a') insert('txxxxt',2,4,'es')
|
||||
@ -215,8 +215,8 @@ Catalog Database Table Table_alias Column Column_alias Type Length Max length Is
|
||||
def replace('aaaa','a','bbbb') 253 16 16 Y 0 39 8
|
||||
replace('aaaa','a','bbbb')
|
||||
bbbbbbbbbbbbbbbb
|
||||
select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') ;
|
||||
replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL')
|
||||
select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') as exp;
|
||||
exp
|
||||
this is a REAL test
|
||||
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
|
||||
soundex('') soundex('he') soundex('hello all folks') soundex('#3556 in bugdb')
|
||||
@ -311,11 +311,11 @@ NULL NULL
|
||||
select least(1,2,3) | greatest(16,32,8), least(5,4)*1,greatest(-1.0,1.0)*1,least(3,2,1)*1.0,greatest(1,1.1,1.0),least("10",9),greatest("A","B","0");
|
||||
least(1,2,3) | greatest(16,32,8) least(5,4)*1 greatest(-1.0,1.0)*1 least(3,2,1)*1.0 greatest(1,1.1,1.0) least("10",9) greatest("A","B","0")
|
||||
33 4 1.0 1.0 1.1 9 B
|
||||
select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000);
|
||||
decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000)
|
||||
select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000) as exp;
|
||||
exp
|
||||
1
|
||||
select decode(encode("abcdef","monty"),"monty")="abcdef";
|
||||
decode(encode("abcdef","monty"),"monty")="abcdef"
|
||||
select decode(encode("abcdef","monty"),"monty")="abcdef" as exp;
|
||||
exp
|
||||
1
|
||||
select quote('\'\"\\test');
|
||||
quote('\'\"\\test')
|
||||
@ -331,11 +331,11 @@ Warning 1365 Division by 0
|
||||
select length(quote(concat(char(0),"test")));
|
||||
length(quote(concat(char(0),"test")))
|
||||
8
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))));
|
||||
hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))))
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235)))) as exp;
|
||||
exp
|
||||
27E0E3E6E7E8EAEB27
|
||||
select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL);
|
||||
unhex(hex("foobar")) hex(unhex("1234567890ABCDEF")) unhex("345678") unhex(NULL)
|
||||
select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL) as exp;
|
||||
unhex(hex("foobar")) hex(unhex("1234567890ABCDEF")) unhex("345678") exp
|
||||
foobar 1234567890ABCDEF 4Vx NULL
|
||||
select hex(unhex("1")), hex(unhex("12")), hex(unhex("123")), hex(unhex("1234")), hex(unhex("12345")), hex(unhex("123456"));
|
||||
hex(unhex("1")) hex(unhex("12")) hex(unhex("123")) hex(unhex("1234")) hex(unhex("12345")) hex(unhex("123456"))
|
||||
@ -408,17 +408,17 @@ bugstatus int(10) unsigned default NULL,
|
||||
submitter int(10) unsigned default NULL
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1,'Link',1,1,1,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','2001-02-28 08:40:16',20010228084016,0,4);
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') FROM t1;
|
||||
CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"')
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') as exp FROM t1;
|
||||
exp
|
||||
"Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4"
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') FROM t1;
|
||||
CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"')
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') as exp FROM t1;
|
||||
exp
|
||||
"Link";"1";"1";"1";"0";"4"
|
||||
SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) FROM t1;
|
||||
CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter)
|
||||
SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) as exp FROM t1;
|
||||
exp
|
||||
Link";"1";"1";"1";"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";"2001-02-28 08:40:16";"20010228084016";"0";"4
|
||||
SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') from t1 group by bugdesc;
|
||||
bugdesc REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb')
|
||||
SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') as exp from t1 group by bugdesc;
|
||||
bugdesc exp
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (id int(11) NOT NULL auto_increment, tmp text NOT NULL, KEY id (id)) ENGINE=MyISAM;
|
||||
@ -747,7 +747,7 @@ t1 CREATE TABLE `t1` (
|
||||
`bin(130)` varchar(64) DEFAULT NULL,
|
||||
`oct(130)` varchar(64) DEFAULT NULL,
|
||||
`conv(130,16,10)` varchar(64) DEFAULT NULL,
|
||||
`hex(130)` varchar(6) DEFAULT NULL,
|
||||
`hex(130)` varchar(16) DEFAULT NULL,
|
||||
`char(130)` varbinary(4) DEFAULT NULL,
|
||||
`format(130,10)` varchar(25) DEFAULT NULL,
|
||||
`left(_latin2'a',1)` varchar(1) CHARACTER SET latin2 COLLATE latin2_general_ci DEFAULT NULL,
|
||||
@ -2016,35 +2016,35 @@ hello
|
||||
select insert('hello', 4294967297, 4294967297, 'hi');
|
||||
insert('hello', 4294967297, 4294967297, 'hi')
|
||||
hello
|
||||
select insert('hello', -18446744073709551615, -18446744073709551615, 'hi');
|
||||
insert('hello', -18446744073709551615, -18446744073709551615, 'hi')
|
||||
select insert('hello', -18446744073709551615, -18446744073709551615, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '-18446744073709551615' to INT. Value truncated
|
||||
Warning 1916 Got overflow when converting '-18446744073709551615' to INT. Value truncated
|
||||
select insert('hello', 18446744073709551615, 18446744073709551615, 'hi');
|
||||
insert('hello', 18446744073709551615, 18446744073709551615, 'hi')
|
||||
select insert('hello', 18446744073709551615, 18446744073709551615, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
select insert('hello', -18446744073709551616, -18446744073709551616, 'hi');
|
||||
insert('hello', -18446744073709551616, -18446744073709551616, 'hi')
|
||||
select insert('hello', -18446744073709551616, -18446744073709551616, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '-18446744073709551616' to INT. Value truncated
|
||||
Warning 1916 Got overflow when converting '-18446744073709551616' to INT. Value truncated
|
||||
select insert('hello', 18446744073709551616, 18446744073709551616, 'hi');
|
||||
insert('hello', 18446744073709551616, 18446744073709551616, 'hi')
|
||||
select insert('hello', 18446744073709551616, 18446744073709551616, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '18446744073709551616' to INT. Value truncated
|
||||
Warning 1916 Got overflow when converting '18446744073709551616' to INT. Value truncated
|
||||
select insert('hello', -18446744073709551617, -18446744073709551617, 'hi');
|
||||
insert('hello', -18446744073709551617, -18446744073709551617, 'hi')
|
||||
select insert('hello', -18446744073709551617, -18446744073709551617, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '-18446744073709551617' to INT. Value truncated
|
||||
Warning 1916 Got overflow when converting '-18446744073709551617' to INT. Value truncated
|
||||
select insert('hello', 18446744073709551617, 18446744073709551617, 'hi');
|
||||
insert('hello', 18446744073709551617, 18446744073709551617, 'hi')
|
||||
select insert('hello', 18446744073709551617, 18446744073709551617, 'hi') as exp;
|
||||
exp
|
||||
hello
|
||||
Warnings:
|
||||
Warning 1916 Got overflow when converting '18446744073709551617' to INT. Value truncated
|
||||
@ -2766,25 +2766,25 @@ CREATE TABLE t1 (a VARCHAR(20), b INT);
|
||||
CREATE TABLE t2 (a VARCHAR(20), b INT);
|
||||
INSERT INTO t1 VALUES ('ABC', 1);
|
||||
INSERT INTO t2 VALUES ('ABC', 1);
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
exp
|
||||
secret
|
||||
SELECT DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
exp
|
||||
secret
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC')
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC') as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC')
|
||||
exp
|
||||
secret
|
||||
TRUNCATE TABLE t1;
|
||||
TRUNCATE TABLE t2;
|
||||
INSERT INTO t1 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1);
|
||||
INSERT INTO t2 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1);
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a) as exp
|
||||
FROM t2 WHERE t2.b = 1 GROUP BY t2.b;
|
||||
DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a)
|
||||
exp
|
||||
secret
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
@ -3066,10 +3066,8 @@ SELECT (rpad(1.0,2048,1)) IS NOT FALSE;
|
||||
1
|
||||
SELECT ((+0) IN
|
||||
((0b111111111111111111111111111111111111111111111111111),(rpad(1.0,2048,1)),
|
||||
(32767.1)));
|
||||
((+0) IN
|
||||
((0b111111111111111111111111111111111111111111111111111),(rpad(1.0,2048,1)),
|
||||
(32767.1)))
|
||||
(32767.1))) as exp;
|
||||
exp
|
||||
0
|
||||
SELECT ((rpad(1.0,2048,1)) = ('4(') ^ (0.1));
|
||||
((rpad(1.0,2048,1)) = ('4(') ^ (0.1))
|
||||
@ -5023,8 +5021,8 @@ DROP TABLE t1;
|
||||
#
|
||||
# MDEV-24742 Server crashes in Charset::numchars / String::numchars
|
||||
#
|
||||
SELECT NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux');
|
||||
NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux')
|
||||
SELECT NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux') as exp;
|
||||
exp
|
||||
NULL
|
||||
#
|
||||
# Bug#31374305 - FORMAT() NOT DISPLAYING WHOLE NUMBER SIDE CORRECTLY
|
||||
|
@ -28,14 +28,11 @@ select position(binary 'll' in 'hello'),position('a' in binary 'hello');
|
||||
# strange undocumented behaviour, strict mode
|
||||
#
|
||||
select left('hello',null), right('hello',null);
|
||||
select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5) ;
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) ;
|
||||
select left('hello',2),right('hello',2),substring('hello',2,2),mid('hello',1,5);
|
||||
select concat('',left(right(concat('what ',concat('is ','happening')),9),4),'',substring('monty',5,1)) as exp;
|
||||
select substring_index('www.tcx.se','.',-2),substring_index('www.tcx.se','.',1);
|
||||
select substring_index('www.tcx.se','tcx',1),substring_index('www.tcx.se','tcx',-1);
|
||||
select substring_index('.tcx.se','.',-2),substring_index('.tcx.se','.tcx',-1);
|
||||
--enable_view_protocol
|
||||
select substring_index('aaaaaaaaa1','a',1);
|
||||
select substring_index('aaaaaaaaa1','aa',1);
|
||||
select substring_index('aaaaaaaaa1','aa',2);
|
||||
@ -79,32 +76,28 @@ select substring_index('the king of the the hill','the',1);
|
||||
select substring_index('the king of the the hill','the',2);
|
||||
select substring_index('the king of the the hill','the',3);
|
||||
|
||||
select concat(':',ltrim(' left '),':',rtrim(' right '),':');
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':');
|
||||
select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':');
|
||||
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':');
|
||||
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':');
|
||||
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':');
|
||||
select concat(':',ltrim(' left '),':',rtrim(' right '),':') as exp;
|
||||
select concat(':',trim(leading from ' left '),':',trim(trailing from ' right '),':') as exp;
|
||||
select concat(':',trim(LEADING FROM ' left'),':',trim(TRAILING FROM ' right '),':') as exp;
|
||||
select concat(':',trim(' m '),':',trim(BOTH FROM ' y '),':',trim('*' FROM '*s*'),':') as exp;
|
||||
select concat(':',trim(BOTH 'ab' FROM 'ababmyabab'),':',trim(BOTH '*' FROM '***sql'),':') as exp;
|
||||
select concat(':',trim(LEADING '.*' FROM '.*my'),':',trim(TRAILING '.*' FROM 'sql.*.*'),':') as exp;
|
||||
select TRIM("foo" FROM "foo"), TRIM("foo" FROM "foook"), TRIM("foo" FROM "okfoo");
|
||||
--enable_view_protocol
|
||||
|
||||
select concat_ws(', ','monty','was here','again');
|
||||
select concat_ws(NULL,'a'),concat_ws(',',NULL,'');
|
||||
select concat_ws(',','',NULL,'a');
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"');
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',repeat('a',60),repeat('b',60),repeat('c',60),repeat('d',100)), '"') as exp;
|
||||
|
||||
select insert('txs',2,1,'hi'),insert('is ',4,0,'a'),insert('txxxxt',2,4,'es');
|
||||
select replace('aaaa','a','b'),replace('aaaa','aa','b'),replace('aaaa','a','bb'),replace('aaaa','','b'),replace('bbbb','a','c');
|
||||
--disable_view_protocol
|
||||
--enable_metadata
|
||||
select replace('aaaa','a','bbbb');
|
||||
--disable_metadata
|
||||
select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') ;
|
||||
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
|
||||
--enable_view_protocol
|
||||
select replace(concat(lcase(concat('THIS',' ','IS',' ','A',' ')),ucase('false'),' ','test'),'FALSE','REAL') as exp;
|
||||
select soundex(''),soundex('he'),soundex('hello all folks'),soundex('#3556 in bugdb');
|
||||
select 'mood' sounds like 'mud';
|
||||
select 'Glazgo' sounds like 'Liverpool';
|
||||
select null sounds like 'null';
|
||||
@ -137,32 +130,22 @@ select rpad('abcd',7),lpad('abcd',7);
|
||||
select LEAST(NULL,'HARRY','HARRIOT',NULL,'HAROLD'),GREATEST(NULL,'HARRY','HARRIOT',NULL,'HAROLD');
|
||||
select least(1,2,3) | greatest(16,32,8), least(5,4)*1,greatest(-1.0,1.0)*1,least(3,2,1)*1.0,greatest(1,1.1,1.0),least("10",9),greatest("A","B","0");
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000);
|
||||
--enable_view_protocol
|
||||
select decode(encode("abcdef","monty"),"monty")="abcdef";
|
||||
select decode(encode(repeat("a",100000),"monty"),"monty")=repeat("a",100000) as exp;
|
||||
select decode(encode("abcdef","monty"),"monty")="abcdef" as exp;
|
||||
|
||||
select quote('\'\"\\test');
|
||||
select quote(concat('abc\'', '\\cba'));
|
||||
select quote(1/0), quote('\0\Z');
|
||||
select length(quote(concat(char(0),"test")));
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235))));
|
||||
select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL);
|
||||
--enable_view_protocol
|
||||
select hex(quote(concat(char(224),char(227),char(230),char(231),char(232),char(234),char(235)))) as exp;
|
||||
select unhex(hex("foobar")), hex(unhex("1234567890ABCDEF")), unhex("345678"), unhex(NULL) as exp;
|
||||
select hex(unhex("1")), hex(unhex("12")), hex(unhex("123")), hex(unhex("1234")), hex(unhex("12345")), hex(unhex("123456"));
|
||||
select length(unhex(md5("abrakadabra")));
|
||||
|
||||
#
|
||||
# Bug #6564: QUOTE(NULL
|
||||
#
|
||||
|
||||
#enable after fix MDEV-28651
|
||||
--disable_view_protocol
|
||||
select concat('a', quote(NULL));
|
||||
--enable_view_protocol
|
||||
|
||||
#
|
||||
# Wrong usage of functions
|
||||
@ -211,14 +194,11 @@ CREATE TABLE t1 (
|
||||
submitter int(10) unsigned default NULL
|
||||
) ENGINE=MyISAM;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
INSERT INTO t1 VALUES (1,'Link',1,1,1,'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa','2001-02-28 08:40:16',20010228084016,0,4);
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') FROM t1;
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') FROM t1;
|
||||
SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) FROM t1;
|
||||
SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') from t1 group by bugdesc;
|
||||
--enable_view_protocol
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter), '"') as exp FROM t1;
|
||||
SELECT CONCAT('"',CONCAT_WS('";"',title,prio,category,program,bugstatus,submitter), '"') as exp FROM t1;
|
||||
SELECT CONCAT_WS('";"',title,prio,category,program,bugdesc,created,modified+0,bugstatus,submitter) as exp FROM t1;
|
||||
SELECT bugdesc, REPLACE(bugdesc, 'xxxxxxxxxxxxxxxxxxxx', 'bbbbbbbbbbbbbbbbbbbb') as exp from t1 group by bugdesc;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
@ -1138,15 +1118,12 @@ select insert('hello', -4294967296, -4294967296, 'hi');
|
||||
select insert('hello', 4294967296, 4294967296, 'hi');
|
||||
select insert('hello', -4294967297, -4294967297, 'hi');
|
||||
select insert('hello', 4294967297, 4294967297, 'hi');
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select insert('hello', -18446744073709551615, -18446744073709551615, 'hi');
|
||||
select insert('hello', 18446744073709551615, 18446744073709551615, 'hi');
|
||||
select insert('hello', -18446744073709551616, -18446744073709551616, 'hi');
|
||||
select insert('hello', 18446744073709551616, 18446744073709551616, 'hi');
|
||||
select insert('hello', -18446744073709551617, -18446744073709551617, 'hi');
|
||||
select insert('hello', 18446744073709551617, 18446744073709551617, 'hi');
|
||||
--enable_view_protocol
|
||||
select insert('hello', -18446744073709551615, -18446744073709551615, 'hi') as exp;
|
||||
select insert('hello', 18446744073709551615, 18446744073709551615, 'hi') as exp;
|
||||
select insert('hello', -18446744073709551616, -18446744073709551616, 'hi') as exp;
|
||||
select insert('hello', 18446744073709551616, 18446744073709551616, 'hi') as exp;
|
||||
select insert('hello', -18446744073709551617, -18446744073709551617, 'hi') as exp;
|
||||
select insert('hello', 18446744073709551617, 18446744073709551617, 'hi') as exp;
|
||||
|
||||
select repeat('hello', -1);
|
||||
select repeat('hello', -4294967295);
|
||||
@ -1491,17 +1468,14 @@ CREATE TABLE t2 (a VARCHAR(20), b INT);
|
||||
INSERT INTO t1 VALUES ('ABC', 1);
|
||||
INSERT INTO t2 VALUES ('ABC', 1);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
|
||||
SELECT DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', 'ABC') FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), t2.a) as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC')
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b), 'ABC') as exp
|
||||
FROM t1,t2 WHERE t1.b = t1.b > 0 GROUP BY t2.b;
|
||||
--enable_view_protocol
|
||||
|
||||
TRUNCATE TABLE t1;
|
||||
TRUNCATE TABLE t2;
|
||||
@ -1509,11 +1483,8 @@ TRUNCATE TABLE t2;
|
||||
INSERT INTO t1 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1);
|
||||
INSERT INTO t2 VALUES ('EDF', 3), ('BCD', 2), ('ABC', 1);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a)
|
||||
SELECT DECODE((SELECT ENCODE('secret', t1.a) FROM t1,t2 WHERE t1.a = t2.a GROUP BY t1.b LIMIT 1), t2.a) as exp
|
||||
FROM t2 WHERE t2.b = 1 GROUP BY t2.b;
|
||||
--enable_view_protocol
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
@ -1679,14 +1650,11 @@ SELECT CONV(1,-2147483648,-2147483648);
|
||||
--echo # Bug#12985030 SIMPLE QUERY WITH DECIMAL NUMBERS LEAKS MEMORY
|
||||
--echo #
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT (rpad(1.0,2048,1)) IS NOT FALSE;
|
||||
SELECT ((+0) IN
|
||||
((0b111111111111111111111111111111111111111111111111111),(rpad(1.0,2048,1)),
|
||||
(32767.1)));
|
||||
(32767.1))) as exp;
|
||||
SELECT ((rpad(1.0,2048,1)) = ('4(') ^ (0.1));
|
||||
--enable_view_protocol
|
||||
|
||||
--error 1690
|
||||
SELECT
|
||||
@ -2114,10 +2082,7 @@ DROP TABLE t1;
|
||||
--echo # MDEV-24742 Server crashes in Charset::numchars / String::numchars
|
||||
--echo #
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux');
|
||||
--enable_view_protocol
|
||||
SELECT NULL IN (RIGHT(AES_ENCRYPT('foo','bar'), LAST_INSERT_ID()), 'qux') as exp;
|
||||
|
||||
--echo #
|
||||
--echo # Bug#31374305 - FORMAT() NOT DISPLAYING WHOLE NUMBER SIDE CORRECTLY
|
||||
|
@ -162,17 +162,17 @@ cast(cast(@a as time(2)) as time(6))
|
||||
12:13:14.120000
|
||||
select CAST(@a AS DATETIME(7));
|
||||
ERROR 42000: Too big precision specified for '@`a`'. Maximum is 6
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00');
|
||||
CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00')
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00') as exp;
|
||||
exp
|
||||
2011-01-02 15:00:00
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00');
|
||||
CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00')
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00') as exp;
|
||||
exp
|
||||
2011-01-02 15:00:00.123
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00');
|
||||
CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00')
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00') as exp;
|
||||
exp
|
||||
2011-01-02 15:00:00.123456
|
||||
SELECT CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00');
|
||||
CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00')
|
||||
SELECT CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00') as exp;
|
||||
exp
|
||||
2010-10-10 13:10:10.1234
|
||||
create table t1 (a varchar(200));
|
||||
insert t1 values (now(6));
|
||||
|
@ -80,13 +80,10 @@ select CAST(@a AS DATETIME(7));
|
||||
#
|
||||
# CONVERT_TZ
|
||||
#
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00');
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00');
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00');
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
SELECT CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00');
|
||||
--enable_view_protocol
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00', '+00:00', '+03:00') as exp;
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123', '+00:00', '+03:00') as exp;
|
||||
SELECT CONVERT_TZ('2011-01-02 12:00:00.123456', '+00:00', '+03:00') as exp;
|
||||
SELECT CONVERT_TZ(CAST('2010-10-10 10:10:10.123456' AS DATETIME(4)), '+00:00', '+03:00') as exp;
|
||||
|
||||
#
|
||||
# Field::store_time()
|
||||
|
@ -238,30 +238,26 @@ dist buffer buf_area
|
||||
-1 POLYGON 16.00
|
||||
SELECT ST_CONTAINS(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)'));
|
||||
ST_CONTAINS(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)'))
|
||||
GeomFromText('POINT(5 10)')) as geom;
|
||||
geom
|
||||
0
|
||||
SELECT AsText(ST_UNION(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)')));
|
||||
AsText(ST_UNION(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)')))
|
||||
GeomFromText('POINT(5 10)'))) as geom;
|
||||
geom
|
||||
GEOMETRYCOLLECTION(POLYGON((0 0,0 5,5 5,5 0,0 0)),POLYGON((6 6,6 11,11 11,11 6,6 6)),POINT(5 10))
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# Bug #13833019 ASSERTION `T1->RESULT_RANGE' FAILED IN GCALC_OPERATION_REDUCER::END_COUPLE
|
||||
#
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3));
|
||||
GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3))
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3)) as geom;
|
||||
geom
|
||||
POLYGON
|
||||
#
|
||||
# Bug #13832749 HANDLE_FATAL_SIGNAL IN GCALC_FUNCTION::COUNT_INTERNAL
|
||||
#
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1));
|
||||
GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1))
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1)) as geom;
|
||||
geom
|
||||
POLYGON
|
||||
#
|
||||
# Bug#13358363 - ASSERTION: N > 0 && N < SINUSES_CALCULATED*2+1 | GET_N_SINCOS/ADD_EDGE_BUFFER
|
||||
@ -272,27 +268,21 @@ Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
SELECT ST_WITHIN(
|
||||
LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
|
||||
ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) '))));
|
||||
ST_WITHIN(
|
||||
LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
|
||||
ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) ')
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) ')))) as st;
|
||||
st
|
||||
0
|
||||
SELECT ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))));
|
||||
ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))))
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))')))) as st;
|
||||
st
|
||||
2
|
||||
SELECT ST_NUMINTERIORRINGS(
|
||||
ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))));
|
||||
ST_NUMINTERIORRINGS(
|
||||
ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))))
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) '))))) as st;
|
||||
st
|
||||
0
|
||||
SELECT ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))));
|
||||
ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))))
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) ')))) as st;
|
||||
st
|
||||
POLYGON((9 9,5 2,4 5,9 9))
|
||||
#
|
||||
# Start of 10.2 tests
|
||||
|
@ -1,21 +1,21 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))'));
|
||||
1 ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))'))
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 0, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))'));
|
||||
0 ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))'))
|
||||
select 0, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))')) as result;
|
||||
0 result
|
||||
0 0
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)'));
|
||||
1 ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)'))
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
1 ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'))
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 0, ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
0 ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'))
|
||||
select 0, ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
0 result
|
||||
0 0
|
||||
select 1, ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))'));
|
||||
1 ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))'))
|
||||
select 1, ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
create table t1 (g point);
|
||||
insert into t1 values
|
||||
@ -66,89 +66,89 @@ POINT(6 2)
|
||||
POINT(6 6)
|
||||
POINT(8 4)
|
||||
DROP TABLE t1;
|
||||
select 0, ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
0 ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'))
|
||||
select 0, ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
0 result
|
||||
0 0
|
||||
select 1, ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
1 ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'))
|
||||
select 1, ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 1, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)'));
|
||||
1 ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)'))
|
||||
select 1, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select 0, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)'));
|
||||
0 ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)'))
|
||||
select 0, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)')) as result;
|
||||
0 result
|
||||
0 1
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'));
|
||||
1 ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) as result;
|
||||
1 result
|
||||
1 1
|
||||
select astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')));
|
||||
astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')))
|
||||
select astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) as result;
|
||||
result
|
||||
POLYGON((0 0,1 2,2 0,0 0))
|
||||
select astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')));
|
||||
astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')))
|
||||
select astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) as result;
|
||||
result
|
||||
POINT(1 1)
|
||||
select ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'));
|
||||
ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))
|
||||
select ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) as result;
|
||||
result
|
||||
1
|
||||
select ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)'));
|
||||
ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)'))
|
||||
select ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)')) as result;
|
||||
result
|
||||
0
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))'));
|
||||
ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))'))
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')) as result;
|
||||
result
|
||||
1
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'));
|
||||
ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'))
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) as result;
|
||||
result
|
||||
0
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'));
|
||||
ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'))
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) as result;
|
||||
result
|
||||
1
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))'));
|
||||
ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))'))
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))')) as result;
|
||||
result
|
||||
0
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'))
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
result
|
||||
0.7071067811865475
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)'));
|
||||
ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)'))
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)')) as result;
|
||||
result
|
||||
0
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'))
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
result
|
||||
0
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)'));
|
||||
ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)'))
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)')) as result;
|
||||
result
|
||||
0.4472135954999579
|
||||
select ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'))
|
||||
select ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
result
|
||||
0.8944271909999159
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')));
|
||||
astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')))
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))) as result;
|
||||
result
|
||||
POLYGON((26.47058823529412 23.823529411764707,21.951219512195124 27.439024390243905,23.855421686746986 29.819277108433734,29.289940828402365 26.36094674556213,26.47058823529412 23.823529411764707))
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)')));
|
||||
astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)')))
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)'))) as result;
|
||||
result
|
||||
MULTIPOINT(26.47058823529412 23.823529411764707,29.289940828402365 26.36094674556213,21.951219512195124 27.439024390243905,23.855421686746986 29.819277108433734)
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)')));
|
||||
astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)')))
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)'))) as result;
|
||||
result
|
||||
POINT(29.289940828402365 26.36094674556213)
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)')));
|
||||
astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)')))
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)'))) as result;
|
||||
result
|
||||
POINT(20 20)
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)')));
|
||||
astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)')))
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)'))) as result;
|
||||
result
|
||||
LINESTRING(0 0,46.666666666666664 46.666666666666664)
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')))
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
result
|
||||
MULTILINESTRING((0 0,46.666666666666664 46.666666666666664),(8 10,45.33333333333333 47.33333333333333))
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')))
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(LINESTRING(-10 -10,0 0),LINESTRING(-11 -9,8 10),POLYGON((0 0,40 50,50 45,0 0)),LINESTRING(46.666666666666664 46.666666666666664,200 200,199 201,45.33333333333333 47.33333333333333))
|
||||
select astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')));
|
||||
astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')))
|
||||
select astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) as result;
|
||||
result
|
||||
POLYGON((0 0,0 1,0.5 0.5,0 0))
|
||||
select astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')));
|
||||
astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')))
|
||||
select astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) as result;
|
||||
result
|
||||
MULTIPOLYGON(((0 0,0.5 0.5,1 0,0 0)),((0.5 0.5,0 1,0 2,1 1,0.5 0.5)))
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')))
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(LINESTRING(-10 -10,0 0),LINESTRING(-11 -9,8 10),POLYGON((0 0,40 50,50 45,0 0)),LINESTRING(46.666666666666664 46.666666666666664,200 200,199 201,45.33333333333333 47.33333333333333))
|
||||
select astext(ST_buffer(geometryfromtext('point(1 1)'), 1));
|
||||
astext(ST_buffer(geometryfromtext('point(1 1)'), 1))
|
||||
@ -170,26 +170,26 @@ select ST_NUMPOINTS(ST_EXTERIORRING(@buff));
|
||||
ST_NUMPOINTS(ST_EXTERIORRING(@buff))
|
||||
202
|
||||
DROP TABLE t1;
|
||||
select st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)'));
|
||||
st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)'))
|
||||
select st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)'));
|
||||
st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)'))
|
||||
select st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)')) as result;
|
||||
result
|
||||
1
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))')) as result;
|
||||
result
|
||||
0
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))'));
|
||||
st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))'))
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))')) as result;
|
||||
result
|
||||
1
|
||||
SELECT ST_Equals(PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),PolyFromText('POLYGON((67 13, 67 18, 59 19, 59 13, 59 13, 67 13) )')) as result;
|
||||
result
|
||||
@ -226,16 +226,14 @@ SELECT ASTEXT(TOUCHES(@a, GEOMFROMTEXT('point(0 0)'))) t;
|
||||
ERROR HY000: Illegal parameter data type boolean for operation 'st_astext'
|
||||
SELECT astext(ST_UNION (
|
||||
PolyFromText('POLYGON(( 2 2 ,3 2,2 7,2 2),( 0 0,8 2,1 9,0 0))'),
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))')))));
|
||||
astext(ST_UNION (
|
||||
PolyFromText('POLYGON(( 2 2 ,3 2,2 7,2 2),( 0 0,8 2,1 9,0 0))'),
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))')))))
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))'))))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(POLYGON((0 0,1 9,8 2,0 0),(2 2,2 7,3 2,2 2)),LINESTRING(0.5555555555555556 5,0 5,0 0,5 0,5 1.25),LINESTRING(2 5,2.4 5))
|
||||
SELECT astext(ST_BUFFER(LineStringFromText('LINESTRING(0 0,1 1)'),0));
|
||||
astext(ST_BUFFER(LineStringFromText('LINESTRING(0 0,1 1)'),0))
|
||||
LINESTRING(0 0,1 1)
|
||||
SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5);
|
||||
Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5)
|
||||
SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5) as result;
|
||||
result
|
||||
78.68426
|
||||
SELECT ST_INTERSECTION(NULL, NULL);
|
||||
ST_INTERSECTION(NULL, NULL)
|
||||
@ -247,21 +245,14 @@ MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4))
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 4,2 5,3 5)),
|
||||
((2 2,9 2,0 2,2 6,2 2)),
|
||||
((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)),
|
||||
((9 9,6 8,7 0,9 9)))')));
|
||||
ASTEXT(ST_INTERSECTION(
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),
|
||||
((0 5,3 5,3 0,0 0,0 1,2 1,2 2,0 2,0 5), (1 3,2 3,2 4,1 4,1 3)),
|
||||
((2 2,5 2,4 4,2 8,2 2)))'),
|
||||
MULTIPOLY
|
||||
((9 9,6 8,7 0,9 9)))'))) as result;
|
||||
result
|
||||
POLYGON((0 2,1 4,1 3,2 3,2 4,1 4,1.5 5,2 5,2 8,8 8,8 2,0 2),(4 4,4 6,6 6,6 4,4 4))
|
||||
SELECT ROUND(ST_LENGTH(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((6 2,4 0,3 5,3 6,4 3,6 4,3 9,0 7,3 7,8 4,2 9,5 0),
|
||||
(8 2,1 3,9 0,4 4))'),
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6))'))), 7);
|
||||
ROUND(ST_LENGTH(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((6 2,4 0,3 5,3 6,4 3,6 4,3 9,0 7,3 7,8 4,2 9,5 0),
|
||||
(8 2,1 3,9 0,4 4))'),
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6)
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6))'))), 7) as result;
|
||||
result
|
||||
90.2783626
|
||||
SELECT ST_NUMGEOMETRIES((ST_UNION(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 0,4 2,0 2,1 5,0 3,7 0,8 5,5 8),
|
||||
@ -274,18 +265,13 @@ MULTILINESTRINGFROMTEXT('MULTILINESTRING((6 0,9 3,2 5,3 6,3 2),
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((7 7,3 7,3 1,7 8,7 7)),
|
||||
((3 5,2 4,2 5,3 5)),
|
||||
((7 7,8 7,3 7,7 7,7 7)),
|
||||
((0 5,3 5,3 4,1 4,1 3,3 3,3 0,0 0,0 5), (1 1,2 1,2 2,1 2,1 1)))'))));
|
||||
ST_NUMGEOMETRIES((ST_UNION(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 0,4 2,0 2,1 5,0 3,7 0,8 5,5 8),
|
||||
(6 2,4 0,3 5,3 6,4 3,6 4,3 9,0 7,3 7,8 4,2 9,5 0),
|
||||
|
||||
((0 5,3 5,3 4,1 4,1 3,3 3,3 0,0 0,0 5), (1 1,2 1,2 2,1 2,1 1)))')))) as result;
|
||||
result
|
||||
192
|
||||
SELECT Round(ST_AREA(ST_BUFFER( ST_UNION(
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 7 7, 7 4, 7 7, 7 7))'),
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6);
|
||||
Round(ST_AREA(ST_BUFFER( ST_UNION(
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 7 7, 7 4, 7 7, 7 7))'),
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6)
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6) as result;
|
||||
result
|
||||
21.901344
|
||||
SELECT AsText(ST_UNION(MultiPolygonFromText('
|
||||
MULTIPOLYGON(((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)),
|
||||
@ -294,21 +280,14 @@ SELECT AsText(ST_UNION(MultiPolygonFromText('
|
||||
MultiPolygonFromText(' MULTIPOLYGON(((0 0, 1 9, 4 6, 0 0)),
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1)),
|
||||
((7 7, 4 7, 6 3, 7 2, 7 7)),
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1))) ')));
|
||||
AsText(ST_UNION(MultiPolygonFromText('
|
||||
MULTIPOLYGON(((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)),
|
||||
((0 0, 8 3, 7 4, 0 0)),
|
||||
((2 2, 2 8, 8 8, 8 2, 2 2), (4 4, 4 6, 6 6, 6 4, 4 4)))'),
|
||||
MultiPolygonFr
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1))) '))) as result;
|
||||
result
|
||||
POLYGON((0 0,0 5,0.5555555555555556 5,1 9,2 8,8 8,8 2,5.333333333333334 2,3 1.125,3 0,0 0),(1 1,1 1.5,1.3333333333333333 2,2 2,2 1.1428571428571428,1.75 1,1 1),(3 1.7142857142857142,3 2,3.5 2,3 1.7142857142857142),(4 4,4 6,4.5 6,5.5 4,4 4))
|
||||
SELECT AsText(ST_SYMDIFFERENCE(
|
||||
MultiLineStringFromText('MULTILINESTRING((7 7, 1 7, 8 5, 7 8, 7 7),
|
||||
(6 3, 3 4, 1 1, 9 9, 9 0, 8 4, 9 9))'),
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)'))));
|
||||
AsText(ST_SYMDIFFERENCE(
|
||||
MultiLineStringFromText('MULTILINESTRING((7 7, 1 7, 8 5, 7 8, 7 7),
|
||||
(6 3, 3 4, 1 1, 9 9, 9 0, 8 4, 9 9))'),
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)'))))
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)')))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(POLYGON((0 0,0 9,7 9,7 0,0 0)),LINESTRING(9 9,8 4,9 0,9 9),LINESTRING(7 5.285714285714286,8 5,7.25 7.25),LINESTRING(7 7,7.25 7.25),LINESTRING(7.25 7.25,7 8),LINESTRING(7.25 7.25,9 9))
|
||||
SELECT AsText(ST_UNION(
|
||||
MultiPolygonFromText('MULTIPOLYGON(((9 9, 7 9, 1 1, 9 9)),
|
||||
@ -316,50 +295,38 @@ MultiPolygonFromText('MULTIPOLYGON(((9 9, 7 9, 1 1, 9 9)),
|
||||
((0 0, 7 5, 9 6, 0 0)),
|
||||
((7 7, 5 7, 1 5, 7 1, 7 7)))'),
|
||||
MultiPolygonFromText('MULTIPOLYGON(((2 2, 2 2, 1 5, 2 7, 2 2)),
|
||||
((0 5, 3 5, 3 0, 0 0, 0 5), (1 1, 2 1, 2 4, 1 4, 1 1)))')));
|
||||
AsText(ST_UNION(
|
||||
MultiPolygonFromText('MULTIPOLYGON(((9 9, 7 9, 1 1, 9 9)),
|
||||
((2 2, 1 2, 3 3, 2 2, 2 2)),
|
||||
((0 0, 7 5, 9 6, 0 0)),
|
||||
|
||||
((0 5, 3 5, 3 0, 0 0, 0 5), (1 1, 2 1, 2 4, 1 4, 1 1)))'))) as result;
|
||||
result
|
||||
POLYGON((0 0,0 5,1 5,2 7,2 5.5,5 7,5.5 7,7 9,9 9,7 7,7 5,9 6,7 4.666666666666667,7 1,4.25 2.833333333333333,3 2,3 0,0 0),(1 1,1 4,1.3333333333333333 4,1.8571428571428572 2.4285714285714284,1 2,1.75 2,1 1,2 2,2 1.4285714285714284,1.4 1,1 1),(1.5 1,2 1.3333333333333333,2 1,1.5 1),(3 2.142857142857143,3 3,3.4 3.4,4.1034482758620685 2.9310344827586206,3 2.142857142857143))
|
||||
SELECT AsText( ST_INTERSECTION(
|
||||
LinestringFromText('LINESTRING( 3 5, 2 5, 2 4, 3 4, 3 5 ) ') ,
|
||||
LinestringFromText('LINESTRING( 3 5, 2 4, 2 5, 3 5 ) ')
|
||||
));
|
||||
AsText( ST_INTERSECTION(
|
||||
LinestringFromText('LINESTRING( 3 5, 2 5, 2 4, 3 4, 3 5 ) ') ,
|
||||
LinestringFromText('LINESTRING( 3 5, 2 4, 2 5, 3 5 ) ')
|
||||
))
|
||||
)) as result;
|
||||
result
|
||||
LINESTRING(2 4,2 5,3 5)
|
||||
SELECT AsText( ST_UNION(
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 7 5 , 2 0 , 2 2 ) ) ') ,
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) );
|
||||
AsText( ST_UNION(
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 7 5 , 2 0 , 2 2 ) ) ') ,
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) )
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) ) as result;
|
||||
result
|
||||
POLYGON((2 0,2 5,3 3,3 2,7 5,2 0))
|
||||
SELECT AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)')));
|
||||
AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)')))
|
||||
SELECT AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION EMPTY
|
||||
SELECT AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))')));
|
||||
AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))')))
|
||||
SELECT AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(POINT(8 1),LINESTRING(2 4,2 5,3 5,3 4,2 4))
|
||||
SELECT ST_DISTANCE(POINTFROMTEXT('POINT(7 1)'),MULTILINESTRINGFROMTEXT('MULTILINESTRING(
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))'));
|
||||
ST_DISTANCE(POINTFROMTEXT('POINT(7 1)'),MULTILINESTRINGFROMTEXT('MULTILINESTRING(
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))'))
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))')) as result;
|
||||
result
|
||||
1
|
||||
SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))')));
|
||||
AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))')))
|
||||
SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION(POLYGON((2 0,2 2,3 2,3 6,12 9,3 0,3 1,2 0)),LINESTRING(5 2,7 2))
|
||||
SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 2 5, 7 6, 1 8),(0 0 ,1 6 ,0 1, 8 9, 2 4, 6 1, 3 5, 4 8), (9 3, 5 4, 1 8, 4 2, 5 8, 3 0))' ) ,
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 3 1, 2 7, 4 2, 6 2, 1 5))')
|
||||
), 16)));
|
||||
ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 2 5, 7 6, 1 8),(0 0 ,1 6 ,0 1, 8 9, 2 4, 6 1, 3 5, 4 8), (9 3, 5 4, 1 8, 4 2, 5 8, 3 0))' ) ,
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 3 1, 2 7, 4 2, 6 2
|
||||
), 16))) as result;
|
||||
result
|
||||
278
|
||||
SELECT ST_NUMGEOMETRIES(ST_DIFFERENCE (
|
||||
ST_UNION (
|
||||
@ -372,10 +339,8 @@ MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' )
|
||||
)
|
||||
),
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 2 9 , 1 3 , 7 3 , 8 5 ) , ( 5 0 , 8 1 , 2 0 , 7 4 , 1 0 ) , ( 9 2 , 5 2 , 6 5 , 8 8 , 0 2 ) , ( 0 8 , 3 9 , 4 0 , 1 0 ) , ( 0 0 , 7 6 , 8 3 , 0 0 ) ) ' )
|
||||
));
|
||||
ST_NUMGEOMETRIES(ST_DIFFERENCE (
|
||||
ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 2 4 , 5 0 , 2 9 , 6 2 , 0 2 ) , ( 4 3 , 5 6 , 9 4 , 0 7 , 7 2 , 2 0 , 8 2 ) , ( 5 0 , 1 5 , 3 7 , 7 7 ) , ( 2 3 , 9 5 , 2 0 , 8 1 ) , ( 0 9 , 9 3 , 2 8 , 8 1 , 9 4 )
|
||||
)) as result;
|
||||
result
|
||||
125
|
||||
SELECT ASTEXT(ST_DIFFERENCE (
|
||||
POLYGONFROMTEXT( ' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ' ) ,
|
||||
@ -389,21 +354,14 @@ GEOMETRYFROMTEXT( ' MULTILINESTRING( ( 3 7 , 7 3 , 5 8 , 4 8 ) , ( 3 2 , 5 0 , 9
|
||||
)
|
||||
)
|
||||
)
|
||||
));
|
||||
ASTEXT(ST_DIFFERENCE (
|
||||
POLYGONFROMTEXT( ' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ' ) ,
|
||||
ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ' ) ,
|
||||
ST_SYMDIFFERENCE (
|
||||
MULTILINESTRINGFROMTEX
|
||||
)) as result;
|
||||
result
|
||||
POLYGON((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4))
|
||||
SELECT ST_NUMGEOMETRIES(ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 0 8 , 1 9 , 5 7 , 2 8 , 5 8 , 6 7 ) , ( 4 5 , 8 4 , 0 3 , 5 1 ) , ( 6 8 , 2 7 , 1 6 , 9 9 , 7 2 ) , ( 9 5 , 2 8 , 1 2 , 9 6 , 2 0 ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 7 7 , 2 7, 6 8, 7 1 , 7 7 ) ) ) ' )
|
||||
));
|
||||
ST_NUMGEOMETRIES(ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 0 8 , 1 9 , 5 7 , 2 8 , 5 8 , 6 7 ) , ( 4 5 , 8 4 , 0 3 , 5 1 ) , ( 6 8 , 2 7 , 1 6 , 9 9 , 7 2 ) , ( 9 5 , 2 8 , 1 2 , 9 6 , 2 0 ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (
|
||||
)) as result;
|
||||
result
|
||||
50
|
||||
SELECT ST_BUFFER (
|
||||
LINESTRINGFROMTEXT( ' LINESTRING( 5 4 , 3 8 , 2 6 , 5 5 , 7 9 ) ' ) ,
|
||||
@ -414,49 +372,50 @@ MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' )
|
||||
)
|
||||
)
|
||||
) ;
|
||||
ST_BUFFER (
|
||||
LINESTRINGFROMTEXT( ' LINESTRING( 5 4 , 3 8 , 2 6 , 5 5 , 7 9 ) ' ) ,
|
||||
ST_DISTANCE (
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' ) ,
|
||||
) as result;
|
||||
result
|
||||
NULL
|
||||
SELECT ST_DISTANCE (
|
||||
ST_DIFFERENCE (
|
||||
MULTIPOL
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' )
|
||||
),
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' )
|
||||
) as result;
|
||||
result
|
||||
NULL
|
||||
SELECT ST_DISTANCE ( ST_DIFFERENCE ( MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) , MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' ) ), MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' ) ) ;
|
||||
ST_DISTANCE ( ST_DIFFERENCE ( MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) , MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 ,
|
||||
NULL
|
||||
SELECT ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5)))'), geomETRYFROMTEXT(' MULTILINESTRING( ( 5 1 , 3 7 , 6 1 , 7 0 ) , ( 1 6 , 8 5 , 7 5 , 5 6 ) )') ));
|
||||
ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))
|
||||
SELECT ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5)))'), geomETRYFROMTEXT(' MULTILINESTRING( ( 5 1 , 3 7 , 6 1 , 7 0 ) , ( 1 6 , 8 5 , 7 5 , 5 6 ) )') )) as result;
|
||||
result
|
||||
MULTIPOINT(7 5,7 5.142857142857142,5.899999999999998 5.300000000000001,5.799999999999997 5.600000000000001,3 7)
|
||||
SELECT ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) '));
|
||||
ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) '))
|
||||
SELECT ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) ')) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') );
|
||||
ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') )
|
||||
SELECT ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') ) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) '));
|
||||
ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) '))
|
||||
SELECT ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) ')) as result;
|
||||
result
|
||||
1
|
||||
select ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY')));
|
||||
ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY')))
|
||||
select ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY'))) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION EMPTY
|
||||
SELECT ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') );
|
||||
ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') )
|
||||
SELECT ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') ) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') );
|
||||
ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') )
|
||||
SELECT ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') ) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') );
|
||||
ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') )
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') ) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') );
|
||||
ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') )
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') ) as result;
|
||||
result
|
||||
1
|
||||
SELECT ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) '));
|
||||
ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) '))
|
||||
SELECT ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ')) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29)') );
|
||||
ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,
|
||||
SELECT ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29)') ) as result;
|
||||
result
|
||||
1
|
||||
SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER( POLYGONFROMTEXT( 'POLYGON( ( 0.0 -3.0,
|
||||
-2.910427500435995 0.727606875108998,
|
||||
@ -464,26 +423,20 @@ SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER( POLYGONFROMTEXT( 'POLYGON( ( 0.0
|
||||
7.664100588675687 1.503849116986468,
|
||||
1.664100588675687 -2.496150883013531,
|
||||
0.0 -3.0
|
||||
))' ), 3 )));
|
||||
ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER( POLYGONFROMTEXT( 'POLYGON( ( 0.0 -3.0,
|
||||
-2.910427500435995 0.727606875108998,
|
||||
-0.910427500435995 8.727606875108998,
|
||||
7.664100588675687 1.503849116986468,
|
||||
1.664100588675687 -2.496150883013531,
|
||||
0.0 -3.0
|
||||
))' ),
|
||||
))' ), 3 ))) as result;
|
||||
result
|
||||
136
|
||||
select astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1));
|
||||
astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1))
|
||||
select astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1)) as result;
|
||||
result
|
||||
GEOMETRYCOLLECTION EMPTY
|
||||
select ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)'));
|
||||
ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)'))
|
||||
select ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
result
|
||||
1
|
||||
select ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)'));
|
||||
ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)'))
|
||||
select ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
result
|
||||
1
|
||||
select ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)'));
|
||||
ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)'))
|
||||
select ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
result
|
||||
0
|
||||
SELECT ST_RELATE(
|
||||
ST_DIFFERENCE(
|
||||
@ -750,30 +703,26 @@ dist buffer buf_area
|
||||
-1 POLYGON 16.00
|
||||
SELECT ST_CONTAINS(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)'));
|
||||
ST_CONTAINS(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)'))
|
||||
GeomFromText('POINT(5 10)')) as geom;
|
||||
geom
|
||||
0
|
||||
SELECT AsText(ST_UNION(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)')));
|
||||
AsText(ST_UNION(
|
||||
GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)),((6 6, 6 11, 11 11, 11 6, 6 6)))'),
|
||||
GeomFromText('POINT(5 10)')))
|
||||
GeomFromText('POINT(5 10)'))) as geom;
|
||||
geom
|
||||
GEOMETRYCOLLECTION(POLYGON((0 0,0 5,5 5,5 0,0 0)),POLYGON((6 6,6 11,11 11,11 6,6 6)),POINT(5 10))
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# Bug #13833019 ASSERTION `T1->RESULT_RANGE' FAILED IN GCALC_OPERATION_REDUCER::END_COUPLE
|
||||
#
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3));
|
||||
GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3))
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((0 0,9 4,3 3,0 0)),((2 2,2 2,8 8,2 3,2 2)))'), 3)) as geom;
|
||||
geom
|
||||
POLYGON
|
||||
#
|
||||
# Bug #13832749 HANDLE_FATAL_SIGNAL IN GCALC_FUNCTION::COUNT_INTERNAL
|
||||
#
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1));
|
||||
GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1))
|
||||
SELECT GeometryType(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)), ((9 9,8 1,1 5,9 9)))'),1)) as geom;
|
||||
geom
|
||||
POLYGON
|
||||
#
|
||||
# Bug#13358363 - ASSERTION: N > 0 && N < SINUSES_CALCULATED*2+1 | GET_N_SINCOS/ADD_EDGE_BUFFER
|
||||
@ -784,27 +733,21 @@ Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
SELECT ST_WITHIN(
|
||||
LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
|
||||
ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) '))));
|
||||
ST_WITHIN(
|
||||
LINESTRINGFROMTEXT(' LINESTRING(3 8,9 2,3 8,3 3,7 6,4 7,4 7,8 1) '),
|
||||
ST_BUFFER(MULTIPOLYGONFROMTEXT(' MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5)),((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5))) ')
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT('POLYGON((3 5,2 4,2 5,3 5)) ')))) as st;
|
||||
st
|
||||
0
|
||||
SELECT ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))));
|
||||
ST_DIMENSION(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((3 5,2 5,2 4,3 4,3 5)) '),
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))'))))
|
||||
ST_NUMINTERIORRINGS(POLYGONFROMTEXT(' POLYGON((0 0,9 3,4 2,0 0))')))) as st;
|
||||
st
|
||||
2
|
||||
SELECT ST_NUMINTERIORRINGS(
|
||||
ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))));
|
||||
ST_NUMINTERIORRINGS(
|
||||
ST_ENVELOPE(ST_BUFFER(MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 5,2 4,3 4,3 5))) '),
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) ')))))
|
||||
SRID(MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 2,4 2,1 2,2 4,2 2)) '))))) as st;
|
||||
st
|
||||
0
|
||||
SELECT ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))));
|
||||
ASTEXT(ST_BUFFER(POLYGONFROMTEXT(' POLYGON((9 9,5 2,4 5,9 9))'),
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) '))))
|
||||
SRID(GEOMETRYFROMTEXT(' MULTIPOINT(8 4,5 0,7 8,6 9,3 4,7 3,5 5) ')))) as st;
|
||||
st
|
||||
POLYGON((9 9,5 2,4 5,9 9))
|
||||
#
|
||||
# MDEV-13467 Feature request: Support for ST_Distance_Sphere()
|
||||
@ -832,74 +775,74 @@ ERROR 22023: Invalid GIS data provided to function ST_Distance_Sphere.
|
||||
SELECT ST_DISTANCE_SPHERE(1, 1, NULL);
|
||||
ST_DISTANCE_SPHERE(1, 1, NULL)
|
||||
NULL
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)')) as result;
|
||||
ERROR HY000: Internal error: st_distance_sphere
|
||||
# Test Points and radius
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10) as result;
|
||||
result
|
||||
157225.0865419108
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 0);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 0) as result;
|
||||
ERROR HY000: Internal error: Radius must be greater than zero.
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), -1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), -1) as result;
|
||||
ERROR HY000: Internal error: Radius must be greater than zero.
|
||||
# Test longitude/lattitude
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10) as result;
|
||||
result
|
||||
157225.0865419108
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10) as result;
|
||||
result
|
||||
222355.4901806686
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10) as result;
|
||||
result
|
||||
222389.3645969269
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
# Test Points - Multipoints
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)')) as result;
|
||||
result
|
||||
157249.0357231545
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1);
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1)
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1) as result;
|
||||
result
|
||||
0.024682056391766436
|
||||
# Test Multipoints - Multipoints
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'));
|
||||
ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'))
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')) as result;
|
||||
result
|
||||
0
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10) as result;
|
||||
result
|
||||
314282.5644496733
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10) as result;
|
||||
result
|
||||
314282.5644496733
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17);
|
||||
TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17)
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17) as result;
|
||||
result
|
||||
0.04933028646581131
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),0);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),0) as result;
|
||||
ERROR HY000: Internal error: Radius must be greater than zero.
|
||||
set @pt1 = ST_GeomFromText('POINT(190 -30)');
|
||||
set @pt2 = ST_GeomFromText('POINT(-30 50)');
|
||||
|
@ -9,15 +9,12 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))'));
|
||||
select 0, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))'));
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)'));
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
select 0, ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
select 1, ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))'));
|
||||
--enable_view_protocol
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 0,20 20,0 20,0 0))'), GeomFromText('POLYGON((10 10,30 10,30 30,10 30,10 10))')) as result;
|
||||
select 0, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 40, 40 50, 20 70, 10 40))')) as result;
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POINT(10 10)')) as result;
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
select 0, ST_Within(GeomFromText('POLYGON((0 0,20 10,10 30, 0 0))'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
select 1, ST_Within(GeomFromText('POLYGON((1 1,20 10,10 30, 1 1))'), GeomFromText('POLYGON((0 0,30 5,10 40, 0 0))')) as result;
|
||||
|
||||
create table t1 (g point);
|
||||
insert into t1 values
|
||||
@ -38,53 +35,49 @@ select astext(g) from t1 where ST_Contains(GeomFromText('POLYGON((5 1, 7 1, 7 7,
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
select 0, ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
select 1, ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))'));
|
||||
select 0, ST_Within(GeomFromText('LINESTRING(15 15, 50 50, 60 60)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
select 1, ST_Within(GeomFromText('LINESTRING(15 15, 16 16)'), GeomFromText('POLYGON((10 10,30 20,20 40, 10 10))')) as result;
|
||||
|
||||
|
||||
select 1, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)'));
|
||||
select 0, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)'));
|
||||
select 1, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(50 15, 15 50)')) as result;
|
||||
select 0, ST_Intersects(GeomFromText('LINESTRING(15 15, 50 50)'), GeomFromText('LINESTRING(16 16, 51 51)')) as result;
|
||||
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'));
|
||||
select 1, ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) as result;
|
||||
|
||||
select astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')));
|
||||
select astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))')));
|
||||
select astext(ST_Union(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) as result;
|
||||
select astext(ST_Intersection(geometryfromtext('point(1 1)'), geometryfromtext('polygon((0 0, 2 0, 1 2, 0 0))'))) as result;
|
||||
|
||||
select ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'));
|
||||
select ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)'));
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))'));
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'));
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))'));
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))'));
|
||||
select ST_Intersects(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')) as result;
|
||||
select ST_contains(GeomFromText('MULTIPOLYGON(((0 0, 0 5, 5 5, 5 0, 0 0)), ((6 6, 6 11, 11 11, 11 6, 6 6)))'), GeomFromText('POINT(5 10)')) as result;
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 15, 15 15, 15 10, 10 10))')) as result;
|
||||
select ST_Disjoint(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) as result;
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((10 10, 10 4, 4 4, 4 10, 10 10))')) as result;
|
||||
select ST_Overlaps(GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))'), GeomFromText('POLYGON((1 1, 1 4, 4 4, 4 1, 1 1))')) as result;
|
||||
|
||||
# Distance tests
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)'));
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)'));
|
||||
select ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))'));
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 1 2, 2 1, 0 0))'), geomfromtext('linestring(0 1, 1 0)')) as result;
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0))'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
select ST_DISTANCE(geomfromtext('polygon((0 0, 3 6, 6 3, 0 0),(2 2, 3 4, 4 3, 2 2))'), geomfromtext('point(3 3)')) as result;
|
||||
select ST_DISTANCE(geomfromtext('linestring(0 0, 3 6, 6 3, 0 0)'), geomfromtext('polygon((2 2, 3 4, 4 3, 2 2))')) as result;
|
||||
|
||||
|
||||
# Operations tests
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))')));
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)')));
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)')));
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)')));
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)')));
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POLYGON((50 5, 55 10, 0 45, 50 5))'))) as result;
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50, 0 0)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45, 50 5)'))) as result;
|
||||
select astext(ST_Intersection(GeomFromText('LINESTRING(0 0, 50 45, 40 50)'), GeomFromText('LINESTRING(50 5, 55 10, 0 45)'))) as result;
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('POINT(20 20)'))) as result;
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200)'))) as result;
|
||||
--replace_result 7.999999999999999 8
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
select astext(ST_Intersection(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
--replace_result 7.999999999999999 8
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
|
||||
select astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')));
|
||||
select astext(ST_intersection(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) as result;
|
||||
|
||||
select astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))')));
|
||||
select astext(ST_symdifference(geomfromtext('polygon((0 0, 1 0, 0 1, 0 0))'), geomfromtext('polygon((0 0, 1 1, 0 2, 0 0))'))) as result;
|
||||
--replace_result 7.999999999999999 8
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)')));
|
||||
|
||||
--enable_view_protocol
|
||||
select astext(ST_UNION(GeomFromText('POLYGON((0 0, 50 45, 40 50, 0 0))'), GeomFromText('LINESTRING(-10 -10, 200 200, 199 201, -11 -9)'))) as result;
|
||||
|
||||
# Buffer() tests
|
||||
--replace_result 0012045437948276 00120454379482759
|
||||
@ -103,25 +96,20 @@ select ST_NUMPOINTS(ST_EXTERIORRING(@buff));
|
||||
# cleanup
|
||||
DROP TABLE t1;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
#Touches tests
|
||||
select st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)'));
|
||||
select st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))'));
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))'));
|
||||
select st_touches(geomfromtext('point(0 0)'), geomfromtext('point(1 1)')) as result;
|
||||
select st_touches(geomfromtext('point(1 1)'), geomfromtext('point(1 1)')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 1)')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 0)')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('point(1 2)')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1.2, 1 0, 2 0, 1 1.2))')) as result;
|
||||
select st_touches(geomfromtext('polygon((0 0, 2 2, 0 4, 0 0))'), geomfromtext('polygon((1 1, 1 0, 2 0, 1 1))')) as result;
|
||||
|
||||
#Equals test
|
||||
SELECT ST_Equals(PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),PolyFromText('POLYGON((67 13, 67 18, 59 19, 59 13, 59 13, 67 13) )')) as result;
|
||||
SELECT ST_Equals(PolyFromText('POLYGON((67 13, 67 18, 67 18, 59 18, 59 13, 67 13) )'),PolyFromText('POLYGON((67 13, 67 18, 59 18, 59 13, 59 13, 67 13) )')) as result;
|
||||
SELECT ST_Equals(PointFromText('POINT (12 13)'),PointFromText('POINT (12 13)')) as result;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
--echo #
|
||||
--echo # BUG#11755628/47429: INTERSECTION FUNCTION CRASHED MYSQLD
|
||||
--echo # BUG#11759650/51979: UNION/INTERSECTION OF POLYGONS CRASHES MYSQL
|
||||
@ -150,30 +138,19 @@ SELECT ASTEXT(TOUCHES(@a, GEOMFROMTEXT('point(0 0)'))) t;
|
||||
|
||||
# bug #801243 Assertion `(0)' failed in Gis_geometry_collection::init_from_opresult on ST_UNION
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
SELECT astext(ST_UNION (
|
||||
PolyFromText('POLYGON(( 2 2 ,3 2,2 7,2 2),( 0 0,8 2,1 9,0 0))'),
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))')))));
|
||||
|
||||
--enable_view_protocol
|
||||
ExteriorRing( Envelope( MultiLineStringFromText('MULTILINESTRING((3 4,5 3),(3 0,0 5))'))))) as result;
|
||||
|
||||
#bug 801189 ST_BUFFER asserts if radius = 0
|
||||
SELECT astext(ST_BUFFER(LineStringFromText('LINESTRING(0 0,1 1)'),0));
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
#bug 801199 Infinite recursion in Gcalc_function::count_internal with ST_BUFFER over MULTIPOINT
|
||||
SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5);
|
||||
--enable_view_protocol
|
||||
SELECT Round(ST_Area(ST_BUFFER(MultipointFromText('MULTIPOINT(7 7,3 7,7 2,7 4 ,7 7)'), 3)), 5) as result;
|
||||
|
||||
#bug 801212 Assertion with ST_INTERSECTION on NULL values
|
||||
SELECT ST_INTERSECTION(NULL, NULL);
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
|
||||
#bug 804305 Crash in wkb_get_double with ST_INTERSECTION
|
||||
SELECT ASTEXT(ST_INTERSECTION(
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((2 2,2 8,8 8,8 2,2 2),(4 4,4 6,6 6,6 4,4 4)),
|
||||
@ -182,14 +159,14 @@ SELECT ASTEXT(ST_INTERSECTION(
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((3 5,2 4,2 5,3 5)),
|
||||
((2 2,9 2,0 2,2 6,2 2)),
|
||||
((2 2,2 8,8 8,8 2,2 2), (4 4,4 6,6 6,6 4,4 4)),
|
||||
((9 9,6 8,7 0,9 9)))')));
|
||||
((9 9,6 8,7 0,9 9)))'))) as result;
|
||||
|
||||
#bug 804324 Assertion 0 in Gcalc_scan_iterator::pop_suitable_intersection
|
||||
|
||||
SELECT ROUND(ST_LENGTH(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((6 2,4 0,3 5,3 6,4 3,6 4,3 9,0 7,3 7,8 4,2 9,5 0),
|
||||
(8 2,1 3,9 0,4 4))'),
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6))'))), 7);
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 5,6 7,9 7,5 2,1 6,3 6))'))), 7) as result;
|
||||
|
||||
SELECT ST_NUMGEOMETRIES((ST_UNION(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((2 0,4 2,0 2,1 5,0 3,7 0,8 5,5 8),
|
||||
@ -202,13 +179,13 @@ SELECT ST_NUMGEOMETRIES((ST_UNION(ST_UNION(
|
||||
MULTIPOLYGONFROMTEXT('MULTIPOLYGON(((7 7,3 7,3 1,7 8,7 7)),
|
||||
((3 5,2 4,2 5,3 5)),
|
||||
((7 7,8 7,3 7,7 7,7 7)),
|
||||
((0 5,3 5,3 4,1 4,1 3,3 3,3 0,0 0,0 5), (1 1,2 1,2 2,1 2,1 1)))'))));
|
||||
((0 5,3 5,3 4,1 4,1 3,3 3,3 0,0 0,0 5), (1 1,2 1,2 2,1 2,1 1)))')))) as result;
|
||||
|
||||
#bug #805860 Second assertion Assertion `n > 0 && n < SINUSES_CALCULATED*2+1' in get_n_sinco
|
||||
|
||||
SELECT Round(ST_AREA(ST_BUFFER( ST_UNION(
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 7 7, 7 4, 7 7, 7 7))'),
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6);
|
||||
POLYGONFROMTEXT('POLYGON((7 7, 4 7, 2 9, 7 6, 7 7))')), 1)), 6) as result;
|
||||
|
||||
|
||||
#bug #804259 Second assertion in Gis_geometry_collection::init_from_opresult
|
||||
@ -220,7 +197,7 @@ SELECT AsText(ST_UNION(MultiPolygonFromText('
|
||||
MultiPolygonFromText(' MULTIPOLYGON(((0 0, 1 9, 4 6, 0 0)),
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1)),
|
||||
((7 7, 4 7, 6 3, 7 2, 7 7)),
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1))) ')));
|
||||
((0 5, 3 5, 3 4, 1 4, 1 3, 3 3, 3 0, 0 0, 0 5), (1 1, 2 1, 2 2, 1 2, 1 1))) '))) as result;
|
||||
|
||||
|
||||
#bug 801217 Assertion `t1->result_range' in Gcalc_operation_reducer::end_couple
|
||||
@ -228,7 +205,7 @@ MultiPolygonFromText(' MULTIPOLYGON(((0 0, 1 9, 4 6, 0 0)),
|
||||
SELECT AsText(ST_SYMDIFFERENCE(
|
||||
MultiLineStringFromText('MULTILINESTRING((7 7, 1 7, 8 5, 7 8, 7 7),
|
||||
(6 3, 3 4, 1 1, 9 9, 9 0, 8 4, 9 9))'),
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)'))));
|
||||
Envelope(GeometryFromText('MULTIPOINT(7 9, 0 0, 3 7, 1 6, 0 0)')))) as result;
|
||||
|
||||
#bug 804266 Memory corruption/valgrind warning/crash in move_hole() with ST_UNION
|
||||
|
||||
@ -238,34 +215,34 @@ SELECT AsText(ST_UNION(
|
||||
((0 0, 7 5, 9 6, 0 0)),
|
||||
((7 7, 5 7, 1 5, 7 1, 7 7)))'),
|
||||
MultiPolygonFromText('MULTIPOLYGON(((2 2, 2 2, 1 5, 2 7, 2 2)),
|
||||
((0 5, 3 5, 3 0, 0 0, 0 5), (1 1, 2 1, 2 4, 1 4, 1 1)))')));
|
||||
((0 5, 3 5, 3 0, 0 0, 0 5), (1 1, 2 1, 2 4, 1 4, 1 1)))'))) as result;
|
||||
|
||||
#bug 802376 ST_INTERSECTION returns wrong result on two overlapping linestrings in maria-5.3-gis
|
||||
|
||||
SELECT AsText( ST_INTERSECTION(
|
||||
LinestringFromText('LINESTRING( 3 5, 2 5, 2 4, 3 4, 3 5 ) ') ,
|
||||
LinestringFromText('LINESTRING( 3 5, 2 4, 2 5, 3 5 ) ')
|
||||
));
|
||||
)) as result;
|
||||
|
||||
#bug 801560 ST_UNION of adjacent polygons includes extra line in maria-5.3-gis
|
||||
|
||||
SELECT AsText( ST_UNION(
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 7 5 , 2 0 , 2 2 ) ) ') ,
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) );
|
||||
PolygonFromText(' POLYGON( ( 2 2 , 3 2 , 3 3 , 2 5 , 2 2 ) ) ') ) ) as result;
|
||||
|
||||
#bug 801466 ST_INTERSECTION() returns invalid value on empty intersection in maria-5.3-gis
|
||||
|
||||
SELECT AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)')));
|
||||
SELECT AsText(ST_INTERSECTION(LinestringFromText('LINESTRING(1 1, 2 2)'), GeometryFromText('LINESTRING(3 3, 4 4)'))) as result;
|
||||
|
||||
#bug 839341 100% CPU usage with ST_UNION in maria-5.3-gis
|
||||
SELECT AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))')));
|
||||
SELECT AsText(ST_UNION(GEOMETRYFROMTEXT('POINT(8 1)') ,MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 5, 2 5, 2 4, 3 4, 3 5))'))) as result;
|
||||
|
||||
#bug 839318 Crash in Gcalc_scan_iterator::point::get_shape with ST_DISTANCE and MULTILINESTRING in maria-5.3-gis
|
||||
SELECT ST_DISTANCE(POINTFROMTEXT('POINT(7 1)'),MULTILINESTRINGFROMTEXT('MULTILINESTRING(
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))'));
|
||||
(4 7,9 7,6 1,3 4,1 1), (3 5, 2 5, 2 4, 3 4, 3 5))')) as result;
|
||||
|
||||
#bug 839327 Crash in Gcalc_operation_reducer::end_couple with ST_UNION and MULTIPOLYGONs in 5.3-gis
|
||||
SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))')));
|
||||
SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYGONFROMTEXT('POLYGON((2 2, 7 2, 4 2, 2 0, 2 2))'))) as result;
|
||||
|
||||
#bug 841622 Assertion `t->rp->type == Gcalc_function::shape_line' failed in Gcalc_operation_reducer::end_line in maria-5.3-gis
|
||||
|
||||
@ -273,7 +250,7 @@ SELECT AsText(ST_UNION(POLYGONFROMTEXT('POLYGON((12 9, 3 6, 3 0, 12 9))'), POLYG
|
||||
SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER(ST_UNION(
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 2 5, 7 6, 1 8),(0 0 ,1 6 ,0 1, 8 9, 2 4, 6 1, 3 5, 4 8), (9 3, 5 4, 1 8, 4 2, 5 8, 3 0))' ) ,
|
||||
MULTILINESTRINGFROMTEXT('MULTILINESTRING((3 4, 3 1, 2 7, 4 2, 6 2, 1 5))')
|
||||
), 16)));
|
||||
), 16))) as result;
|
||||
|
||||
#bug 841625 Assertion `m_poly_borders->next' failed in Gcalc_operation_reducer::count_slice in maria-5.3-gis
|
||||
|
||||
@ -288,7 +265,7 @@ SELECT ST_NUMGEOMETRIES(ST_DIFFERENCE (
|
||||
)
|
||||
),
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 2 9 , 1 3 , 7 3 , 8 5 ) , ( 5 0 , 8 1 , 2 0 , 7 4 , 1 0 ) , ( 9 2 , 5 2 , 6 5 , 8 8 , 0 2 ) , ( 0 8 , 3 9 , 4 0 , 1 0 ) , ( 0 0 , 7 6 , 8 3 , 0 0 ) ) ' )
|
||||
));
|
||||
)) as result;
|
||||
|
||||
|
||||
#bug 841745 ssertion `!sp0->is_bottom()' failed in Gcalc_scan_iterator::find_intersections in maria-5.3-gis
|
||||
@ -304,13 +281,13 @@ SELECT ASTEXT(ST_DIFFERENCE (
|
||||
)
|
||||
)
|
||||
)
|
||||
));
|
||||
)) as result;
|
||||
|
||||
#bug 841773 Assertion `t0->rp->type == t1->rp->type' failed in Gcalc_operation_reducer::end_couple in maria-5.3-gis
|
||||
SELECT ST_NUMGEOMETRIES(ST_UNION (
|
||||
MULTILINESTRINGFROMTEXT( ' MULTILINESTRING( ( 0 8 , 1 9 , 5 7 , 2 8 , 5 8 , 6 7 ) , ( 4 5 , 8 4 , 0 3 , 5 1 ) , ( 6 8 , 2 7 , 1 6 , 9 9 , 7 2 ) , ( 9 5 , 2 8 , 1 2 , 9 6 , 2 0 ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 7 7 , 2 7, 6 8, 7 1 , 7 7 ) ) ) ' )
|
||||
));
|
||||
)) as result;
|
||||
|
||||
#bug 841662 Third assertion `n > 0 && n < SINUSES_CALCULATED*2+1' in get_n_sincos
|
||||
SELECT ST_BUFFER (
|
||||
@ -322,47 +299,53 @@ SELECT ST_BUFFER (
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' )
|
||||
)
|
||||
)
|
||||
) ;
|
||||
SELECT ST_DISTANCE ( ST_DIFFERENCE ( MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) , MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' ) ), MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' ) ) ;
|
||||
) as result;
|
||||
SELECT ST_DISTANCE (
|
||||
ST_DIFFERENCE (
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 5, 2 4, 3 4, 3 5) ) ) ' ) ,
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) , ( ( 0 0 , 3 8 , 9 4 , 0 0 ) ) ) ' )
|
||||
),
|
||||
MULTIPOLYGONFROMTEXT( ' MULTIPOLYGON( ( (3 5, 2 4, 2 5, 3 5) ) , ( (3 5, 2 5, 2 4, 3 4, 3 5) ) , ( ( 0 0 , 8 3 , 9 5 , 0 0 ) ) ) ' )
|
||||
) as result;
|
||||
|
||||
#bug 848939 Wrong result with ST_INTERSECTION between linestrings and a polygon in 5.3-gis
|
||||
SELECT ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5)))'), geomETRYFROMTEXT(' MULTILINESTRING( ( 5 1 , 3 7 , 6 1 , 7 0 ) , ( 1 6 , 8 5 , 7 5 , 5 6 ) )') ));
|
||||
SELECT ASTEXT(ST_INTERSECTION( GEOMETRYFROMTEXT('GEOMETRYCOLLECTION(LINESTRING(7 7,5.33333333333333 7),LINESTRING(5.33333333333333 7,0 7,5 8,5.33333333333333 7),LINESTRING(5.33333333333333 7,7 2,7 7),POLYGON((0 5,3 5,3 2,1 2,1 1,3 1,3 0,0 0,0 3,2 3,2 4,0 4,0 5)))'), geomETRYFROMTEXT(' MULTILINESTRING( ( 5 1 , 3 7 , 6 1 , 7 0 ) , ( 1 6 , 8 5 , 7 5 , 5 6 ) )') )) as result;
|
||||
|
||||
#bug 855485 ST_CROSSES returns different result than PostGIS for overlapping polygons
|
||||
|
||||
SELECT ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) '));
|
||||
SELECT ST_CROSSES( GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 4, 2 5, 3 5) ) ') , POLYGONFROMTEXT(' POLYGON((2 4,3 4,3 5,2 5,2 4)) ')) as result;
|
||||
|
||||
#bug 855487 ST_WITHIN returns wrong result for partially overlapping polygons
|
||||
|
||||
SELECT ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') );
|
||||
SELECT ST_WITHIN( POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 2 0 , 1 0, 2 4 , 0 4, 0 5) ) ') , POLYGONFROMTEXT(' POLYGON( (0 5, 3 5, 3 4, 1 4 , 1 3 , 3 3 , 3 0 , 0 0 , 0 5), ( 1 1 , 2 1 , 2 2 , 1 2 , 1 1 ) ) ') ) as result;
|
||||
|
||||
#bug 855492 ST_WITHIN returns TRUE on point on the edge of a polygon
|
||||
|
||||
SELECT ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) '));
|
||||
SELECT ST_WITHIN( POINTFROMTEXT(' POINT(1 2 ) ') , MULTIPOLYGONFROMTEXT(' MULTIPOLYGON( ( (0 5, 3 5, 3 0, 0 0, 0 5), ( 1 1 , 2 1 , 2 4, 1 4, 1 1 ) ) ) ')) as result;
|
||||
|
||||
#bug 855497 ST_ENVELOPE of GEOMETRYCOLLECTION EMPTY returns NULL and not GEOMETRYCOLLECTION EMPTY
|
||||
|
||||
select ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY')));
|
||||
select ST_ASTEXT(envelope(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION EMPTY'))) as result;
|
||||
|
||||
#bug 855503 ST_EQUALS reports TRUE between a POLYGON and a MULTILINESTRING
|
||||
|
||||
SELECT ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') );
|
||||
SELECT ST_EQUALS( GEOMETRYFROMTEXT(' MULTILINESTRING( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') , GEOMETRYFROMTEXT(' POLYGON( (3 5, 2 5, 2 4, 3 4, 3 5) ) ') ) as result;
|
||||
|
||||
#bug 855505 ST_TOUCHES reports TRUE for intersecting polygon and linestring
|
||||
|
||||
SELECT ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') );
|
||||
SELECT ST_TOUCHES( GEOMETRYFROMTEXT(' LINESTRING( 1 1 , 1 4 , 5 0 , 8 3 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ') ) as result;
|
||||
|
||||
#bug 857051 ST_EQUALS returns TRUE on two nonidentical MULTIPOINTs
|
||||
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') );
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') );
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT(' MULTIPOINT( 5 8 , 5 2 , 1 8 , 3 0 , 3 0 , 7 8 ) ') ) as result;
|
||||
SELECT ST_EQUALS( MULTIPOINTFROMTEXT(' MULTIPOINT( 5 1 , 6 9 , 1 4 , 4 0 ) ') , MULTIPOINTFROMTEXT('MULTIPOINT( 4 0 , 6 9 , 5 1, 1 4 )') ) as result;
|
||||
|
||||
#bug 857050 ST_WITHIN returns wrong result with MULTIPOINT and POLYGON
|
||||
SELECT ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) '));
|
||||
SELECT ST_WITHIN( MULTIPOINTFROMTEXT(' MULTIPOINT( 2 9 , 2 9 , 4 9 , 9 1 ) ') , POLYGONFROMTEXT(' POLYGON( ( 2 2 , 2 8 , 8 8 , 8 2 , 2 2 ) , ( 4 4 , 4 6 , 6 6 , 6 4 , 4 4 ) ) ')) as result;
|
||||
|
||||
#bug 857087 Wrong result with ST_INTERSECTS and LINESTRINGs
|
||||
|
||||
SELECT ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29)') );
|
||||
SELECT ST_INTERSECTS( GeomFromText('MULTILINESTRING( ( 4030 3045 , 3149 2461 , 3004 3831 , 3775 2976 ) )') , GeomFromText('LINESTRING(3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29,3039.07 3175.05,3039.07 3175.05,3058.41 3187.91,3081.52 3153.19,3042.99 3127.57,3019.89 3162.29)') ) as result;
|
||||
|
||||
#bug 977201 ST_BUFFER fails with the negative D. TODO - check the result deeper.
|
||||
# select ASTEXT(ST_BUFFER(ST_GEOMCOLLFROMTEXT(' GEOMETRYCOLLECTION(LINESTRING(100 100, 31 10, 77 80), POLYGON((0 0,4 7,1 1,0 0)), POINT(20 20))'), -3));
|
||||
@ -374,15 +357,15 @@ SELECT ST_NUMPOINTS(ST_EXTERIORRING(ST_BUFFER( POLYGONFROMTEXT( 'POLYGON( ( 0.0
|
||||
7.664100588675687 1.503849116986468,
|
||||
1.664100588675687 -2.496150883013531,
|
||||
0.0 -3.0
|
||||
))' ), 3 )));
|
||||
))' ), 3 ))) as result;
|
||||
|
||||
# MDEV-5615 crash in Gcalc_function::add_operation
|
||||
select astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1));
|
||||
select astext(buffer(st_linestringfromwkb(linestring(point(-1,1), point(-1,-2))),-1)) as result;
|
||||
|
||||
# MDEV-7925 Inconsistent behavior of ST_Touches with a POINT as one of arguments
|
||||
select ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)'));
|
||||
select ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)'));
|
||||
select ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)'));
|
||||
select ST_Touches(ST_LineFromText('LINESTRING(0 0,5 5)'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
select ST_Touches(ST_PolygonFromText('POLYGON((0 0,0 5,5 5,5 0,0 0))'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
select ST_Touches(ST_PointFromText('POINT(0 0)'),ST_PointFromText('POINT(0 0)')) as result;
|
||||
|
||||
# MDEV-12705 10.1.18-MariaDB-1~jessie - mysqld got signal 11.
|
||||
SELECT ST_RELATE(
|
||||
@ -403,8 +386,6 @@ SELECT ST_RELATE(
|
||||
'F*FFFF**F'
|
||||
) as relate_res;
|
||||
|
||||
--enable_view_protocol
|
||||
|
||||
# MDEV-18920 Prepared statements with st_convexhull hang and eat 100% cpu.
|
||||
prepare s from 'do st_convexhull(st_aswkb(multipoint(point(-11702,15179),point(-5031,27960),point(-30557,11158),point(-27804,30314))))';
|
||||
execute s;
|
||||
@ -442,45 +423,41 @@ SELECT ST_DISTANCE_SPHERE(1, 1, 3);
|
||||
SELECT ST_DISTANCE_SPHERE(1, 1, NULL);
|
||||
# Wrong geometry
|
||||
--error ER_INTERNAL_ERROR
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('LINESTRING(0 0, 1 1)')) as result;
|
||||
|
||||
#enable after fix MDEV-27871
|
||||
--disable_view_protocol
|
||||
--echo # Test Points and radius
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)')) as result;
|
||||
# make bb x86 happy
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(-1 -1)'), ST_GEOMFROMTEXT('POINT(-2 -2)')), 10) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 1) as result;
|
||||
--error ER_INTERNAL_ERROR
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 0);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), 0) as result;
|
||||
--error ER_INTERNAL_ERROR
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), -1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('POINT(1 1)'), -1) as result;
|
||||
--echo # Test longitude/lattitude
|
||||
# make bb x86 happy
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)'));
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10) as result;
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 1)'), ST_GEOMFROMTEXT('POINT(2 1)')), 10) as result;
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(1 2)')), 10) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(1 0)'), ST_GEOMFROMTEXT('POINT(2 1)')) as result;
|
||||
--echo # Test Points - Multipoints
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1);
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1)')) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 1)'), ST_GEOMFROMTEXT('POINT(0 0)')) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)')) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)')) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(1 1,2 2)'), 1) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2,1 1)'), 1) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1, 3 4)'), 1) as result;
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('POINT(0 0)'), ST_GEOMFROMTEXT('MULTIPOINT(2 2, 1 1,5 6)'), 1) as result;
|
||||
--echo # Test Multipoints - Multipoints
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'));
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')) as result;
|
||||
# make bb x86 happy
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(3 4,8 9 )')), 10) as result;
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )')), 10) as result;
|
||||
# make bb x86 happy
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17);
|
||||
SELECT TRUNCATE(ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),1), 17) as result;
|
||||
--error ER_INTERNAL_ERROR
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),0);
|
||||
|
||||
--enable_view_protocol
|
||||
SELECT ST_DISTANCE_SPHERE(ST_GEOMFROMTEXT('MULTIPOINT(1 2,1 1 )'), ST_GEOMFROMTEXT('MULTIPOINT(8 9,3 4 )'),0) as result;
|
||||
|
||||
# Longitude out of range [-180,180]
|
||||
set @pt1 = ST_GeomFromText('POINT(190 -30)');
|
||||
|
@ -23,10 +23,13 @@ SET
|
||||
|
||||
SELECT DISTINCT * FROM t1 WHERE a IN (1, 2);
|
||||
|
||||
#Enable after fix MDEV-32034
|
||||
--disable_view_protocol
|
||||
select
|
||||
CAST(json_value(json_extract(trace, '$**.chosen_access_method.cost'), '$[0]')
|
||||
as DOUBLE) < 1.0e100 as ACCESS_METHOD_COST_IS_FINITE
|
||||
from information_schema.optimizer_trace;
|
||||
--enable_view_protocol
|
||||
|
||||
set optimizer_use_condition_selectivity = @tmp, optimizer_trace=@tmp2;
|
||||
drop table t1;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user