You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
MCOL-4871 This patch adds relevant tests
This commit is contained in:
248
mysql-test/columnstore/basic/r/ctype_extent_koi8u.result
Normal file
248
mysql-test/columnstore/basic/r/ctype_extent_koi8u.result
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
DROP DATABASE IF EXISTS mcs_ctype_extent_koi8u;
|
||||||
|
CREATE DATABASE mcs_ctype_extent_koi8u;
|
||||||
|
USE mcs_ctype_extent_koi8u;
|
||||||
|
SET default_storage_engine=ColumnStore;
|
||||||
|
CREATE PROCEDURE show_extent_min_max(schema_arg VARCHAR(64),
|
||||||
|
table_arg VARCHAR(64),
|
||||||
|
column_arg VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
c.table_schema,
|
||||||
|
c.table_name,
|
||||||
|
c.column_name,
|
||||||
|
hex(CAST(e.min_value AS SIGNED)),
|
||||||
|
hex(CAST(e.max_value AS SIGNED))
|
||||||
|
FROM
|
||||||
|
information_schema.columnstore_extents e,
|
||||||
|
information_schema.columnstore_columns c
|
||||||
|
WHERE c.object_id=e.object_id
|
||||||
|
AND table_schema=schema_arg
|
||||||
|
AND table_name=table_arg
|
||||||
|
AND column_name=column_arg;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE FUNCTION caltrace_extract_block_diagnostics(msg TEXT CHARACTER SET utf8mb4)
|
||||||
|
RETURNS TEXT CHARACTER SET utf8mb4
|
||||||
|
BEGIN
|
||||||
|
RETURN CONCAT(regexp_substr(msg, '(BlocksTouched-[^;]*);'), ' ',
|
||||||
|
regexp_substr(msg, '(PartitionBlocksEliminated-[^;]*);'));
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
#
|
||||||
|
# MCOL-4871 Extent elimination for short CHAR does not work well
|
||||||
|
#
|
||||||
|
SET NAMES utf8;
|
||||||
|
CREATE PROCEDURE test(collation VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
DECLARE stmt TEXT;
|
||||||
|
DECLARE CONTINUE HANDLER FOR 9999
|
||||||
|
BEGIN
|
||||||
|
GET DIAGNOSTICS CONDITION 1 @errmsg = MESSAGE_TEXT;
|
||||||
|
SET @errmsg=caltrace_extract_block_diagnostics(@errmsg);
|
||||||
|
RESIGNAL SET MESSAGE_TEXT=@errmsg;
|
||||||
|
END;
|
||||||
|
DO calsettrace(1);
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET koi8u COLLATE koi8u_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'koi8u_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('Ъ─') /*_koi8u x'FF80'*/;
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='Ъ─';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='Ъя' /*_koi8u x'FFF1'*/;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET koi8u COLLATE koi8u_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'koi8u_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ЪЪЪ─') /*_koi8u x'FFFFFF80'*/;
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ЪЪЪ─';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='ЪЪЪя' /*_koi8u x'FFFFFFF1'*/;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET koi8u COLLATE koi8u_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'koi8u_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ЪЪЪЪЪЪЪ─') /*_koi8u x'FFFFFFFFFFFFFF80'*/;
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ЪЪЪЪЪЪЪ─';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='ЪЪЪЪЪЪЪя' /*_koi8u x'FFFFFFFFFFFFFFF1'*/;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
DO calsettrace(0);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL test('koi8u_general_ci');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET koi8u COLLATE koi8u_general_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
Ъ─ FF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 FFFFFFFFFFFF80FF FFFFFFFFFFFF80FF
|
||||||
|
c1
|
||||||
|
Ъ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET koi8u COLLATE koi8u_general_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ЪЪЪ─ FFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 FFFFFFFF80FFFFFF FFFFFFFF80FFFFFF
|
||||||
|
c1
|
||||||
|
ЪЪЪ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET koi8u COLLATE koi8u_general_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ЪЪЪЪЪЪЪ─ FFFFFFFFFFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 80FFFFFFFFFFFFFF 80FFFFFFFFFFFFFF
|
||||||
|
c1
|
||||||
|
ЪЪЪЪЪЪЪ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('koi8u_general_nopad_ci');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET koi8u COLLATE koi8u_general_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
Ъ─ FF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 FFFFFFFFFFFF80FF FFFFFFFFFFFF80FF
|
||||||
|
c1
|
||||||
|
Ъ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET koi8u COLLATE koi8u_general_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ЪЪЪ─ FFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 FFFFFFFF80FFFFFF FFFFFFFF80FFFFFF
|
||||||
|
c1
|
||||||
|
ЪЪЪ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET koi8u COLLATE koi8u_general_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ЪЪЪЪЪЪЪ─ FFFFFFFFFFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 80FFFFFFFFFFFFFF 80FFFFFFFFFFFFFF
|
||||||
|
c1
|
||||||
|
ЪЪЪЪЪЪЪ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('koi8u_bin');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET koi8u COLLATE koi8u_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
Ъ─ FF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 FFFFFFFFFFFF80FF FFFFFFFFFFFF80FF
|
||||||
|
c1
|
||||||
|
Ъ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET koi8u COLLATE koi8u_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ЪЪЪ─ FFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 FFFFFFFF80FFFFFF FFFFFFFF80FFFFFF
|
||||||
|
c1
|
||||||
|
ЪЪЪ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET koi8u COLLATE koi8u_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ЪЪЪЪЪЪЪ─ FFFFFFFFFFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 80FFFFFFFFFFFFFF 80FFFFFFFFFFFFFF
|
||||||
|
c1
|
||||||
|
ЪЪЪЪЪЪЪ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('koi8u_nopad_bin');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET koi8u COLLATE koi8u_nopad_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
Ъ─ FF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 FFFFFFFFFFFF80FF FFFFFFFFFFFF80FF
|
||||||
|
c1
|
||||||
|
Ъ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET koi8u COLLATE koi8u_nopad_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ЪЪЪ─ FFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 FFFFFFFF80FFFFFF FFFFFFFF80FFFFFF
|
||||||
|
c1
|
||||||
|
ЪЪЪ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET koi8u COLLATE koi8u_nopad_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ЪЪЪЪЪЪЪ─ FFFFFFFFFFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_koi8u t1 c1 80FFFFFFFFFFFFFF 80FFFFFFFFFFFFFF
|
||||||
|
c1
|
||||||
|
ЪЪЪЪЪЪЪ─
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
DROP PROCEDURE test;
|
||||||
|
DROP PROCEDURE show_extent_min_max;
|
||||||
|
DROP FUNCTION caltrace_extract_block_diagnostics;
|
||||||
|
DROP DATABASE mcs_ctype_extent_koi8u;
|
||||||
|
USE test;
|
312
mysql-test/columnstore/basic/r/ctype_extent_latin1.result
Normal file
312
mysql-test/columnstore/basic/r/ctype_extent_latin1.result
Normal file
@ -0,0 +1,312 @@
|
|||||||
|
DROP DATABASE IF EXISTS mcs_ctype_extent_latin1;
|
||||||
|
CREATE DATABASE mcs_ctype_extent_latin1;
|
||||||
|
USE mcs_ctype_extent_latin1;
|
||||||
|
SET default_storage_engine=ColumnStore;
|
||||||
|
CREATE PROCEDURE show_extent_min_max(schema_arg VARCHAR(64),
|
||||||
|
table_arg VARCHAR(64),
|
||||||
|
column_arg VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
c.table_schema,
|
||||||
|
c.table_name,
|
||||||
|
c.column_name,
|
||||||
|
hex(CAST(e.min_value AS SIGNED)),
|
||||||
|
hex(CAST(e.max_value AS SIGNED))
|
||||||
|
FROM
|
||||||
|
information_schema.columnstore_extents e,
|
||||||
|
information_schema.columnstore_columns c
|
||||||
|
WHERE c.object_id=e.object_id
|
||||||
|
AND table_schema=schema_arg
|
||||||
|
AND table_name=table_arg
|
||||||
|
AND column_name=column_arg;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE FUNCTION caltrace_extract_block_diagnostics(msg TEXT CHARACTER SET utf8mb4)
|
||||||
|
RETURNS TEXT CHARACTER SET utf8mb4
|
||||||
|
BEGIN
|
||||||
|
RETURN CONCAT(regexp_substr(msg, '(BlocksTouched-[^;]*);'), ' ',
|
||||||
|
regexp_substr(msg, '(PartitionBlocksEliminated-[^;]*);'));
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
#
|
||||||
|
# MCOL-4871 Extent elimination for short CHAR does not work well
|
||||||
|
#
|
||||||
|
SET NAMES utf8;
|
||||||
|
CREATE PROCEDURE test(collation VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
DECLARE stmt TEXT;
|
||||||
|
DECLARE CONTINUE HANDLER FOR 9999
|
||||||
|
BEGIN
|
||||||
|
GET DIAGNOSTICS CONDITION 1 @errmsg = MESSAGE_TEXT;
|
||||||
|
SET @errmsg=caltrace_extract_block_diagnostics(@errmsg);
|
||||||
|
RESIGNAL SET MESSAGE_TEXT=@errmsg;
|
||||||
|
END;
|
||||||
|
DO calsettrace(1);
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'latin1_swedish_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES (0xE9);
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1=x'E9';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='o';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET latin1 COLLATE latin1_swedish_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'latin1_swedish_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ÿ€' /*_latin1 x'FF80'*/);
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ÿ€';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1=x'FF7F' /* 'ÿ<DEL>' */;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET latin1 COLLATE latin1_swedish_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'latin1_swedish_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ÿÿÿ€' /*_latin1 x'FFFFFF80'*/);
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ÿÿÿ€';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1=x'FFFFFF7F' /* 'ÿÿÿ<DEL>' */;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET latin1 COLLATE latin1_swedish_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'latin1_swedish_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ÿÿÿÿÿÿÿ€' /*_latin1 x'FFFFFFFFFFFFFF80'*/);
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ÿÿÿÿÿÿÿ€';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1=x'FFFFFFFFFFFFFF7F' /* 'ÿÿÿÿÿÿÿ<DEL>' */;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
DO calsettrace(0);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL test('latin1_swedish_ci');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
é E9
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFFFFFFFFE9 FFFFFFFFFFFFFFE9
|
||||||
|
c1
|
||||||
|
é
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET latin1 COLLATE latin1_swedish_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿ€ FF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFFFFFF80FF FFFFFFFFFFFF80FF
|
||||||
|
c1
|
||||||
|
ÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET latin1 COLLATE latin1_swedish_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿÿÿ€ FFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFF80FFFFFF FFFFFFFF80FFFFFF
|
||||||
|
c1
|
||||||
|
ÿÿÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET latin1 COLLATE latin1_swedish_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿÿÿÿÿÿÿ€ FFFFFFFFFFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 80FFFFFFFFFFFFFF 80FFFFFFFFFFFFFF
|
||||||
|
c1
|
||||||
|
ÿÿÿÿÿÿÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('latin1_swedish_nopad_ci');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET latin1 COLLATE latin1_swedish_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
é E9
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFFFFFFFFE9 FFFFFFFFFFFFFFE9
|
||||||
|
c1
|
||||||
|
é
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET latin1 COLLATE latin1_swedish_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿ€ FF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFFFFFF80FF FFFFFFFFFFFF80FF
|
||||||
|
c1
|
||||||
|
ÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET latin1 COLLATE latin1_swedish_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿÿÿ€ FFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFF80FFFFFF FFFFFFFF80FFFFFF
|
||||||
|
c1
|
||||||
|
ÿÿÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET latin1 COLLATE latin1_swedish_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿÿÿÿÿÿÿ€ FFFFFFFFFFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 80FFFFFFFFFFFFFF 80FFFFFFFFFFFFFF
|
||||||
|
c1
|
||||||
|
ÿÿÿÿÿÿÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('latin1_bin');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET latin1 COLLATE latin1_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
é E9
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFFFFFFFFE9 FFFFFFFFFFFFFFE9
|
||||||
|
c1
|
||||||
|
é
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET latin1 COLLATE latin1_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿ€ FF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFFFFFF80FF FFFFFFFFFFFF80FF
|
||||||
|
c1
|
||||||
|
ÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET latin1 COLLATE latin1_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿÿÿ€ FFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFF80FFFFFF FFFFFFFF80FFFFFF
|
||||||
|
c1
|
||||||
|
ÿÿÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET latin1 COLLATE latin1_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿÿÿÿÿÿÿ€ FFFFFFFFFFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 80FFFFFFFFFFFFFF 80FFFFFFFFFFFFFF
|
||||||
|
c1
|
||||||
|
ÿÿÿÿÿÿÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('latin1_nopad_bin');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET latin1 COLLATE latin1_nopad_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
é E9
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFFFFFFFFE9 FFFFFFFFFFFFFFE9
|
||||||
|
c1
|
||||||
|
é
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET latin1 COLLATE latin1_nopad_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿ€ FF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFFFFFF80FF FFFFFFFFFFFF80FF
|
||||||
|
c1
|
||||||
|
ÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET latin1 COLLATE latin1_nopad_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿÿÿ€ FFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 FFFFFFFF80FFFFFF FFFFFFFF80FFFFFF
|
||||||
|
c1
|
||||||
|
ÿÿÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET latin1 COLLATE latin1_nopad_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
ÿÿÿÿÿÿÿ€ FFFFFFFFFFFFFF80
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_latin1 t1 c1 80FFFFFFFFFFFFFF 80FFFFFFFFFFFFFF
|
||||||
|
c1
|
||||||
|
ÿÿÿÿÿÿÿ€
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
DROP PROCEDURE test;
|
||||||
|
DROP PROCEDURE show_extent_min_max;
|
||||||
|
DROP FUNCTION caltrace_extract_block_diagnostics;
|
||||||
|
DROP DATABASE mcs_ctype_extent_latin1;
|
||||||
|
USE test;
|
238
mysql-test/columnstore/basic/r/ctype_extent_utf8mb3.result
Normal file
238
mysql-test/columnstore/basic/r/ctype_extent_utf8mb3.result
Normal file
@ -0,0 +1,238 @@
|
|||||||
|
DROP DATABASE IF EXISTS mcs_ctype_extent_utf8mb3;
|
||||||
|
CREATE DATABASE mcs_ctype_extent_utf8mb3;
|
||||||
|
USE mcs_ctype_extent_utf8mb3;
|
||||||
|
SET default_storage_engine=ColumnStore;
|
||||||
|
CREATE PROCEDURE show_extent_min_max(schema_arg VARCHAR(64),
|
||||||
|
table_arg VARCHAR(64),
|
||||||
|
column_arg VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
c.table_schema,
|
||||||
|
c.table_name,
|
||||||
|
c.column_name,
|
||||||
|
hex(CAST(e.min_value AS SIGNED)),
|
||||||
|
hex(CAST(e.max_value AS SIGNED))
|
||||||
|
FROM
|
||||||
|
information_schema.columnstore_extents e,
|
||||||
|
information_schema.columnstore_columns c
|
||||||
|
WHERE c.object_id=e.object_id
|
||||||
|
AND table_schema=schema_arg
|
||||||
|
AND table_name=table_arg
|
||||||
|
AND column_name=column_arg;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CREATE FUNCTION caltrace_extract_block_diagnostics(msg TEXT CHARACTER SET utf8mb4)
|
||||||
|
RETURNS TEXT CHARACTER SET utf8mb4
|
||||||
|
BEGIN
|
||||||
|
RETURN CONCAT(regexp_substr(msg, '(BlocksTouched-[^;]*);'), ' ',
|
||||||
|
regexp_substr(msg, '(PartitionBlocksEliminated-[^;]*);'));
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
#
|
||||||
|
# MCOL-4871 Extent elimination for short CHAR does not work well
|
||||||
|
#
|
||||||
|
SET NAMES utf8;
|
||||||
|
CREATE PROCEDURE test(collation VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
DECLARE stmt TEXT;
|
||||||
|
DECLARE CONTINUE HANDLER FOR 9999
|
||||||
|
BEGIN
|
||||||
|
GET DIAGNOSTICS CONDITION 1 @errmsg = MESSAGE_TEXT;
|
||||||
|
SET @errmsg=caltrace_extract_block_diagnostics(@errmsg);
|
||||||
|
RESIGNAL SET MESSAGE_TEXT=@errmsg;
|
||||||
|
END;
|
||||||
|
DO calsettrace(1);
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'utf8mb3_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('a');
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='a';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='b';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'utf8mb3_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('aa');
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='aa';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='bb';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
DO calsettrace(0);
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
CALL test('utf8mb3_unicode_ci');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
a 61
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 61 61
|
||||||
|
c1
|
||||||
|
a
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
aa 6161
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 6161 6161
|
||||||
|
c1
|
||||||
|
aa
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('utf8mb3_unicode_nopad_ci');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
a 61
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 61 61
|
||||||
|
c1
|
||||||
|
a
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_unicode_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
aa 6161
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 6161 6161
|
||||||
|
c1
|
||||||
|
aa
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('utf8mb3_general_ci');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
a 61
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 61 61
|
||||||
|
c1
|
||||||
|
a
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
aa 6161
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 6161 6161
|
||||||
|
c1
|
||||||
|
aa
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('utf8mb3_general_nopad_ci');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
a 61
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 61 61
|
||||||
|
c1
|
||||||
|
a
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_nopad_ci)
|
||||||
|
c1 HEX(c1)
|
||||||
|
aa 6161
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 6161 6161
|
||||||
|
c1
|
||||||
|
aa
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('utf8mb3_bin');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
a 61
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 61 61
|
||||||
|
c1
|
||||||
|
a
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
aa 6161
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 6161 6161
|
||||||
|
c1
|
||||||
|
aa
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
CALL test('utf8mb3_nopad_bin');
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_nopad_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
a 61
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 61 61
|
||||||
|
c1
|
||||||
|
a
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_nopad_bin)
|
||||||
|
c1 HEX(c1)
|
||||||
|
aa 6161
|
||||||
|
table_schema table_name column_name hex(CAST(e.min_value AS SIGNED)) hex(CAST(e.max_value AS SIGNED))
|
||||||
|
mcs_ctype_extent_utf8mb3 t1 c1 6161 6161
|
||||||
|
c1
|
||||||
|
aa
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-1; PartitionBlocksEliminated-0;
|
||||||
|
c1
|
||||||
|
Level Code Message
|
||||||
|
Note 9999 BlocksTouched-0; PartitionBlocksEliminated-1;
|
||||||
|
DROP PROCEDURE test;
|
||||||
|
DROP PROCEDURE show_extent_min_max;
|
||||||
|
DROP FUNCTION caltrace_extract_block_diagnostics;
|
||||||
|
DROP DATABASE mcs_ctype_extent_utf8mb3;
|
||||||
|
USE test;
|
86
mysql-test/columnstore/basic/t/ctype_extent_koi8u.test
Normal file
86
mysql-test/columnstore/basic/t/ctype_extent_koi8u.test
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
--source ../include/have_columnstore.inc
|
||||||
|
--source ../include/func_caltrace_create_if_needed.inc
|
||||||
|
--disable_warnings
|
||||||
|
DROP DATABASE IF EXISTS mcs_ctype_extent_koi8u;
|
||||||
|
--enable_warnings
|
||||||
|
CREATE DATABASE mcs_ctype_extent_koi8u;
|
||||||
|
USE mcs_ctype_extent_koi8u;
|
||||||
|
SET default_storage_engine=ColumnStore;
|
||||||
|
--source ../include/ctype_extent_proc_create.inc
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MCOL-4871 Extent elimination for short CHAR does not work well
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET NAMES utf8;
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
CREATE PROCEDURE test(collation VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
DECLARE stmt TEXT;
|
||||||
|
DECLARE CONTINUE HANDLER FOR 9999
|
||||||
|
BEGIN
|
||||||
|
GET DIAGNOSTICS CONDITION 1 @errmsg = MESSAGE_TEXT;
|
||||||
|
SET @errmsg=caltrace_extract_block_diagnostics(@errmsg);
|
||||||
|
RESIGNAL SET MESSAGE_TEXT=@errmsg;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DO calsettrace(1);
|
||||||
|
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET koi8u COLLATE koi8u_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'koi8u_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('Ъ─') /*_koi8u x'FF80'*/;
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='Ъ─';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='Ъя' /*_koi8u x'FFF1'*/;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET koi8u COLLATE koi8u_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'koi8u_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ЪЪЪ─') /*_koi8u x'FFFFFF80'*/;
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ЪЪЪ─';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='ЪЪЪя' /*_koi8u x'FFFFFFF1'*/;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET koi8u COLLATE koi8u_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'koi8u_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ЪЪЪЪЪЪЪ─') /*_koi8u x'FFFFFFFFFFFFFF80'*/;
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ЪЪЪЪЪЪЪ─';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='ЪЪЪЪЪЪЪя' /*_koi8u x'FFFFFFFFFFFFFFF1'*/;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
DO calsettrace(0);
|
||||||
|
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
|
||||||
|
CALL test('koi8u_general_ci');
|
||||||
|
CALL test('koi8u_general_nopad_ci');
|
||||||
|
CALL test('koi8u_bin');
|
||||||
|
CALL test('koi8u_nopad_bin');
|
||||||
|
|
||||||
|
DROP PROCEDURE test;
|
||||||
|
|
||||||
|
|
||||||
|
--source ../include/ctype_extent_proc_drop.inc
|
||||||
|
--source ../include/func_caltrace_drop_if_needed.inc
|
||||||
|
DROP DATABASE mcs_ctype_extent_koi8u;
|
||||||
|
USE test;
|
99
mysql-test/columnstore/basic/t/ctype_extent_latin1.test
Normal file
99
mysql-test/columnstore/basic/t/ctype_extent_latin1.test
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
--source ../include/have_columnstore.inc
|
||||||
|
--source ../include/func_caltrace_create_if_needed.inc
|
||||||
|
--disable_warnings
|
||||||
|
DROP DATABASE IF EXISTS mcs_ctype_extent_latin1;
|
||||||
|
--enable_warnings
|
||||||
|
CREATE DATABASE mcs_ctype_extent_latin1;
|
||||||
|
USE mcs_ctype_extent_latin1;
|
||||||
|
SET default_storage_engine=ColumnStore;
|
||||||
|
--source ../include/ctype_extent_proc_create.inc
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MCOL-4871 Extent elimination for short CHAR does not work well
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET NAMES utf8;
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
CREATE PROCEDURE test(collation VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
DECLARE stmt TEXT;
|
||||||
|
DECLARE CONTINUE HANDLER FOR 9999
|
||||||
|
BEGIN
|
||||||
|
GET DIAGNOSTICS CONDITION 1 @errmsg = MESSAGE_TEXT;
|
||||||
|
SET @errmsg=caltrace_extract_block_diagnostics(@errmsg);
|
||||||
|
RESIGNAL SET MESSAGE_TEXT=@errmsg;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DO calsettrace(1);
|
||||||
|
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET latin1 COLLATE latin1_swedish_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'latin1_swedish_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES (0xE9);
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1=x'E9';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='o';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET latin1 COLLATE latin1_swedish_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'latin1_swedish_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ÿ€' /*_latin1 x'FF80'*/);
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ÿ€';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1=x'FF7F' /* 'ÿ<DEL>' */;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(4) CHARACTER SET latin1 COLLATE latin1_swedish_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'latin1_swedish_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ÿÿÿ€' /*_latin1 x'FFFFFF80'*/);
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ÿÿÿ€';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1=x'FFFFFF7F' /* 'ÿÿÿ<DEL>' */;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(8) CHARACTER SET latin1 COLLATE latin1_swedish_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'latin1_swedish_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('ÿÿÿÿÿÿÿ€' /*_latin1 x'FFFFFFFFFFFFFF80'*/);
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='ÿÿÿÿÿÿÿ€';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1=x'FFFFFFFFFFFFFF7F' /* 'ÿÿÿÿÿÿÿ<DEL>' */;
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
DO calsettrace(0);
|
||||||
|
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
|
||||||
|
CALL test('latin1_swedish_ci');
|
||||||
|
CALL test('latin1_swedish_nopad_ci');
|
||||||
|
CALL test('latin1_bin');
|
||||||
|
CALL test('latin1_nopad_bin');
|
||||||
|
|
||||||
|
DROP PROCEDURE test;
|
||||||
|
|
||||||
|
|
||||||
|
--source ../include/ctype_extent_proc_drop.inc
|
||||||
|
--source ../include/func_caltrace_drop_if_needed.inc
|
||||||
|
DROP DATABASE mcs_ctype_extent_latin1;
|
||||||
|
USE test;
|
74
mysql-test/columnstore/basic/t/ctype_extent_utf8mb3.test
Normal file
74
mysql-test/columnstore/basic/t/ctype_extent_utf8mb3.test
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
--source ../include/have_columnstore.inc
|
||||||
|
--source ../include/func_caltrace_create_if_needed.inc
|
||||||
|
--disable_warnings
|
||||||
|
DROP DATABASE IF EXISTS mcs_ctype_extent_utf8mb3;
|
||||||
|
--enable_warnings
|
||||||
|
CREATE DATABASE mcs_ctype_extent_utf8mb3;
|
||||||
|
USE mcs_ctype_extent_utf8mb3;
|
||||||
|
SET default_storage_engine=ColumnStore;
|
||||||
|
--source ../include/ctype_extent_proc_create.inc
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MCOL-4871 Extent elimination for short CHAR does not work well
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET NAMES utf8;
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
CREATE PROCEDURE test(collation VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
DECLARE stmt TEXT;
|
||||||
|
DECLARE CONTINUE HANDLER FOR 9999
|
||||||
|
BEGIN
|
||||||
|
GET DIAGNOSTICS CONDITION 1 @errmsg = MESSAGE_TEXT;
|
||||||
|
SET @errmsg=caltrace_extract_block_diagnostics(@errmsg);
|
||||||
|
RESIGNAL SET MESSAGE_TEXT=@errmsg;
|
||||||
|
END;
|
||||||
|
|
||||||
|
DO calsettrace(1);
|
||||||
|
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'utf8mb3_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('a');
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='a';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='b';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
SET stmt='CREATE TABLE t1 (c1 CHAR(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci)';
|
||||||
|
SET stmt=REPLACE(stmt,'utf8mb3_general_ci', collation);
|
||||||
|
SELECT stmt AS ``;
|
||||||
|
EXECUTE IMMEDIATE stmt;
|
||||||
|
INSERT INTO t1 VALUES ('aa');
|
||||||
|
SELECT c1, HEX(c1) FROM t1;
|
||||||
|
CALL show_extent_min_max(database(),'t1','c1');
|
||||||
|
SELECT * FROM t1 WHERE c1='aa';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
SELECT * FROM t1 WHERE c1='bb';
|
||||||
|
SHOW WARNINGS;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
DO calsettrace(0);
|
||||||
|
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
|
||||||
|
CALL test('utf8mb3_unicode_ci');
|
||||||
|
CALL test('utf8mb3_unicode_nopad_ci');
|
||||||
|
CALL test('utf8mb3_general_ci');
|
||||||
|
CALL test('utf8mb3_general_nopad_ci');
|
||||||
|
CALL test('utf8mb3_bin');
|
||||||
|
CALL test('utf8mb3_nopad_bin');
|
||||||
|
|
||||||
|
DROP PROCEDURE test;
|
||||||
|
|
||||||
|
--source ../include/ctype_extent_proc_drop.inc
|
||||||
|
--source ../include/func_caltrace_drop_if_needed.inc
|
||||||
|
DROP DATABASE mcs_ctype_extent_utf8mb3;
|
||||||
|
USE test;
|
32
mysql-test/columnstore/include/ctype_extent_proc_create.inc
Normal file
32
mysql-test/columnstore/include/ctype_extent_proc_create.inc
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
CREATE PROCEDURE show_extent_min_max(schema_arg VARCHAR(64),
|
||||||
|
table_arg VARCHAR(64),
|
||||||
|
column_arg VARCHAR(64))
|
||||||
|
BEGIN
|
||||||
|
SELECT
|
||||||
|
c.table_schema,
|
||||||
|
c.table_name,
|
||||||
|
c.column_name,
|
||||||
|
hex(CAST(e.min_value AS SIGNED)),
|
||||||
|
hex(CAST(e.max_value AS SIGNED))
|
||||||
|
FROM
|
||||||
|
information_schema.columnstore_extents e,
|
||||||
|
information_schema.columnstore_columns c
|
||||||
|
WHERE c.object_id=e.object_id
|
||||||
|
AND table_schema=schema_arg
|
||||||
|
AND table_name=table_arg
|
||||||
|
AND column_name=column_arg;
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
||||||
|
|
||||||
|
DELIMITER $$;
|
||||||
|
CREATE FUNCTION caltrace_extract_block_diagnostics(msg TEXT CHARACTER SET utf8mb4)
|
||||||
|
RETURNS TEXT CHARACTER SET utf8mb4
|
||||||
|
BEGIN
|
||||||
|
RETURN CONCAT(regexp_substr(msg, '(BlocksTouched-[^;]*);'), ' ',
|
||||||
|
regexp_substr(msg, '(PartitionBlocksEliminated-[^;]*);'));
|
||||||
|
END;
|
||||||
|
$$
|
||||||
|
DELIMITER ;$$
|
@ -0,0 +1,2 @@
|
|||||||
|
DROP PROCEDURE show_extent_min_max;
|
||||||
|
DROP FUNCTION caltrace_extract_block_diagnostics;
|
@ -0,0 +1,25 @@
|
|||||||
|
#
|
||||||
|
# Functions calgettrace() and calsettrace():
|
||||||
|
# - normally exist when "mtr --extern" is running
|
||||||
|
# - do not exist when mtr without --extern is running
|
||||||
|
#
|
||||||
|
# This file creates the functions if they do not exist.
|
||||||
|
#
|
||||||
|
|
||||||
|
let $func_exists_calsettrace=`SELECT COUNT(*) FROM mysql.func WHERE name='calsettrace'`;
|
||||||
|
--disable_query_log
|
||||||
|
if (!$func_exists_calsettrace)
|
||||||
|
{
|
||||||
|
CREATE FUNCTION calsettrace RETURNS INTEGER SONAME "ha_columnstore.so";
|
||||||
|
}
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
|
|
||||||
|
let $func_exists_calgettrace=`SELECT COUNT(*) FROM mysql.func WHERE name='calgettrace'`;
|
||||||
|
--disable_query_log
|
||||||
|
if (!$func_exists_calgettrace)
|
||||||
|
{
|
||||||
|
CREATE FUNCTION calgettrace RETURNS STRING SONAME "ha_columnstore.so";
|
||||||
|
}
|
||||||
|
--enable_query_log
|
||||||
|
|
@ -0,0 +1,13 @@
|
|||||||
|
--disable_query_log
|
||||||
|
if (!$func_exists_calgettrace)
|
||||||
|
{
|
||||||
|
DROP FUNCTION calgettrace;
|
||||||
|
}
|
||||||
|
--enable_query_log
|
||||||
|
|
||||||
|
--disable_query_log
|
||||||
|
if (!$func_exists_calsettrace)
|
||||||
|
{
|
||||||
|
DROP FUNCTION calsettrace;
|
||||||
|
}
|
||||||
|
--enable_query_log
|
Reference in New Issue
Block a user