From 695b437730393cbce645763aad8651fa46723cad Mon Sep 17 00:00:00 2001 From: Roman Nozdrin Date: Wed, 29 Dec 2021 17:21:12 +0000 Subject: [PATCH] The goal is to migrate the last offending regr test001 test case into MTR to make test001 green --- .../columnstore/bugfixes/mcol-3721.result | 61 +++++++++++++++++++ .../columnstore/bugfixes/mcol-3721.test | 42 +++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 mysql-test/columnstore/bugfixes/mcol-3721.result create mode 100644 mysql-test/columnstore/bugfixes/mcol-3721.test diff --git a/mysql-test/columnstore/bugfixes/mcol-3721.result b/mysql-test/columnstore/bugfixes/mcol-3721.result new file mode 100644 index 000000000..76c3627de --- /dev/null +++ b/mysql-test/columnstore/bugfixes/mcol-3721.result @@ -0,0 +1,61 @@ +DROP DATABASE IF EXISTS `mcol_3721`; +CREATE DATABASE `mcol_3721`; +USE `mcol_3721`; +SELECT @cs_conn := @@character_set_connection; +@cs_conn := @@character_set_connection +latin1 +SET character_set_connection=latin1; +DROP TABLE IF EXISTS test_collate; +Warnings: +Note 1051 Unknown table 'mcol_3721.test_collate' +CREATE TABLE test_collate (a INT, b INT) ENGINE=columnstore; +INSERT INTO test_collate VALUES (1,2), (2,4); +SELECT a, b FROM test_collate ORDER BY a COLLATE latin1_german2_ci; +a b +1 2 +2 4 +Warnings: +Note 1618 COLLATE is ignored in ColumnStore +SHOW WARNINGS; +Level Code Message +Note 1618 COLLATE is ignored in ColumnStore +SELECT a, b FROM test_collate ORDER BY a COLLATE latin1_german2_ci DESC; +a b +1 2 +2 4 +Warnings: +Note 1618 COLLATE is ignored in ColumnStore +SHOW WARNINGS; +Level Code Message +Note 1618 COLLATE is ignored in ColumnStore +DROP TABLE IF EXISTS test_collate; +DROP TABLE IF EXISTS t1; +Warnings: +Note 1051 Unknown table 'mcol_3721.t1' +CREATE TABLE t1 (col1 CHAR(10)) CHARSET latin1 COLLATE latin1_bin ENGINE=columnstore; +INSERT INTO t1 VALUES ('a'), ('1'), ('-1'); +SELECT col1 FROM t1; +col1 +a +1 +-1 +DESCRIBE t1; +Field Type Null Key Default Extra +col1 char(10) YES NULL +DROP TABLE IF EXISTS t1; +DROP TABLE IF EXISTS t1; +Warnings: +Note 1051 Unknown table 'mcol_3721.t1' +CREATE TABLE t1 (col1 CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci) ENGINE=columnstore; +INSERT INTO t1 VALUES ('a'), ('1'), ('-1'); +SELECT col1 FROM t1; +col1 +a +1 +-1 +DESCRIBE t1; +Field Type Null Key Default Extra +col1 char(10) YES NULL +DROP TABLE IF EXISTS t1; +DROP DATABASE `mcol_3721`; +SET character_set_connection=@cs_conn; diff --git a/mysql-test/columnstore/bugfixes/mcol-3721.test b/mysql-test/columnstore/bugfixes/mcol-3721.test new file mode 100644 index 000000000..665ef6138 --- /dev/null +++ b/mysql-test/columnstore/bugfixes/mcol-3721.test @@ -0,0 +1,42 @@ +# +# MCOL-3721 MCS doesn't honor COLLATE in ORDER BY but uses table level collate rule +# + +-- source ../include/have_columnstore.inc + +--disable_warnings +DROP DATABASE IF EXISTS `mcol_3721`; +--enable_warnings +CREATE DATABASE `mcol_3721`; +USE `mcol_3721`; + +SELECT @cs_conn := @@character_set_connection; +SET character_set_connection=latin1; + +# Test COLLATE in ORDER BY +DROP TABLE IF EXISTS test_collate; +CREATE TABLE test_collate (a INT, b INT) ENGINE=columnstore; +INSERT INTO test_collate VALUES (1,2), (2,4); +SELECT a, b FROM test_collate ORDER BY a COLLATE latin1_german2_ci; +SHOW WARNINGS; +SELECT a, b FROM test_collate ORDER BY a COLLATE latin1_german2_ci DESC; +SHOW WARNINGS; +DROP TABLE IF EXISTS test_collate; + +# Test COLLATE in table definition and column definition +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (col1 CHAR(10)) CHARSET latin1 COLLATE latin1_bin ENGINE=columnstore; +INSERT INTO t1 VALUES ('a'), ('1'), ('-1'); +SELECT col1 FROM t1; +DESCRIBE t1; +DROP TABLE IF EXISTS t1; + +DROP TABLE IF EXISTS t1; +CREATE TABLE t1 (col1 CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci) ENGINE=columnstore; +INSERT INTO t1 VALUES ('a'), ('1'), ('-1'); +SELECT col1 FROM t1; +DESCRIBE t1; +DROP TABLE IF EXISTS t1; + +DROP DATABASE `mcol_3721`; +SET character_set_connection=@cs_conn;