summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/func_gconcat.test
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--mysql-test/main/func_gconcat.test56
1 files changed, 56 insertions, 0 deletions
diff --git a/mysql-test/main/func_gconcat.test b/mysql-test/main/func_gconcat.test
index cc5236a1..c9787ce4 100644
--- a/mysql-test/main/func_gconcat.test
+++ b/mysql-test/main/func_gconcat.test
@@ -1066,3 +1066,59 @@ drop table t1;
--echo #
--echo # End of 10.3 tests
--echo #
+
+--echo #
+--echo # MDEV-31276: Execution of PS from grouping query with join
+--echo # and GROUP_CONCAT set function
+--echo #
+
+create table t1 (a int, b varchar(20)) engine=myisam;
+create table t2 (a int, c varchar(20)) engine=myisam;
+insert into t1 values (1,"aaaaaaaaaa"),(2,"bbbbbbbbbb");
+insert into t2 values (1,"cccccccccc"),(2,"dddddddddd");
+insert into t2 values (1,"eeeeeee"),(2,"fffffff");
+
+let $q=
+select count(*), group_concat(t1.b,t2.c)
+ from t1 join t2 on t1.a=t2.a group by t1.a;
+
+set group_concat_max_len=5;
+
+eval $q;
+eval explain $q;
+eval prepare stmt from "$q";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+set join_cache_level=0;
+
+eval $q;
+eval explain $q;
+eval prepare stmt from "$q";
+execute stmt;
+execute stmt;
+deallocate prepare stmt;
+
+set join_cache_level=default;
+set group_concat_max_len=default;
+
+drop table t1,t2;
+
+--echo #
+--echo # MDEV-33772 Bad SEPARATOR value in GROUP_CONCAT on character set conversion
+--echo #
+
+SET NAMES utf8, @@collation_connection=latin1_swedish_ci;
+CREATE TABLE t1 (c VARCHAR(10)) CHARACTER SET latin1;
+INSERT INTO t1 VALUES ('a'),('A');
+CREATE OR REPLACE VIEW v1 AS
+ SELECT GROUP_CONCAT(c SEPARATOR 'ß') AS c1 FROM t1 GROUP BY c;
+SELECT * FROM v1;
+SELECT HEX(c1) FROM v1;
+SHOW CREATE VIEW v1;
+DROP VIEW v1;
+DROP TABLE t1;
+SET NAMES latin1;
+
+--echo # End of 10.5 tests