summaryrefslogtreecommitdiff
path: root/mysql-test/r
diff options
context:
space:
mode:
authorGalina Shalygina <galashalygina@gmail.com>2016-05-08 23:04:41 +0300
committerGalina Shalygina <galashalygina@gmail.com>2016-05-08 23:04:41 +0300
commitbe1d06c8a5f843e775374e5ec148aaee56970bdc (patch)
treebd7a95e771ca3b405583dccab8b468dd6fb4509f /mysql-test/r
parente09b1f2a226bf2763b211f74908a6486b83ebed1 (diff)
downloadmariadb-git-be1d06c8a5f843e775374e5ec148aaee56970bdc.tar.gz
Merge branch '10.2' into 10.2-mdev9864
Diffstat (limited to 'mysql-test/r')
-rw-r--r--mysql-test/r/analyze_format_json.result21
-rw-r--r--mysql-test/r/analyze_stmt_orderby.result65
-rw-r--r--mysql-test/r/connect2.result1
-rw-r--r--mysql-test/r/cte_nonrecursive.result13
-rw-r--r--mysql-test/r/cte_recursive.result289
-rw-r--r--mysql-test/r/ctype_eucjpms.result21
-rw-r--r--mysql-test/r/ctype_gbk_export_import.result3903
-rw-r--r--mysql-test/r/ctype_ujis.result21
-rw-r--r--mysql-test/r/ctype_utf8.result33
-rw-r--r--mysql-test/r/ctype_utf8mb4.result27
-rw-r--r--mysql-test/r/delayed.result34
-rw-r--r--mysql-test/r/derived_opt.result4
-rw-r--r--mysql-test/r/distinct.result18
-rw-r--r--mysql-test/r/explain_json.result12
-rw-r--r--mysql-test/r/func_analyse.result26
-rw-r--r--mysql-test/r/func_group.result2
-rw-r--r--mysql-test/r/group_by.result49
-rw-r--r--mysql-test/r/having.result10
-rw-r--r--mysql-test/r/join_cache.result4
-rw-r--r--mysql-test/r/join_outer.result12
-rw-r--r--mysql-test/r/join_outer_jcl6.result12
-rw-r--r--mysql-test/r/limit.result4
-rw-r--r--mysql-test/r/limit_rows_examined.result29
-rw-r--r--mysql-test/r/mrr_derived_crash_4610.result4
-rw-r--r--mysql-test/r/myisam.result8
-rw-r--r--mysql-test/r/order_by_optimizer.result30
-rw-r--r--mysql-test/r/parser.result4
-rw-r--r--mysql-test/r/select_found.result20
-rw-r--r--mysql-test/r/show_explain.result2
-rw-r--r--mysql-test/r/subselect.result2
-rw-r--r--mysql-test/r/subselect4.result6
-rw-r--r--mysql-test/r/subselect_no_exists_to_in.result2
-rw-r--r--mysql-test/r/subselect_no_mat.result2
-rw-r--r--mysql-test/r/subselect_no_opts.result2
-rw-r--r--mysql-test/r/subselect_no_scache.result2
-rw-r--r--mysql-test/r/subselect_no_semijoin.result2
-rw-r--r--mysql-test/r/win.result1961
-rw-r--r--mysql-test/r/win_avg.result95
-rw-r--r--mysql-test/r/win_bit.result117
-rw-r--r--mysql-test/r/win_ntile.result435
-rw-r--r--mysql-test/r/win_orderby.result26
-rw-r--r--mysql-test/r/win_percent_cume.result62
-rw-r--r--mysql-test/r/win_rank.result104
-rw-r--r--mysql-test/r/win_sum.result95
44 files changed, 7474 insertions, 117 deletions
diff --git a/mysql-test/r/analyze_format_json.result b/mysql-test/r/analyze_format_json.result
index 4f8876a8414..fadbe705f99 100644
--- a/mysql-test/r/analyze_format_json.result
+++ b/mysql-test/r/analyze_format_json.result
@@ -492,8 +492,9 @@ ANALYZE
"select_id": 1,
"r_loops": 1,
"volatile parameter": "REPLACED",
- "having_condition": "(TOP > a)",
+ "having_condition": "(TOP > t2.a)",
"filesort": {
+ "sort_key": "t2.a",
"r_loops": 1,
"volatile parameter": "REPLACED",
"r_used_priority_queue": false,
@@ -523,6 +524,7 @@ ANALYZE
"r_loops": 1,
"volatile parameter": "REPLACED",
"filesort": {
+ "sort_key": "t2.a",
"r_loops": 1,
"volatile parameter": "REPLACED",
"r_used_priority_queue": false,
@@ -563,6 +565,7 @@ ANALYZE
"r_loops": 1,
"volatile parameter": "REPLACED",
"filesort": {
+ "sort_key": "t2.a",
"r_loops": 1,
"volatile parameter": "REPLACED",
"r_used_priority_queue": false,
@@ -684,18 +687,20 @@ ANALYZE
"r_loops": 1,
"volatile parameter": "REPLACED",
"filesort": {
+ "sort_key": "group_concat(t3.f3 separator ',')",
"r_loops": 1,
"volatile parameter": "REPLACED",
"r_used_priority_queue": false,
"r_output_rows": 0,
"volatile parameter": "REPLACED",
- "filesort": {
- "r_loops": 1,
- "volatile parameter": "REPLACED",
- "r_used_priority_queue": false,
- "r_output_rows": 0,
- "volatile parameter": "REPLACED",
- "temporary_table": {
+ "temporary_table": {
+ "filesort": {
+ "sort_key": "(subquery#2)",
+ "r_loops": 1,
+ "volatile parameter": "REPLACED",
+ "r_used_priority_queue": false,
+ "r_output_rows": 0,
+ "volatile parameter": "REPLACED",
"temporary_table": {
"table": {
"table_name": "t2",
diff --git a/mysql-test/r/analyze_stmt_orderby.result b/mysql-test/r/analyze_stmt_orderby.result
index be1f01a2a52..37f0005148e 100644
--- a/mysql-test/r/analyze_stmt_orderby.result
+++ b/mysql-test/r/analyze_stmt_orderby.result
@@ -172,8 +172,8 @@ EXPLAIN
"query_block": {
"select_id": 1,
"filesort": {
+ "sort_key": "t2.b",
"temporary_table": {
- "function": "buffer",
"table": {
"table_name": "t0",
"access_type": "ALL",
@@ -205,6 +205,7 @@ ANALYZE
"r_loops": 1,
"r_total_time_ms": "REPLACED",
"filesort": {
+ "sort_key": "t2.b",
"r_loops": 1,
"r_total_time_ms": "REPLACED",
"r_limit": 4,
@@ -257,6 +258,7 @@ EXPLAIN
"select_id": 1,
"read_sorted_file": {
"filesort": {
+ "sort_key": "t0.a",
"table": {
"table_name": "t0",
"access_type": "ALL",
@@ -290,6 +292,7 @@ ANALYZE
"read_sorted_file": {
"r_rows": 10,
"filesort": {
+ "sort_key": "t0.a",
"r_loops": 1,
"r_total_time_ms": "REPLACED",
"r_used_priority_queue": false,
@@ -346,6 +349,7 @@ ANALYZE
"r_loops": 1,
"r_total_time_ms": "REPLACED",
"filesort": {
+ "sort_key": "t2.c",
"r_loops": 1,
"r_total_time_ms": "REPLACED",
"r_used_priority_queue": false,
@@ -455,18 +459,20 @@ ANALYZE
"r_loops": 1,
"r_total_time_ms": "REPLACED",
"filesort": {
+ "sort_key": "count(distinct t5.b)",
"r_loops": 1,
"r_total_time_ms": "REPLACED",
"r_limit": 1,
"r_used_priority_queue": true,
"r_output_rows": 2,
- "filesort": {
- "r_loops": 1,
- "r_total_time_ms": "REPLACED",
- "r_used_priority_queue": false,
- "r_output_rows": 6,
- "r_buffer_size": "REPLACED",
- "temporary_table": {
+ "temporary_table": {
+ "filesort": {
+ "sort_key": "t5.a",
+ "r_loops": 1,
+ "r_total_time_ms": "REPLACED",
+ "r_used_priority_queue": false,
+ "r_output_rows": 6,
+ "r_buffer_size": "REPLACED",
"temporary_table": {
"table": {
"table_name": "t6",
@@ -511,26 +517,31 @@ EXPLAIN
"query_block": {
"select_id": 1,
"filesort": {
+ "sort_key": "count(distinct t5.b)",
"temporary_table": {
- "function": "buffer",
- "table": {
- "table_name": "t6",
- "access_type": "ALL",
- "rows": 5,
- "filtered": 100,
- "attached_condition": "((t6.b > 0) and (t6.a <= 5))"
- },
- "block-nl-join": {
- "table": {
- "table_name": "t5",
- "access_type": "ALL",
- "rows": 7,
- "filtered": 100
- },
- "buffer_type": "flat",
- "buffer_size": "256Kb",
- "join_type": "BNL",
- "attached_condition": "(t5.a = t6.a)"
+ "filesort": {
+ "sort_key": "t5.a",
+ "temporary_table": {
+ "table": {
+ "table_name": "t6",
+ "access_type": "ALL",
+ "rows": 5,
+ "filtered": 100,
+ "attached_condition": "((t6.b > 0) and (t6.a <= 5))"
+ },
+ "block-nl-join": {
+ "table": {
+ "table_name": "t5",
+ "access_type": "ALL",
+ "rows": 7,
+ "filtered": 100
+ },
+ "buffer_type": "flat",
+ "buffer_size": "256Kb",
+ "join_type": "BNL",
+ "attached_condition": "(t5.a = t6.a)"
+ }
+ }
}
}
}
diff --git a/mysql-test/r/connect2.result b/mysql-test/r/connect2.result
index b68f7ae7c43..5430626a533 100644
--- a/mysql-test/r/connect2.result
+++ b/mysql-test/r/connect2.result
@@ -1,6 +1,7 @@
call mtr.add_suppression("Allocation failed");
SET @old_debug= @@session.debug;
set @old_thread_cache_size=@@global.thread_cache_size;
+set @@global.thread_cache_size=0;
connect con1,localhost,root,,test,,;
select 1;
1
diff --git a/mysql-test/r/cte_nonrecursive.result b/mysql-test/r/cte_nonrecursive.result
index df641156e61..a9c13f3f10b 100644
--- a/mysql-test/r/cte_nonrecursive.result
+++ b/mysql-test/r/cte_nonrecursive.result
@@ -746,3 +746,16 @@ with t(f1,f1) as (select * from t1 where b >= 'c')
select t1.b from t2,t1 where t1.a = t2.c;
ERROR 42S21: Duplicate column name 'f1'
drop table t1,t2;
+#
+# Bug mdev-9937: View used in the specification of with table
+# refers to the base table with the same name
+#
+create table t1 (a int);
+insert into t1 values (20), (30), (10);
+create view v1 as select * from t1 where a > 10;
+with t1 as (select * from v1) select * from t1;
+a
+20
+30
+drop view v1;
+drop table t1;
diff --git a/mysql-test/r/cte_recursive.result b/mysql-test/r/cte_recursive.result
new file mode 100644
index 00000000000..7408bc56e63
--- /dev/null
+++ b/mysql-test/r/cte_recursive.result
@@ -0,0 +1,289 @@
+create table t1 (a int, b varchar(32));
+insert into t1 values
+(4,'aaaa' ), (7,'bb'), (1,'ccc'), (4,'dd');
+insert into t1 values
+(3,'eee'), (7,'bb'), (1,'fff'), (4,'ggg');
+with recursive
+a1(a,b) as
+(select * from t1 where t1.a>3
+union
+select * from b1 where b1.a >3
+union
+select * from c1 where c1.a>3),
+b1(a,b) as
+(select * from a1 where a1.b > 'ccc'
+union
+select * from c1 where c1.b > 'ddd'),
+c1(a,b) as
+(select * from a1 where a1.a<6 and a1.b< 'zz'
+union
+select * from b1 where b1.b > 'auu')
+select * from c1;
+ERROR HY000: No anchors for recursive WITH element 'b1'
+drop table t1;
+create table folks(id int, name char(32), dob date, father int, mother int);
+insert into folks values
+(100, 'Vasya', '2000-01-01', 20, 30),
+(20, 'Dad', '1970-02-02', 10, 9),
+(30, 'Mom', '1975-03-03', 8, 7),
+(10, 'Grandpa Bill', '1940-04-05', null, null),
+(9, 'Grandma Ann', '1941-10-15', null, null),
+(25, 'Uncle Jim', '1968-11-18', 8, 7),
+(98, 'Sister Amy', '2001-06-20', 20, 30),
+(8, 'Grandma Sally', '1943-08-23', 5, 6),
+(6, 'Grandgrandma Martha', '1923-05-17', null, null),
+(67, 'Cousin Eddie', '1992-02-28', 25, 27),
+(27, 'Auntie Melinda', '1971-03-29', null, null);
+with recursive
+ancestors
+as
+(
+select *
+from folks
+where name = 'Vasya' and dob = '2000-01-01'
+ union
+select p.id, p.name, p.dob, p.father, p.mother
+from folks as p, ancestors AS a
+where p.id = a.father or p.id = a.mother
+)
+select * from ancestors;
+id name dob father mother
+100 Vasya 2000-01-01 20 30
+20 Dad 1970-02-02 10 9
+30 Mom 1975-03-03 8 7
+10 Grandpa Bill 1940-04-05 NULL NULL
+9 Grandma Ann 1941-10-15 NULL NULL
+8 Grandma Sally 1943-08-23 5 6
+6 Grandgrandma Martha 1923-05-17 NULL NULL
+with recursive
+ancestors
+as
+(
+select p.*
+from folks as p, ancestors AS a
+where p.id = a.father or p.id = a.mother
+union
+select *
+from folks
+where name = 'Vasya' and dob = '2000-01-01'
+)
+select * from ancestors;
+id name dob father mother
+100 Vasya 2000-01-01 20 30
+20 Dad 1970-02-02 10 9
+30 Mom 1975-03-03 8 7
+10 Grandpa Bill 1940-04-05 NULL NULL
+9 Grandma Ann 1941-10-15 NULL NULL
+8 Grandma Sally 1943-08-23 5 6
+6 Grandgrandma Martha 1923-05-17 NULL NULL
+with recursive
+ancestors
+as
+(
+select *
+from folks
+where name = 'Cousin Eddie'
+ union
+select p.*
+from folks as p, ancestors as a
+where p.id = a.father or p.id = a.mother
+)
+select * from ancestors;
+id name dob father mother
+67 Cousin Eddie 1992-02-28 25 27
+25 Uncle Jim 1968-11-18 8 7
+27 Auntie Melinda 1971-03-29 NULL NULL
+8 Grandma Sally 1943-08-23 5 6
+6 Grandgrandma Martha 1923-05-17 NULL NULL
+with recursive
+ancestors
+as
+(
+select *
+from folks
+where name = 'Vasya' or name='Sister Amy'
+ union
+select p.*
+from folks as p, ancestors as a
+where p.id = a.father or p.id = a.mother
+)
+select * from ancestors;
+id name dob father mother
+100 Vasya 2000-01-01 20 30
+98 Sister Amy 2001-06-20 20 30
+20 Dad 1970-02-02 10 9
+30 Mom 1975-03-03 8 7
+10 Grandpa Bill 1940-04-05 NULL NULL
+9 Grandma Ann 1941-10-15 NULL NULL
+8 Grandma Sally 1943-08-23 5 6
+6 Grandgrandma Martha 1923-05-17 NULL NULL
+with recursive
+prev_gen
+as
+(
+select folks.*
+from folks, prev_gen
+where folks.id=prev_gen.father or folks.id=prev_gen.mother
+union
+select *
+from folks
+where name='Vasya'
+),
+ancestors
+as
+(
+select *
+from folks
+where name='Vasya'
+ union
+select *
+from ancestors
+union
+select *
+from prev_gen
+)
+select ancestors.name, ancestors.dob from ancestors;
+name dob
+Vasya 2000-01-01
+Dad 1970-02-02
+Mom 1975-03-03
+Grandpa Bill 1940-04-05
+Grandma Ann 1941-10-15
+Grandma Sally 1943-08-23
+Grandgrandma Martha 1923-05-17
+with recursive
+descendants
+as
+(
+select *
+from folks
+where name = 'Grandpa Bill'
+ union
+select folks.*
+from folks, descendants as d
+where d.id=folks.father or d.id=folks.mother
+)
+select * from descendants;
+id name dob father mother
+10 Grandpa Bill 1940-04-05 NULL NULL
+20 Dad 1970-02-02 10 9
+100 Vasya 2000-01-01 20 30
+98 Sister Amy 2001-06-20 20 30
+with recursive
+descendants
+as
+(
+select *
+from folks
+where name = 'Grandma Sally'
+ union
+select folks.*
+from folks, descendants as d
+where d.id=folks.father or d.id=folks.mother
+)
+select * from descendants;
+id name dob father mother
+8 Grandma Sally 1943-08-23 5 6
+30 Mom 1975-03-03 8 7
+25 Uncle Jim 1968-11-18 8 7
+100 Vasya 2000-01-01 20 30
+98 Sister Amy 2001-06-20 20 30
+67 Cousin Eddie 1992-02-28 25 27
+with recursive
+ancestors
+as
+(
+select *
+from folks
+where name = 'Vasya' and dob = '2000-01-01'
+ union
+select p.*
+from folks as p, ancestors AS a
+where p.id = a.father OR p.id = a.mother
+)
+select *
+from ancestors t1, ancestors t2
+where exists (select * from ancestors a
+where a.father=t1.id AND a.mother=t2.id);
+id name dob father mother id name dob father mother
+20 Dad 1970-02-02 10 9 30 Mom 1975-03-03 8 7
+10 Grandpa Bill 1940-04-05 NULL NULL 9 Grandma Ann 1941-10-15 NULL NULL
+with
+ancestor_couples(husband, h_dob, wife, w_dob)
+as
+(
+with recursive
+ancestors
+as
+(
+select *
+from folks
+where name = 'Vasya'
+ union
+select p.*
+from folks as p, ancestors AS a
+where p.id = a.father OR p.id = a.mother
+)
+select t1.name, t1.dob, t2.name, t2.dob
+from ancestors t1, ancestors t2
+where exists (select * from ancestors a
+where a.father=t1.id AND a.mother=t2.id)
+)
+select * from ancestor_couples;
+husband h_dob wife w_dob
+Dad 1970-02-02 Mom 1975-03-03
+Grandpa Bill 1940-04-05 Grandma Ann 1941-10-15
+with recursive
+ancestors
+as
+(
+select *
+from folks
+where name = 'Vasya' and dob = '2000-01-01'
+ union
+select p.*
+from folks as p, ancestors AS a
+where p.id = a.father
+union
+select p.*
+from folks as p, ancestors AS a
+where p.id = a.mother
+)
+select * from ancestors;
+id name dob father mother
+100 Vasya 2000-01-01 20 30
+20 Dad 1970-02-02 10 9
+30 Mom 1975-03-03 8 7
+9 Grandma Ann 1941-10-15 NULL NULL
+10 Grandpa Bill 1940-04-05 NULL NULL
+8 Grandma Sally 1943-08-23 5 6
+6 Grandgrandma Martha 1923-05-17 NULL NULL
+with recursive
+ancestor_couples(h_id, h_name, h_dob, h_father, h_mother,
+w_id, w_name, w_dob, w_father, w_mother)
+as
+(
+select h.*, w.*
+from folks h, folks w, coupled_ancestors a
+where a.father = h.id AND a.mother = w.id
+union
+select h.*, w.*
+from folks v, folks h, folks w
+where v.name = 'Vasya' and
+(v.father = h.id AND v.mother= w.id)
+),
+coupled_ancestors (id, name, dob, father, mother)
+as
+(
+select h_id, h_name, h_dob, h_father, h_mother
+from ancestor_couples
+union
+select w_id, w_name, w_dob, w_father, w_mother
+from ancestor_couples
+)
+select h_name, h_dob, w_name, w_dob
+from ancestor_couples;
+h_name h_dob w_name w_dob
+Dad 1970-02-02 Mom 1975-03-03
+Grandpa Bill 1940-04-05 Grandma Ann 1941-10-15
+drop table folks;
diff --git a/mysql-test/r/ctype_eucjpms.result b/mysql-test/r/ctype_eucjpms.result
index f9cb4f1eecc..8d4d8f6d5f9 100644
--- a/mysql-test/r/ctype_eucjpms.result
+++ b/mysql-test/r/ctype_eucjpms.result
@@ -33913,3 +33913,24 @@ DROP TABLE t1;
#
# End of 10.1 tests
#
+#
+# End of 10.2 tests
+#
+#
+# MDEV-9842 LOAD DATA INFILE does not work well with a TEXT column when using sjis
+#
+CREATE TABLE t1 (a TEXT CHARACTER SET eucjpms);
+LOAD DATA INFILE '../../std_data/loaddata/mdev9823.ujis.txt' INTO TABLE t1 CHARACTER SET eucjpms IGNORE 4 LINES;
+SELECT HEX(a) FROM t1;
+HEX(a)
+3F
+78787831
+3F3F
+78787832
+8FA1A1
+78787833
+3F3F
+DROP TABLE t1;
+#
+# End of 10.2 tests
+#
diff --git a/mysql-test/r/ctype_gbk_export_import.result b/mysql-test/r/ctype_gbk_export_import.result
new file mode 100644
index 00000000000..d7d5aa98f02
--- /dev/null
+++ b/mysql-test/r/ctype_gbk_export_import.result
@@ -0,0 +1,3903 @@
+DROP DATABASE IF EXISTS gbk;
+CREATE DATABASE gbk DEFAULT CHARACTER SET gbk;
+USE gbk;
+CREATE TABLE t1 (
+id INT NOT NULL,
+a1 TEXT NOT NULL,
+a2 TEXT CHARACTER SET utf8 NOT NULL,
+b1 BLOB NOT NULL,
+eol TEXT NOT NULL);
+CREATE PROCEDURE populate()
+BEGIN
+TRUNCATE TABLE t1;
+INSERT INTO t1 SET id=1, a1=0xEE5C, a2=_gbk 0xEE5C, b1=0xEE5C, eol='$';
+INSERT INTO t1 SET id=2, a1=0xEE5C5C, a2=_gbk 0xEE5C5C, b1=0xEE5C5C, eol='$';
+END|
+CREATE FUNCTION cmt(id INT, field_name TEXT, field_value BLOB)
+RETURNS TEXT CHARACTER SET utf8
+BEGIN
+DECLARE comment TEXT CHARACTER SET utf8;
+DECLARE expected_value_01 BLOB;
+DECLARE expected_value_02 BLOB;
+SET comment= CASE field_name WHEN 'a1' THEN 'TEXT-GBK' WHEN 'a2' THEN 'TEXT-UTF8' WHEN 'b1' THEN 'BLOB' ELSE '' END;
+SET expected_value_01= CASE field_name WHEN 'a1' THEN 0xEE5C WHEN 'a2' THEN 0xE9A0AB WHEN 'b1' THEN 0xEE5C ELSE '' END;
+SET expected_value_02= CASE field_name WHEN 'a1' THEN 0xEE5C5C WHEN 'a2' THEN 0xE9A0AB5C WHEN 'b1' THEN 0xEE5C5C ELSE '' END;
+RETURN IF(CASE id
+WHEN 1 THEN expected_value_01
+WHEN 2 THEN expected_value_02
+ELSE ''
+ END <> field_value,
+CONCAT('BAD-', comment), '');
+END|
+CREATE FUNCTION display_file(file BLOB) RETURNS TEXT CHARACTER SET utf8
+BEGIN
+SET file=REPLACE(file, 0x09, '----');
+SET file=REPLACE(file, 0x0A, '++++');
+RETURN REPLACE(REPLACE(HEX(file), '2D2D2D2D','-'), '2B2B2B2B','|');
+END|
+CREATE VIEW v1 AS
+SELECT
+id,
+CONCAT(RPAD(HEX(a1),50,' '), cmt(id, 'a1', a1)) AS a1,
+CONCAT(RPAD(HEX(a2),50,' '), cmt(id, 'a2', a2)) AS a2,
+CONCAT(RPAD(HEX(b1),50,' '), cmt(id, 'b1', b1)) AS b1,
+CONCAT(RPAD(HEX(eol),50,' '), IF(eol<>'$','BAD-EOL','')) AS eol,
+'---' AS `---`
+FROM t1;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `id` int(11) NOT NULL,
+ `a1` text NOT NULL,
+ `a2` text CHARACTER SET utf8 NOT NULL,
+ `b1` blob NOT NULL,
+ `eol` text NOT NULL
+) ENGINE=MyISAM DEFAULT CHARSET=gbk
+#
+# Dump using SELECT INTO OUTFILE
+#
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=auto
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto }{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=auto
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET gbk
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=auto
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET utf8
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=auto
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=auto CHARACTER SET binary
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=auto CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=auto
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk }{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=auto
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET gbk
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=auto
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET utf8
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=auto
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=gbk CHARACTER SET binary
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-E9A0AB-5CEE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-5CEE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=auto
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 }{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=auto
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET gbk
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET gbk}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=auto
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET utf8
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET utf8}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=auto }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=auto
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+OUTFILE: --default-character-set=utf8 CHARACTER SET binary
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8 CHARACTER SET binary}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+#
+# Dump using mysqldump -Tdir
+#
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=auto }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=auto
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=binary }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=binary }
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=binary CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=binary CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=binary CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=binary CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=binary CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=binary CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=binary CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=binary CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=binary CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9978B3F BAD-TEXT-UTF8
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C5C
+a2 E9978BE78E9509E9A0AB5C0924 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 E9A0AB
+b1 EE5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 EE5C5C0924 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=binary
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-E9A0AB-EE5C5C-24|32-EE5C5C5C-E9A0AB5C5C-EE5C5C5C5C-24|
+id 1
+a1 3F09E9A03F BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09E9A0AB5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 24 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=binary}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=auto }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=auto
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=binary }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=binary }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=binary CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=binary CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=binary CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=binary CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=binary CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=binary CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=binary CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=binary CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=binary CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F5C BAD-TEXT-GBK
+a2 3F5C BAD-TEXT-UTF8
+b1 EE5C
+eol 24
+--- ---
+id 2
+a1 3F5C5C BAD-TEXT-GBK
+a2 3F5C5C BAD-TEXT-UTF8
+b1 EE5C5C
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=gbk
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-EE5C-EE5C-EE5C-24|32-EE5C5C5C-EE5C5C5C-EE5C5C5C-24|
+id 1
+a1 3F093F093F0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+id 2
+a1 EE5C09EE5C09EE5C0924 BAD-TEXT-GBK
+a2 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=gbk}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=auto }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=auto
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=auto }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=auto CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=auto CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=auto CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=auto CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=auto CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=auto CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=auto CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=auto CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=auto CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=binary }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=binary }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=binary CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=binary CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=binary CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=binary CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=binary CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=binary CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=binary CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=binary CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=binary CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=gbk }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=gbk }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=gbk CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=gbk CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=gbk CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=gbk CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=gbk CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=gbk CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=gbk CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=gbk CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=gbk CHARACTER SET binary}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=utf8 }
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=utf8 }
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=utf8 CHARACTER SET gbk}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=utf8 CHARACTER SET gbk
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9978B3F BAD-TEXT-UTF8
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C09E9A0AB5C093F5C5C BAD-TEXT-GBK
+a2 24 BAD-TEXT-UTF8
+b1 BAD-BLOB
+eol BAD-EOL
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=utf8 CHARACTER SET gbk}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=utf8 CHARACTER SET utf8}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=utf8 CHARACTER SET utf8
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 EE5C
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 EE5C5C
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=utf8 CHARACTER SET utf8}
+
+
+Start of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=utf8 CHARACTER SET binary}
+Locale: zh_CN.gbk
+mysqldump: --default-character-set=utf8
+INFILE: --default-character-set=utf8 CHARACTER SET binary
+file 31-E9A0AB-E9A0AB-3F5C5C-24|32-E9A0AB5C5C-E9A0AB5C5C-3F5C5C5C5C-24|
+id 1
+a1 E9A03F BAD-TEXT-GBK
+a2 E9A0AB
+b1 3F5C BAD-BLOB
+eol 24
+--- ---
+id 2
+a1 E9A0AB5C BAD-TEXT-GBK
+a2 E9A0AB5C
+b1 3F5C5C BAD-BLOB
+eol 24
+--- ---
+End of {zh_CN.gbk}{--default-character-set=utf8}{--default-character-set=utf8 CHARACTER SET binary}
+
+
+DROP DATABASE gbk;
+USE test;
diff --git a/mysql-test/r/ctype_ujis.result b/mysql-test/r/ctype_ujis.result
index 61541ec7678..5eb9a3e1db5 100644
--- a/mysql-test/r/ctype_ujis.result
+++ b/mysql-test/r/ctype_ujis.result
@@ -26218,3 +26218,24 @@ DROP TABLE t1;
#
# End of 10.1 tests
#
+#
+# End of 10.2 tests
+#
+#
+# MDEV-9842 LOAD DATA INFILE does not work well with a TEXT column when using sjis
+#
+CREATE TABLE t1 (a TEXT CHARACTER SET ujis);
+LOAD DATA INFILE '../../std_data/loaddata/mdev9823.ujis.txt' INTO TABLE t1 CHARACTER SET ujis IGNORE 4 LINES;
+SELECT HEX(a) FROM t1;
+HEX(a)
+3F
+78787831
+3F3F
+78787832
+8FA1A1
+78787833
+3F3F
+DROP TABLE t1;
+#
+# End of 10.2 tests
+#
diff --git a/mysql-test/r/ctype_utf8.result b/mysql-test/r/ctype_utf8.result
index f52e08a676f..48a6eb02526 100644
--- a/mysql-test/r/ctype_utf8.result
+++ b/mysql-test/r/ctype_utf8.result
@@ -10426,5 +10426,38 @@ b
c
DROP TABLE t1;
#
+# MDEV-9842 LOAD DATA INFILE does not work well with a TEXT column when using sjis
+#
+CREATE TABLE t1 (a TEXT CHARACTER SET utf8);
+LOAD DATA INFILE '../../std_data/loaddata/mdev9823.utf8mb4.txt' INTO TABLE t1 CHARACTER SET utf8 IGNORE 4 LINES;
+Warnings:
+Warning 1366 Incorrect string value: '\xD0' for column 'a' at row 1
+Warning 1366 Incorrect string value: '\xE1\x80' for column 'a' at row 3
+Warning 1366 Incorrect string value: '\xF0\x9F\x98' for column 'a' at row 5
+Warning 1366 Incorrect string value: '\xF0\x9F\x98\x8E' for column 'a' at row 7
+Warning 1366 Incorrect string value: '\xF0\x9F\x98' for column 'a' at row 8
+SELECT HEX(a) FROM t1;
+HEX(a)
+3F
+78787831
+3F3F
+78787832
+3F3F3F
+78787833
+3F3F3F3F
+3F3F3F
+DROP TABLE t1;
+#
+# MDEV-9874 LOAD XML INFILE does not handle well broken multi-byte characters
+#
+CREATE TABLE t1 (a TEXT CHARACTER SET utf8);
+LOAD XML INFILE '../../std_data/loaddata/mdev9874.xml' INTO TABLE t1 CHARACTER SET utf8 ROWS IDENTIFIED BY '<row>';
+Warnings:
+Warning 1366 Incorrect string value: '\xD0' for column 'a' at row 1
+SELECT HEX(a) FROM t1;
+HEX(a)
+613F
+DROP TABLE t1;
+#
# End of 10.2 tests
#
diff --git a/mysql-test/r/ctype_utf8mb4.result b/mysql-test/r/ctype_utf8mb4.result
index 10d77ae1502..558aba9c466 100644
--- a/mysql-test/r/ctype_utf8mb4.result
+++ b/mysql-test/r/ctype_utf8mb4.result
@@ -3398,3 +3398,30 @@ DROP FUNCTION f1;
#
# End of 10.1 tests
#
+#
+# End of 10.2 tests
+#
+#
+# MDEV-9842 LOAD DATA INFILE does not work well with a TEXT column when using sjis
+#
+CREATE TABLE t1 (a TEXT CHARACTER SET utf8mb4);
+LOAD DATA INFILE '../../std_data/loaddata/mdev9823.utf8mb4.txt' INTO TABLE t1 CHARACTER SET utf8mb4 IGNORE 4 LINES;
+Warnings:
+Warning 1366 Incorrect string value: '\xD0' for column 'a' at row 1
+Warning 1366 Incorrect string value: '\xE1\x80' for column 'a' at row 3
+Warning 1366 Incorrect string value: '\xF0\x9F\x98' for column 'a' at row 5
+Warning 1366 Incorrect string value: '\xF0\x9F\x98' for column 'a' at row 8
+SELECT HEX(a) FROM t1;
+HEX(a)
+3F
+78787831
+3F3F
+78787832
+3F3F3F
+78787833
+F09F988E
+3F3F3F
+DROP TABLE t1;
+#
+# End of 10.2 tests
+#
diff --git a/mysql-test/r/delayed.result b/mysql-test/r/delayed.result
index 80b99115055..d54fa40f2da 100644
--- a/mysql-test/r/delayed.result
+++ b/mysql-test/r/delayed.result
@@ -476,3 +476,37 @@ connection con1;
disconnect con1;
connection default;
drop tables tm, t1, t2;
+#
+# MDEV-9621 INSERT DELAYED fails on insert for tables with many columns
+#
+CREATE TABLE t1 (
+a int,b int,c int,d int,e int,f int,g int,h int,i int,j int,k int,l int,m int,n int,o int,p int,q int,r int,s int,t int,u int,v int,x int,y int,z int
+) ENGINE=MyISAM;
+INSERT DELAYED INTO t1 (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,x,y,z)
+values (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
+INSERT DELAYED INTO t1 (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,x,y,z)
+values (1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
+drop table t1;
+#
+# INSERT DELAYED hangs if table was crashed
+#
+create table t1 (a int, b int) engine=myisam;
+insert into t1 values (1,1);
+SET debug_dbug="d,crash_shutdown";
+shutdown;
+ERROR HY000: Lost connection to MySQL server during query
+call mtr.add_suppression(" marked as crashed and should be repaired");
+call mtr.add_suppression("Checking table");
+insert delayed into t1 values (2,2);
+Warnings:
+Error 145 Table './test/t1' is marked as crashed and should be repaired
+Error 1194 Table 't1' is marked as crashed and should be repaired
+Error 1034 1 client is using or hasn't closed the table properly
+insert delayed into t1 values (3,3);
+flush tables t1;
+select * from t1;
+a b
+1 1
+2 2
+3 3
+drop table t1;
diff --git a/mysql-test/r/derived_opt.result b/mysql-test/r/derived_opt.result
index 04a76c2cbc8..6e4ea1b5d36 100644
--- a/mysql-test/r/derived_opt.result
+++ b/mysql-test/r/derived_opt.result
@@ -231,8 +231,8 @@ CREATE VIEW v1 AS SELECT a, MIN(b) AS b FROM t2 GROUP BY a;
EXPLAIN
SELECT * FROM v1, t1 WHERE v1.b=t1.a ORDER BY v1.a;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 system NULL NULL NULL NULL 1 Using filesort
-1 PRIMARY <derived2> ref key0 key0 5 const 1 Using where
+1 PRIMARY t1 system NULL NULL NULL NULL 1
+1 PRIMARY <derived2> ref key0 key0 5 const 1 Using where; Using filesort
2 DERIVED t2 ALL NULL NULL NULL NULL 10 Using temporary; Using filesort
SELECT * FROM v1, t1 WHERE v1.b=t1.a ORDER BY v1.a;
a b a
diff --git a/mysql-test/r/distinct.result b/mysql-test/r/distinct.result
index d6e5a69e217..e2a7c462efd 100644
--- a/mysql-test/r/distinct.result
+++ b/mysql-test/r/distinct.result
@@ -175,7 +175,7 @@ explain SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL PRIMARY NULL NULL NULL 4 Using where; Using temporary
1 SIMPLE t3 ref a a 5 test.t1.b 2 Using index
-1 SIMPLE t2 index a a 4 NULL 5 Using where; Using index; Distinct; Using join buffer (flat, BNL join)
+1 SIMPLE t2 index a a 4 NULL 5 Using where; Using index; Using join buffer (flat, BNL join)
SELECT distinct t3.a FROM t3,t2,t1 WHERE t3.a=t1.b AND t1.a=t2.a;
a
1
@@ -302,11 +302,11 @@ WHERE
AND ((t1.id=j_lj_t3.id AND t3_lj.id IS NULL) OR (t1.id=t3.id AND t3.idx=2));
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index id id 4 NULL 2 Using index; Using temporary
-1 SIMPLE t2 index id id 8 NULL 1 Using index; Distinct; Using join buffer (flat, BNL join)
-1 SIMPLE t3 index id id 8 NULL 1 Using index; Distinct; Using join buffer (flat, BNL join)
-1 SIMPLE j_lj_t2 index id id 4 NULL 2 Using where; Using index; Distinct; Using join buffer (flat, BNL join)
-1 SIMPLE t2_lj ref id id 4 test.j_lj_t2.id 1 Using where; Using index; Distinct
-1 SIMPLE j_lj_t3 index id id 4 NULL 2 Using where; Using index; Distinct; Using join buffer (flat, BNL join)
+1 SIMPLE t2 index id id 8 NULL 1 Using index; Using join buffer (flat, BNL join)
+1 SIMPLE t3 index id id 8 NULL 1 Using index; Using join buffer (flat, BNL join)
+1 SIMPLE j_lj_t2 index id id 4 NULL 2 Using where; Using index; Using join buffer (flat, BNL join)
+1 SIMPLE t2_lj ref id id 4 test.j_lj_t2.id 1 Using where; Using index
+1 SIMPLE j_lj_t3 index id id 4 NULL 2 Using where; Using index; Using join buffer (flat, BNL join)
1 SIMPLE t3_lj ref id id 4 test.j_lj_t3.id 1 Using where; Using index; Distinct
SELECT DISTINCT
t1.id
@@ -518,7 +518,7 @@ id select_type table type possible_keys key key_len ref rows Extra
EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1_1 ALL NULL NULL NULL NULL 3 Using temporary
-1 SIMPLE t1_2 index NULL PRIMARY 4 NULL 3 Using index; Distinct; Using join buffer (flat, BNL join)
+1 SIMPLE t1_2 index NULL PRIMARY 4 NULL 3 Using index; Using join buffer (flat, BNL join)
EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2
WHERE t1_1.a = t1_2.a;
id select_type table type possible_keys key key_len ref rows Extra
@@ -916,8 +916,8 @@ SELECT STRAIGHT_JOIN DISTINCT t1.id FROM
t1, v1, t2 WHERE v1.id = t2.i AND t1.i1 = v1.i1 AND t2.i != 3;
id select_type table type possible_keys key key_len ref rows filtered Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 96 100.00 Using where; Using temporary
-1 PRIMARY <derived2> ref key0 key0 5 test.t1.i1 9 100.00 Using where; Distinct
-1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Distinct; Using join buffer (flat, BNL join)
+1 PRIMARY <derived2> ref key0 key0 5 test.t1.i1 9 100.00 Using where
+1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where; Using join buffer (flat, BNL join)
2 DERIVED t1 ALL NULL NULL NULL NULL 96 100.00
Warnings:
Note 1003 select straight_join distinct `test`.`t1`.`id` AS `id` from `test`.`t1` join `test`.`v1` join `test`.`t2` where ((`test`.`t2`.`i` = `v1`.`id`) and (`v1`.`i1` = `test`.`t1`.`i1`) and (`v1`.`id` <> 3))
diff --git a/mysql-test/r/explain_json.result b/mysql-test/r/explain_json.result
index 46d586ac29d..af5d1b800aa 100644
--- a/mysql-test/r/explain_json.result
+++ b/mysql-test/r/explain_json.result
@@ -486,8 +486,8 @@ EXPLAIN
"query_block": {
"select_id": 2,
"filesort": {
+ "sort_key": "t1.a",
"temporary_table": {
- "function": "buffer",
"table": {
"table_name": "t1",
"access_type": "ALL",
@@ -530,8 +530,8 @@ EXPLAIN
"query_block": {
"select_id": 2,
"filesort": {
+ "sort_key": "t1.a",
"temporary_table": {
- "function": "buffer",
"table": {
"table_name": "t1",
"access_type": "ALL",
@@ -576,7 +576,6 @@ EXPLAIN
"query_block": {
"select_id": 2,
"temporary_table": {
- "function": "buffer",
"table": {
"table_name": "t1",
"access_type": "ALL",
@@ -1132,8 +1131,8 @@ EXPLAIN
"select_id": 1,
"having_condition": "(TOP > t2.a)",
"filesort": {
+ "sort_key": "t2.a",
"temporary_table": {
- "function": "buffer",
"table": {
"table_name": "t2",
"access_type": "ALL",
@@ -1151,8 +1150,8 @@ EXPLAIN
"query_block": {
"select_id": 1,
"filesort": {
+ "sort_key": "t2.a",
"temporary_table": {
- "function": "buffer",
"table": {
"table_name": "t2",
"access_type": "ALL",
@@ -1181,8 +1180,8 @@ EXPLAIN
"query_block": {
"select_id": 1,
"filesort": {
+ "sort_key": "t2.a",
"temporary_table": {
- "function": "buffer",
"table": {
"table_name": "t2",
"access_type": "ALL",
@@ -1380,7 +1379,6 @@ EXPLAIN
"query_block": {
"select_id": 1,
"temporary_table": {
- "function": "buffer",
"table": {
"table_name": "t1",
"access_type": "ALL",
diff --git a/mysql-test/r/func_analyse.result b/mysql-test/r/func_analyse.result
index 2c300559a32..bc8ec445e73 100644
--- a/mysql-test/r/func_analyse.result
+++ b/mysql-test/r/func_analyse.result
@@ -19,7 +19,7 @@ test.t1.empty_string 0 0 4 0 0.0000 NULL CHAR(0) NOT NULL
test.t1.bool N Y 1 1 0 0 1.0000 NULL ENUM('N','Y') NOT NULL
test.t1.d 2002-03-03 2002-03-05 10 10 0 0 10.0000 NULL ENUM('2002-03-03','2002-03-04','2002-03-05') NOT NULL
create table t2 select * from t1 procedure analyse();
-ERROR HY000: Incorrect usage of PROCEDURE and non-SELECT
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'procedure analyse()' at line 1
drop table t1;
EXPLAIN SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE();
ERROR HY000: Incorrect usage of PROCEDURE and subquery
@@ -120,7 +120,7 @@ CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES (1),(2);
# should not crash
CREATE TABLE t2 SELECT 1 FROM t1, t1 t3 GROUP BY t3.a PROCEDURE ANALYSE();
-ERROR HY000: Incorrect usage of PROCEDURE and non-SELECT
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE()' at line 1
DROP TABLE t1;
End of 5.0 tests
#
@@ -149,3 +149,25 @@ Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_
test.t2.f2 1 1 1 1 0 0 1.0000 0.0000 ENUM('1') NOT NULL
DROP TABLE t1, t2;
End of 5.1 tests
+#
+# Start of 10.2 tests
+#
+(SELECT 1 FROM DUAL PROCEDURE ANALYSE());
+Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
+1 1 1 1 1 0 0 1.0000 0.0000 ENUM('1') NOT NULL
+((SELECT 1 FROM DUAL PROCEDURE ANALYSE()));
+Field_name Min_value Max_value Min_length Max_length Empties_or_zeros Nulls Avg_value_or_avg_length Std Optimal_fieldtype
+1 1 1 1 1 0 0 1.0000 0.0000 ENUM('1') NOT NULL
+SELECT * FROM t1 UNION SELECT * FROM t1 PROCEDURE analyse();
+ERROR HY000: Incorrect usage of PROCEDURE and subquery
+#
+# MDEV-10030 sql_yacc.yy: Split table_expression and remove PROCEDURE from create_select, select_paren_derived, select_derived2, query_specification
+#
+SELECT * FROM (SELECT * FROM t1 PROCEDURE ANALYSE());
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE())' at line 1
+SELECT * FROM t1 NATURAL JOIN (SELECT * FROM t2 PROCEDURE ANALYSE());
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE())' at line 1
+SELECT (SELECT 1 FROM t1 PROCEDURE ANALYSE()) FROM t2;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE()) FROM t2' at line 1
+SELECT ((SELECT 1 FROM t1 PROCEDURE ANALYSE())) FROM t2;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE())) FROM t2' at line 1
diff --git a/mysql-test/r/func_group.result b/mysql-test/r/func_group.result
index 422e7bd25c8..74247ae1b8e 100644
--- a/mysql-test/r/func_group.result
+++ b/mysql-test/r/func_group.result
@@ -1519,7 +1519,7 @@ SELECT MAX(pk) as max, i
FROM t1
ORDER BY max;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using temporary
+1 SIMPLE t1 ALL NULL NULL NULL NULL 3
# Only 11 is correct for collumn i in this result
SELECT MAX(pk) as max, i
diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result
index 07773960e5a..f27ae67adff 100644
--- a/mysql-test/r/group_by.result
+++ b/mysql-test/r/group_by.result
@@ -1346,12 +1346,43 @@ id select_type table type possible_keys key key_len ref rows Extra
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR JOIN (PRIMARY,i2);
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 144
+#
+# For this explain, the query plan is weird: if we are using
+# the primary key for reasons other than doing grouping, can't
+# GROUP BY code take advantage of this? Well, currently it doesnt:
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (PRIMARY,i2) GROUP BY a;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index
+1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index; Using filesort
+# Here's a proof it is really doing sorting:
+flush status;
+SELECT a FROM t1 IGNORE INDEX FOR GROUP BY (PRIMARY,i2) GROUP BY a;
+show status like 'Sort_%';
+Variable_name Value
+Sort_merge_passes 0
+Sort_priority_queue_sorts 0
+Sort_range 0
+Sort_rows 144
+Sort_scan 1
+# Proof ends.
+#
+# For this explain, the query plan is weird: if we are using
+# the primary key for reasons other than doing sorting, can't
+# ORDER BY code take advantage of this? Well, currently it doesnt:
EXPLAIN SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY,i2) ORDER BY a;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index
+1 SIMPLE t1 index NULL PRIMARY 4 NULL 144 Using index; Using filesort
+# Here's a proof it is really doing sorting:
+flush status;
+SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY,i2) ORDER BY a;
+show status like 'Sort_%';
+Variable_name Value
+Sort_merge_passes 0
+Sort_priority_queue_sorts 0
+Sort_range 0
+Sort_rows 144
+Sort_scan 1
+# Proof ends.
+#
SELECT a FROM t1 IGNORE INDEX FOR ORDER BY (PRIMARY,i2) ORDER BY a;
a
1
@@ -2678,3 +2709,17 @@ NULL
100098
100099
drop table t0,t1,t2;
+#
+# MDEV-9602 crash in st_key::actual_rec_per_key when group by constant
+#
+create table t1 (a date not null,unique (a)) engine=innodb;
+Warnings:
+Warning 1286 Unknown storage engine 'innodb'
+Warning 1266 Using storage engine MyISAM for table 't1'
+select distinct a from t1 group by 'a';
+a
+insert into t1 values("2001-02-02"),("2001-02-03");
+select distinct a from t1 group by 'a';
+a
+2001-02-02
+drop table t1;
diff --git a/mysql-test/r/having.result b/mysql-test/r/having.result
index eda67460205..627edd60141 100644
--- a/mysql-test/r/having.result
+++ b/mysql-test/r/having.result
@@ -470,10 +470,9 @@ WHERE table2.f1 = 2
GROUP BY table1.f1, table2.f2
HAVING (table2.f2 = 8 AND table1.f1 >= 6);
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE table2 const PRIMARY PRIMARY 4 const 1 100.00 Using filesort
-1 SIMPLE table1 ALL NULL NULL NULL NULL 4 100.00 Using where
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible HAVING noticed after reading const tables
Warnings:
-Note 1003 select `test`.`table1`.`f1` AS `f1`,7 AS `f2` from `test`.`t1` `table1` join `test`.`t1` `table2` where (`test`.`table1`.`f3` = 9) group by `test`.`table1`.`f1`,7 having ((7 = 8) and (`test`.`table1`.`f1` >= 6))
+Note 1003 select `test`.`table1`.`f1` AS `f1`,7 AS `f2` from `test`.`t1` `table1` join `test`.`t1` `table2` where (`test`.`table1`.`f3` = 9) group by `test`.`table1`.`f1`,7 having 0
EXPLAIN EXTENDED
SELECT table1.f1, table2.f2
FROM t1 AS table1
@@ -482,10 +481,9 @@ WHERE table2.f1 = 2
GROUP BY table1.f1, table2.f2
HAVING (table2.f2 = 8);
id select_type table type possible_keys key key_len ref rows filtered Extra
-1 SIMPLE table2 const PRIMARY PRIMARY 4 const 1 100.00 Using filesort
-1 SIMPLE table1 ALL NULL NULL NULL NULL 4 100.00 Using where
+1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible HAVING noticed after reading const tables
Warnings:
-Note 1003 select `test`.`table1`.`f1` AS `f1`,7 AS `f2` from `test`.`t1` `table1` join `test`.`t1` `table2` where (`test`.`table1`.`f3` = 9) group by `test`.`table1`.`f1`,7 having (7 = 8)
+Note 1003 select `test`.`table1`.`f1` AS `f1`,7 AS `f2` from `test`.`t1` `table1` join `test`.`t1` `table2` where (`test`.`table1`.`f3` = 9) group by `test`.`table1`.`f1`,7 having 0
DROP TABLE t1;
#
# Bug#52336 Segfault / crash in 5.1 copy_fields (param=0x9872980) at sql_select.cc:15355
diff --git a/mysql-test/r/join_cache.result b/mysql-test/r/join_cache.result
index d816b1acf92..c15f96fc2e5 100644
--- a/mysql-test/r/join_cache.result
+++ b/mysql-test/r/join_cache.result
@@ -5412,9 +5412,9 @@ WHERE t2.c IN (SELECT c FROM t3,t4 WHERE t4.a < 10) AND
t2.a BETWEEN 4 and 5
ORDER BY t2.b;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 system NULL NULL NULL NULL 1 Using filesort
+1 PRIMARY t1 system NULL NULL NULL NULL 1
1 PRIMARY t3 system NULL NULL NULL NULL 1
-1 PRIMARY t2 range a,c a 5 NULL 1 Using index condition; Using where
+1 PRIMARY t2 range a,c a 5 NULL 1 Using index condition; Using where; Using filesort
1 PRIMARY t4 ref c c 5 test.t2.c 2 Using where; Start temporary; End temporary
SELECT * FROM t1,t2
WHERE t2.c IN (SELECT c FROM t3,t4 WHERE t4.a < 10) AND
diff --git a/mysql-test/r/join_outer.result b/mysql-test/r/join_outer.result
index 820d66b9264..ca544f40aa8 100644
--- a/mysql-test/r/join_outer.result
+++ b/mysql-test/r/join_outer.result
@@ -1289,8 +1289,8 @@ SELECT t1.a, COUNT( t2.b ), SUM( t2.b ), MAX( t2.b )
FROM t1 JOIN t2 USING( a )
GROUP BY t1.a WITH ROLLUP;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1 Using filesort
-1 SIMPLE t2 ALL NULL NULL NULL NULL 5 Using where
+1 SIMPLE t1 system NULL NULL NULL NULL 1
+1 SIMPLE t2 ALL NULL NULL NULL NULL 5 Using where; Using filesort
SELECT t1.a, COUNT( t2.b ), SUM( t2.b ), MAX( t2.b )
FROM t1 JOIN t2 USING( a )
GROUP BY t1.a WITH ROLLUP;
@@ -1429,8 +1429,8 @@ EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
GROUP BY t2.f1, t2.f2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using filesort
-1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index
+1 SIMPLE t1 system PRIMARY NULL NULL NULL 1
+1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index; Using filesort
SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
GROUP BY t2.f1, t2.f2;
@@ -1846,8 +1846,8 @@ EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
GROUP BY t2.f1, t2.f2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using filesort
-1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index
+1 SIMPLE t1 system PRIMARY NULL NULL NULL 1
+1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index; Using filesort
SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
GROUP BY t2.f1, t2.f2;
diff --git a/mysql-test/r/join_outer_jcl6.result b/mysql-test/r/join_outer_jcl6.result
index 4412f8059dd..3616deaee9c 100644
--- a/mysql-test/r/join_outer_jcl6.result
+++ b/mysql-test/r/join_outer_jcl6.result
@@ -1300,8 +1300,8 @@ SELECT t1.a, COUNT( t2.b ), SUM( t2.b ), MAX( t2.b )
FROM t1 JOIN t2 USING( a )
GROUP BY t1.a WITH ROLLUP;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1 Using filesort
-1 SIMPLE t2 ALL NULL NULL NULL NULL 5 Using where
+1 SIMPLE t1 system NULL NULL NULL NULL 1
+1 SIMPLE t2 ALL NULL NULL NULL NULL 5 Using where; Using filesort
SELECT t1.a, COUNT( t2.b ), SUM( t2.b ), MAX( t2.b )
FROM t1 JOIN t2 USING( a )
GROUP BY t1.a WITH ROLLUP;
@@ -1440,8 +1440,8 @@ EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
GROUP BY t2.f1, t2.f2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using filesort
-1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index
+1 SIMPLE t1 system PRIMARY NULL NULL NULL 1
+1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index; Using filesort
SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
GROUP BY t2.f1, t2.f2;
@@ -1857,8 +1857,8 @@ EXPLAIN SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
GROUP BY t2.f1, t2.f2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system PRIMARY NULL NULL NULL 1 Using filesort
-1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index
+1 SIMPLE t1 system PRIMARY NULL NULL NULL 1
+1 SIMPLE t2 ref PRIMARY PRIMARY 4 const 1 Using where; Using index; Using filesort
SELECT * FROM t1 LEFT JOIN t2 ON t2.f1 = t1.f1
WHERE t1.f1 = 4 AND t2.f1 IS NOT NULL AND t2.f2 IS NOT NULL
GROUP BY t2.f1, t2.f2;
diff --git a/mysql-test/r/limit.result b/mysql-test/r/limit.result
index 176a93c7a46..064fa5a18a7 100644
--- a/mysql-test/r/limit.result
+++ b/mysql-test/r/limit.result
@@ -80,13 +80,13 @@ create table t1 (a int);
insert into t1 values (1),(2),(3),(4),(5),(6),(7);
explain select count(*) c FROM t1 WHERE a > 0 ORDER BY c LIMIT 3;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 7 Using where; Using temporary
+1 SIMPLE t1 ALL NULL NULL NULL NULL 7 Using where
select count(*) c FROM t1 WHERE a > 0 ORDER BY c LIMIT 3;
c
7
explain select sum(a) c FROM t1 WHERE a > 0 ORDER BY c LIMIT 3;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 ALL NULL NULL NULL NULL 7 Using where; Using temporary
+1 SIMPLE t1 ALL NULL NULL NULL NULL 7 Using where
select sum(a) c FROM t1 WHERE a > 0 ORDER BY c LIMIT 3;
c
28
diff --git a/mysql-test/r/limit_rows_examined.result b/mysql-test/r/limit_rows_examined.result
index 130d17ae270..318039db068 100644
--- a/mysql-test/r/limit_rows_examined.result
+++ b/mysql-test/r/limit_rows_examined.result
@@ -471,9 +471,11 @@ id select_type table type possible_keys key key_len ref rows Extra
select c1, sum(c2) from t3 group by c1 LIMIT ROWS EXAMINED 0;
c1 sum(c2)
Warnings:
-Warning 1931 Query execution was interrupted. The query examined at least 2 rows, which exceeds LIMIT ROWS EXAMINED (0). The query result may be incomplete.
+Warning 1931 Query execution was interrupted. The query examined at least 1 rows, which exceeds LIMIT ROWS EXAMINED (0). The query result may be incomplete.
select c1, sum(c2) from t3 group by c1 LIMIT ROWS EXAMINED 1;
-ERROR HY000: Sort aborted:
+c1 sum(c2)
+Warnings:
+Warning 1931 Query execution was interrupted. The query examined at least 3 rows, which exceeds LIMIT ROWS EXAMINED (1). The query result may be incomplete.
select c1, sum(c2) from t3 group by c1 LIMIT ROWS EXAMINED 20;
c1 sum(c2)
aa 3
@@ -496,9 +498,11 @@ id select_type table type possible_keys key key_len ref rows Extra
select c1, sum(c2) from t3i group by c1 LIMIT ROWS EXAMINED 0;
c1 sum(c2)
Warnings:
-Warning 1931 Query execution was interrupted. The query examined at least 2 rows, which exceeds LIMIT ROWS EXAMINED (0). The query result may be incomplete.
+Warning 1931 Query execution was interrupted. The query examined at least 1 rows, which exceeds LIMIT ROWS EXAMINED (0). The query result may be incomplete.
select c1, sum(c2) from t3i group by c1 LIMIT ROWS EXAMINED 1;
-ERROR HY000: Sort aborted:
+c1 sum(c2)
+Warnings:
+Warning 1931 Query execution was interrupted. The query examined at least 3 rows, which exceeds LIMIT ROWS EXAMINED (1). The query result may be incomplete.
select c1, sum(c2) from t3i group by c1 LIMIT ROWS EXAMINED 20;
c1 sum(c2)
aa 3
@@ -627,7 +631,7 @@ CREATE TABLE t4 (a int);
INSERT INTO t4 values (1), (2);
INSERT INTO t4 SELECT a + 2 FROM t4 LIMIT ROWS EXAMINED 0;
Warnings:
-Warning 1931 Query execution was interrupted. The query examined at least 2 rows, which exceeds LIMIT ROWS EXAMINED (0). The query result may be incomplete.
+Warning 1931 Query execution was interrupted. The query examined at least 1 rows, which exceeds LIMIT ROWS EXAMINED (0). The query result may be incomplete.
select * from t4;
a
1
@@ -666,7 +670,7 @@ MDEV-115
SET @@optimizer_switch='in_to_exists=on,outer_join_with_cache=on';
CREATE TABLE t1 ( a VARCHAR(3) ) ENGINE=MyISAM;
-INSERT INTO t1 VALUES ('USA');
+INSERT INTO t1 VALUES ('USA'),('CAN');
CREATE TABLE t2 ( b INT );
INSERT INTO t2 VALUES (3899),(3914),(3888);
CREATE TABLE t3 ( c VARCHAR(33), d INT );
@@ -676,8 +680,8 @@ SELECT DISTINCT a AS field1 FROM t1, t2
WHERE EXISTS (SELECT c FROM t3 LEFT JOIN t2 ON b = d)
HAVING field1 > 'aaa' LIMIT ROWS EXAMINED 20;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 system NULL NULL NULL NULL 1 Using temporary
-1 PRIMARY t2 ALL NULL NULL NULL NULL 3 Distinct
+1 PRIMARY t1 ALL NULL NULL NULL NULL 2 Using temporary
+1 PRIMARY t2 ALL NULL NULL NULL NULL 3 Using join buffer (flat, BNL join)
2 SUBQUERY t3 ALL NULL NULL NULL NULL 3
2 SUBQUERY t2 ALL NULL NULL NULL NULL 3 Using where; Using join buffer (flat, BNL join)
SELECT DISTINCT a AS field1 FROM t1, t2
@@ -685,24 +689,27 @@ WHERE EXISTS (SELECT c FROM t3 LEFT JOIN t2 ON b = d)
HAVING field1 > 'aaa' LIMIT ROWS EXAMINED 20;
field1
Warnings:
-Warning 1931 Query execution was interrupted. The query examined at least 23 rows, which exceeds LIMIT ROWS EXAMINED (20). The query result may be incomplete.
+Warning 1931 Query execution was interrupted. The query examined at least 21 rows, which exceeds LIMIT ROWS EXAMINED (20). The query result may be incomplete.
EXPLAIN
SELECT DISTINCT a FROM t1, t2 HAVING a > ' ' LIMIT ROWS EXAMINED 14;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system NULL NULL NULL NULL 1 Using temporary
-1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Distinct
+1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using temporary
+1 SIMPLE t2 ALL NULL NULL NULL NULL 3 Using join buffer (flat, BNL join)
SELECT DISTINCT a FROM t1, t2 HAVING a > ' ' LIMIT ROWS EXAMINED 14;
a
+USA
Warnings:
Warning 1931 Query execution was interrupted. The query examined at least 15 rows, which exceeds LIMIT ROWS EXAMINED (14). The query result may be incomplete.
SELECT DISTINCT a FROM t1, t2 HAVING a > ' ' LIMIT ROWS EXAMINED 15;
a
USA
+CAN
Warnings:
Warning 1931 Query execution was interrupted. The query examined at least 16 rows, which exceeds LIMIT ROWS EXAMINED (15). The query result may be incomplete.
SELECT DISTINCT a FROM t1, t2 HAVING a > ' ' LIMIT ROWS EXAMINED 16;
a
USA
+CAN
Warnings:
Warning 1931 Query execution was interrupted. The query examined at least 17 rows, which exceeds LIMIT ROWS EXAMINED (16). The query result may be incomplete.
drop table t1,t2,t3;
diff --git a/mysql-test/r/mrr_derived_crash_4610.result b/mysql-test/r/mrr_derived_crash_4610.result
index 8dcdfda9276..3e38a0d4218 100644
--- a/mysql-test/r/mrr_derived_crash_4610.result
+++ b/mysql-test/r/mrr_derived_crash_4610.result
@@ -7,8 +7,8 @@ explain select 1 from
(select f2, f3, val, count(id) from t4 join t2 left join t3 on 0) top
join t1 on f1 = f3 where f3 = 'aaaa' order by val;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 const PRIMARY PRIMARY 12 const 1 Using index; Using filesort
-1 PRIMARY <derived2> ref key0 key0 13 const 0 Using where
+1 PRIMARY t1 const PRIMARY PRIMARY 12 const 1 Using index
+1 PRIMARY <derived2> ref key0 key0 13 const 0 Using where; Using filesort
2 DERIVED t4 ALL NULL NULL NULL NULL 1
2 DERIVED t2 ALL NULL NULL NULL NULL 1 Using join buffer (flat, BNL join)
2 DERIVED t3 ALL NULL NULL NULL NULL 1 Using where; Using join buffer (incremental, BNL join)
diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result
index 67a63d7a08a..1eef64be640 100644
--- a/mysql-test/r/myisam.result
+++ b/mysql-test/r/myisam.result
@@ -523,11 +523,11 @@ a
explain select sql_big_result distinct t1.a from t1,t2 order by t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 system NULL NULL NULL NULL 1 Using temporary
-1 SIMPLE t2 index NULL PRIMARY 4 NULL 2 Using index; Distinct
+1 SIMPLE t2 index NULL PRIMARY 4 NULL 2 Using index
explain select distinct t1.a from t1,t2 order by t2.a;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 system NULL NULL NULL NULL 1 Using temporary
-1 SIMPLE t2 index NULL PRIMARY 4 NULL 2 Using index; Distinct
+1 SIMPLE t2 index NULL PRIMARY 4 NULL 2 Using index
drop table t1,t2;
create table t1 (
c1 varchar(32),
@@ -603,6 +603,10 @@ test.t2 3442722830
test.t3 NULL
Warnings:
Error 1146 Table 'test.t3' doesn't exist
+alter table t1 add d int default 30, add e bigint default 300000, add f decimal(30) default 442;
+checksum table t1;
+Table Checksum
+test.t1 2924214226
drop table t1,t2;
create table t1 (a int, key (a));
show keys from t1;
diff --git a/mysql-test/r/order_by_optimizer.result b/mysql-test/r/order_by_optimizer.result
new file mode 100644
index 00000000000..8f128552a86
--- /dev/null
+++ b/mysql-test/r/order_by_optimizer.result
@@ -0,0 +1,30 @@
+drop table if exists t0,t1,t2,t3;
+#
+# MDEV-7885: EXPLAIN shows wrong info for ORDER BY query
+#
+create table t0(a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t1(a int);
+insert into t1 select A.a + B.a* 10 + C.a * 100 from t0 A, t0 B, t0 C;
+create table t2 (key1 int, col1 int, key(key1));
+insert into t2 select a,a from t0;
+insert into t2 select 15,15 from t1;
+alter table t2 add key2 int, add key(key2);
+# This must show "Using filesort":
+explain
+select * from t2 ignore index for order by (key1) where col1<0 order by key1 limit 10;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t2 ALL NULL NULL NULL NULL 1010 Using where; Using filesort
+drop table t0, t1, t2;
+#
+# MDEV-8857: [Upstream too] EXPLAIN incorrectly shows Distinct for tables using join buffer
+#
+create table t0(a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t1 (a int, filler char(200), key(a));
+insert into t1 select A.a + B.a* 10, 'AAAAAAAAAAAAAAAAAAAA' from t0 A, t0 B where B.a in (0,1);
+explain select distinct A.a from t0 A, t1 B where A.a+B.a> 0;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE A ALL NULL NULL NULL NULL 10 Using temporary
+1 SIMPLE B index NULL a 5 NULL 20 Using where; Using index; Using join buffer (flat, BNL join)
+drop table t0, t1;
diff --git a/mysql-test/r/parser.result b/mysql-test/r/parser.result
index 01cc9d79aaf..18a8e13815c 100644
--- a/mysql-test/r/parser.result
+++ b/mysql-test/r/parser.result
@@ -686,7 +686,7 @@ FOR UPDATE) a;
SELECT 1 FROM
(SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1
PROCEDURE ANALYSE() FOR UPDATE) a;
-ERROR HY000: Incorrect usage of PROCEDURE and subquery
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE() FOR UPDATE) a' at line 3
SELECT 1 FROM t1
WHERE EXISTS(SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1
FOR UPDATE);
@@ -694,7 +694,7 @@ FOR UPDATE);
SELECT 1 FROM t1
WHERE EXISTS(SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1
PROCEDURE ANALYSE() FOR UPDATE);
-ERROR HY000: Incorrect usage of PROCEDURE and subquery
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE() FOR UPDATE)' at line 3
SELECT 1 FROM t1
UNION
SELECT 1 FROM DUAL WHERE 1 GROUP BY 1 HAVING 1 ORDER BY 1
diff --git a/mysql-test/r/select_found.result b/mysql-test/r/select_found.result
index 7b38515cf70..8462e19fda8 100644
--- a/mysql-test/r/select_found.result
+++ b/mysql-test/r/select_found.result
@@ -83,20 +83,20 @@ UNIQUE KEY e_n (email,name)
);
EXPLAIN SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1 ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t1 system PRIMARY,kid NULL NULL NULL 0 const row not found
-1 SIMPLE t2 index NULL e_n 104 NULL 10
+1 SIMPLE t1 system PRIMARY,kid NULL NULL NULL 0 const row not found; Using temporary
+1 SIMPLE t2 ALL NULL NULL NULL NULL 200
SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1 ON kid = t2.id WHERE t1.id IS NULL LIMIT 10;
email
email1
+email2
+email3
+email4
+email5
+email6
+email7
+email8
+email9
email10
-email100
-email101
-email102
-email103
-email104
-email105
-email106
-email107
SELECT FOUND_ROWS();
FOUND_ROWS()
200
diff --git a/mysql-test/r/show_explain.result b/mysql-test/r/show_explain.result
index 5a885766f7b..0819ae5ba37 100644
--- a/mysql-test/r/show_explain.result
+++ b/mysql-test/r/show_explain.result
@@ -1162,7 +1162,7 @@ SELECT b AS field1, b AS field2 FROM t1, t2, t3 WHERE d = b ORDER BY field1, fie
connection default;
show explain for $thr2;
id select_type table type possible_keys key key_len ref rows Extra
-1 SIMPLE t2 system NULL NULL NULL NULL 1 Using filesort
+1 SIMPLE t2 system NULL NULL NULL NULL 1
1 SIMPLE t1 range b b 6 NULL 107 Using where; Using index
1 SIMPLE t3 ref PRIMARY PRIMARY 5 test.t1.b 1 Using index
Warnings:
diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result
index b306965034b..1b1198958b8 100644
--- a/mysql-test/r/subselect.result
+++ b/mysql-test/r/subselect.result
@@ -79,7 +79,7 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
1
1
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
-ERROR HY000: Incorrect usage of PROCEDURE and subquery
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE(1))' at line 1
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 1))' at line 1
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
diff --git a/mysql-test/r/subselect4.result b/mysql-test/r/subselect4.result
index 87645d187f2..7202a6238b0 100644
--- a/mysql-test/r/subselect4.result
+++ b/mysql-test/r/subselect4.result
@@ -19,7 +19,7 @@ SELECT 1 FROM t1
WHERE NOT EXISTS (SELECT 1 FROM t2 WHERE 1 = (SELECT MIN(t2.b) FROM t3))
ORDER BY count(*);
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t1 index NULL a 5 NULL 2 Using where; Using index; Using temporary
+1 PRIMARY t1 index NULL a 5 NULL 2 Using where; Using index
2 DEPENDENT SUBQUERY t2 ALL NULL NULL NULL NULL 2 Using where
3 DEPENDENT SUBQUERY t3 system NULL NULL NULL NULL 0 const row not found
# should not crash the next statement
@@ -2003,8 +2003,8 @@ FROM t2 JOIN t3 ON t3.f4 = t2.f4
WHERE t3.f1 = 8
GROUP BY 1, 2;
id select_type table type possible_keys key key_len ref rows Extra
-1 PRIMARY t3 system NULL NULL NULL NULL 1 Using filesort
-1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where
+1 PRIMARY t3 system NULL NULL NULL NULL 1
+1 PRIMARY t2 ALL NULL NULL NULL NULL 2 Using where; Using filesort
2 SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
3 MATERIALIZED NULL NULL NULL NULL NULL NULL NULL no matching row in const table
PREPARE st1 FROM "
diff --git a/mysql-test/r/subselect_no_exists_to_in.result b/mysql-test/r/subselect_no_exists_to_in.result
index 244f6057a2f..39d1f64410e 100644
--- a/mysql-test/r/subselect_no_exists_to_in.result
+++ b/mysql-test/r/subselect_no_exists_to_in.result
@@ -83,7 +83,7 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
1
1
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
-ERROR HY000: Incorrect usage of PROCEDURE and subquery
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE(1))' at line 1
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 1))' at line 1
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
diff --git a/mysql-test/r/subselect_no_mat.result b/mysql-test/r/subselect_no_mat.result
index e095ed16ff9..211d3206a7f 100644
--- a/mysql-test/r/subselect_no_mat.result
+++ b/mysql-test/r/subselect_no_mat.result
@@ -86,7 +86,7 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
1
1
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
-ERROR HY000: Incorrect usage of PROCEDURE and subquery
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE(1))' at line 1
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 1))' at line 1
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
diff --git a/mysql-test/r/subselect_no_opts.result b/mysql-test/r/subselect_no_opts.result
index f4714526613..6ae9f8aa066 100644
--- a/mysql-test/r/subselect_no_opts.result
+++ b/mysql-test/r/subselect_no_opts.result
@@ -82,7 +82,7 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
1
1
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
-ERROR HY000: Incorrect usage of PROCEDURE and subquery
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE(1))' at line 1
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 1))' at line 1
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
diff --git a/mysql-test/r/subselect_no_scache.result b/mysql-test/r/subselect_no_scache.result
index 5ead5de4cf9..9a3fcd1de3b 100644
--- a/mysql-test/r/subselect_no_scache.result
+++ b/mysql-test/r/subselect_no_scache.result
@@ -85,7 +85,7 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
1
1
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
-ERROR HY000: Incorrect usage of PROCEDURE and subquery
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE(1))' at line 1
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 1))' at line 1
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
diff --git a/mysql-test/r/subselect_no_semijoin.result b/mysql-test/r/subselect_no_semijoin.result
index c57c46b76ff..10cf05649e7 100644
--- a/mysql-test/r/subselect_no_semijoin.result
+++ b/mysql-test/r/subselect_no_semijoin.result
@@ -82,7 +82,7 @@ SELECT 1 FROM (SELECT 1 as a) b WHERE 1 IN (SELECT (SELECT a));
1
1
select (SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE(1));
-ERROR HY000: Incorrect usage of PROCEDURE and subquery
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'PROCEDURE ANALYSE(1))' at line 1
SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE((SELECT 1));
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT 1))' at line 1
SELECT (SELECT 1) as a FROM (SELECT 1) b WHERE (SELECT a) IS NULL;
diff --git a/mysql-test/r/win.result b/mysql-test/r/win.result
new file mode 100644
index 00000000000..a6b43788ffe
--- /dev/null
+++ b/mysql-test/r/win.result
@@ -0,0 +1,1961 @@
+drop table if exists t1,t2;
+drop view if exists v1;
+# ########################################################################
+# # Parser tests
+# ########################################################################
+#
+# Check what happens when one attempts to use window function without OVER clause
+create table t1 (a int, b int);
+insert into t1 values (1,1),(2,2);
+select row_number() from t1;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from t1' at line 1
+select rank() from t1;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from t1' at line 1
+# Attempt to use window function in the WHERE clause
+select * from t1 where 1=rank() over (order by a);
+ERROR HY000: Window function is allowed only in SELECT list and ORDER BY clause
+select * from t1 where 1>row_number() over (partition by b order by a);
+ERROR HY000: Window function is allowed only in SELECT list and ORDER BY clause
+drop table t1;
+# ########################################################################
+# # Functionality tests
+# ########################################################################
+#
+# Check if ROW_NUMBER() works in basic cases
+create table t1(a int, b int, x char(32));
+insert into t1 values (2, 10, 'xx');
+insert into t1 values (2, 10, 'zz');
+insert into t1 values (2, 20, 'yy');
+insert into t1 values (3, 10, 'xxx');
+insert into t1 values (3, 20, 'vvv');
+select a, row_number() over (partition by a order by b) from t1;
+a row_number() over (partition by a order by b)
+2 1
+2 2
+2 3
+3 1
+3 2
+select a, b, x, row_number() over (partition by a order by x) from t1;
+a b x row_number() over (partition by a order by x)
+2 10 xx 1
+2 10 zz 3
+2 20 yy 2
+3 10 xxx 2
+3 20 vvv 1
+drop table t1;
+create table t1 (pk int primary key, a int, b int);
+insert into t1 values
+(1, 10, 22),
+(2, 11, 21),
+(3, 12, 20),
+(4, 13, 19),
+(5, 14, 18);
+select
+pk, a, b,
+row_number() over (order by a),
+row_number() over (order by b)
+from t1;
+pk a b row_number() over (order by a) row_number() over (order by b)
+1 10 22 1 5
+2 11 21 2 4
+3 12 20 3 3
+4 13 19 4 2
+5 14 18 5 1
+drop table t1;
+#
+# Try RANK() function
+#
+create table t2 (
+pk int primary key,
+a int
+);
+insert into t2 values
+( 1 , 0),
+( 2 , 0),
+( 3 , 1),
+( 4 , 1),
+( 8 , 2),
+( 5 , 2),
+( 6 , 2),
+( 7 , 2),
+( 9 , 4),
+(10 , 4);
+select pk, a, rank() over (order by a) from t2;
+pk a rank() over (order by a)
+1 0 1
+2 0 1
+3 1 3
+4 1 3
+8 2 5
+5 2 5
+6 2 5
+7 2 5
+9 4 9
+10 4 9
+select pk, a, rank() over (order by a desc) from t2;
+pk a rank() over (order by a desc)
+1 0 9
+2 0 9
+3 1 7
+4 1 7
+8 2 3
+5 2 3
+6 2 3
+7 2 3
+9 4 1
+10 4 1
+drop table t2;
+#
+# Try Aggregates as window functions. With frames.
+#
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t1 (pk int, c int);
+insert into t1 select a+1,1 from t0;
+update t1 set c=2 where pk not in (1,2,3,4);
+select * from t1;
+pk c
+1 1
+2 1
+3 1
+4 1
+5 2
+6 2
+7 2
+8 2
+9 2
+10 2
+select
+pk, c,
+count(*) over (partition by c order by pk
+rows between 2 preceding and 2 following) as CNT
+from t1;
+pk c CNT
+1 1 3
+2 1 4
+3 1 4
+4 1 3
+5 2 3
+6 2 4
+7 2 5
+8 2 5
+9 2 4
+10 2 3
+select
+pk, c,
+count(*) over (partition by c order by pk
+rows between 1 preceding and 2 following) as CNT
+from t1;
+pk c CNT
+1 1 3
+2 1 4
+3 1 3
+4 1 2
+5 2 3
+6 2 4
+7 2 4
+8 2 4
+9 2 3
+10 2 2
+select
+pk, c,
+count(*) over (partition by c order by pk
+rows between 2 preceding and current row) as CNT
+from t1;
+pk c CNT
+1 1 1
+2 1 2
+3 1 3
+4 1 3
+5 2 1
+6 2 2
+7 2 3
+8 2 3
+9 2 3
+10 2 3
+select
+pk,c,
+count(*) over (partition by c order by pk rows
+between 1 following and 2 following) as CNT
+from t1;
+pk c CNT
+1 1 2
+2 1 2
+3 1 1
+4 1 0
+5 2 2
+6 2 2
+7 2 2
+8 2 2
+9 2 1
+10 2 0
+select
+pk,c,
+count(*) over (partition by c order by pk rows
+between 2 preceding and 1 preceding) as CNT
+from t1;
+pk c CNT
+1 1 0
+2 1 1
+3 1 2
+4 1 2
+5 2 0
+6 2 1
+7 2 2
+8 2 2
+9 2 2
+10 2 2
+select
+pk, c,
+count(*) over (partition by c order by pk
+rows between current row and 1 following) as CNT
+from t1;
+pk c CNT
+1 1 2
+2 1 2
+3 1 2
+4 1 1
+5 2 2
+6 2 2
+7 2 2
+8 2 2
+9 2 2
+10 2 1
+# Check ORDER BY DESC
+select
+pk, c,
+count(*) over (partition by c order by pk desc
+rows between 2 preceding and 2 following) as CNT
+from t1;
+pk c CNT
+1 1 3
+2 1 4
+3 1 4
+4 1 3
+5 2 3
+6 2 4
+7 2 5
+8 2 5
+9 2 4
+10 2 3
+drop table t0,t1;
+#
+# Resolution of window names
+#
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t1 (pk int, c int);
+insert into t1 select a+1,1 from t0;
+update t1 set c=2 where pk not in (1,2,3,4);
+select * from t1;
+pk c
+1 1
+2 1
+3 1
+4 1
+5 2
+6 2
+7 2
+8 2
+9 2
+10 2
+select
+pk, c,
+count(*) over w1 as CNT
+from t1
+window w1 as (partition by c order by pk
+rows between 2 preceding and 2 following);
+pk c CNT
+1 1 3
+2 1 4
+3 1 4
+4 1 3
+5 2 3
+6 2 4
+7 2 5
+8 2 5
+9 2 4
+10 2 3
+select
+pk, c,
+count(*) over (w1 rows between 2 preceding and 2 following) as CNT
+from t1
+window w1 as (partition by c order by pk);
+pk c CNT
+1 1 3
+2 1 4
+3 1 4
+4 1 3
+5 2 3
+6 2 4
+7 2 5
+8 2 5
+9 2 4
+10 2 3
+select
+pk, c,
+count(*) over (w1 order by pk rows between 2 preceding and 2 following) as CNT
+from t1
+window w1 as (partition by c);
+pk c CNT
+1 1 3
+2 1 4
+3 1 4
+4 1 3
+5 2 3
+6 2 4
+7 2 5
+8 2 5
+9 2 4
+10 2 3
+select
+pk, c,
+count(*) over (w2 rows between 2 preceding and 2 following) as CNT
+from t1
+window w1 as (partition by c), w2 as (w1 order by pk);
+pk c CNT
+1 1 3
+2 1 4
+3 1 4
+4 1 3
+5 2 3
+6 2 4
+7 2 5
+8 2 5
+9 2 4
+10 2 3
+select
+pk, c,
+count(*) over w3 as CNT
+from t1
+window
+w1 as (partition by c),
+w2 as (w1 order by pk),
+w3 as (w2 rows between 2 preceding and 2 following);
+pk c CNT
+1 1 3
+2 1 4
+3 1 4
+4 1 3
+5 2 3
+6 2 4
+7 2 5
+8 2 5
+9 2 4
+10 2 3
+select
+pk, c,
+count(*) over w as CNT
+from t1
+window w1 as (partition by c order by pk
+rows between 2 preceding and 2 following);
+ERROR HY000: Window specification with name 'w' is not defined
+select
+pk, c,
+count(*) over (w2 rows between 2 preceding and 2 following) as CNT
+from t1
+window w1 as (partition by c), w1 as (order by pk);
+ERROR HY000: Multiple window specifications with the same name 'w1'
+select
+pk, c,
+count(*) over (w2 rows between 2 preceding and 2 following) as CNT
+from t1
+window w1 as (partition by c), w2 as (w partition by c order by pk);
+ERROR HY000: Window specification with name 'w' is not defined
+select
+pk, c,
+count(*) over (w2 rows between 2 preceding and 2 following) as CNT
+from t1
+window w1 as (partition by c), w2 as (w1 partition by c order by pk);
+ERROR HY000: Window specification referencing another one 'w1' cannot contain partition list
+select
+pk, c,
+count(*) over (w2 rows between 2 preceding and 2 following) as CNT
+from t1
+window w1 as (partition by c order by pk), w2 as (w1 order by pk);
+ERROR HY000: Referenced window specification 'w1' already contains order list
+select
+pk, c,
+count(*) over w3 as CNT
+from t1
+window
+w1 as (partition by c),
+w2 as (w1 order by pk rows between 3 preceding and 2 following),
+w3 as (w2 rows between 2 preceding and 2 following);
+ERROR HY000: Referenced window specification 'w2' cannot contain window frame
+select
+pk, c,
+count(*) over w1 as CNT
+from t1
+window w1 as (partition by c order by pk
+rows between unbounded following and 2 following);
+ERROR HY000: Unacceptable combination of window frame bound specifications
+select
+pk, c,
+count(*) over (w1 rows between 2 preceding and unbounded preceding) as CNT
+from t1
+window w1 as (partition by c order by pk);
+ERROR HY000: Unacceptable combination of window frame bound specifications
+select
+pk, c,
+count(*) over (w1 order by pk rows between current row and 2 preceding) as CNT
+from t1
+window w1 as (partition by c);
+ERROR HY000: Unacceptable combination of window frame bound specifications
+select
+pk, c,
+count(*) over (w2 rows between 2 following and current row) as CNT
+from t1
+window w1 as (partition by c), w2 as (w1 order by pk);
+ERROR HY000: Unacceptable combination of window frame bound specifications
+select
+pk, c
+from t1 where rank() over w1 > 2
+window w1 as (partition by c order by pk);
+ERROR HY000: Window function is allowed only in SELECT list and ORDER BY clause
+select
+c, max(pk) as m
+from t1
+group by c + rank() over w1
+window w1 as (order by m);
+ERROR HY000: Window function is allowed only in SELECT list and ORDER BY clause
+select
+c, max(pk) as m, rank() over w1 as r
+from t1
+group by c+r
+window w1 as (order by m);
+ERROR HY000: Window function is allowed only in SELECT list and ORDER BY clause
+select
+c, max(pk) as m, rank() over w1 as r
+from t1
+group by c having c+r > 3
+window w1 as (order by m);
+ERROR HY000: Window function is allowed only in SELECT list and ORDER BY clause
+select
+c, max(pk) as m, rank() over w1 as r,
+rank() over (partition by r+1 order by m)
+from t1
+group by c
+window w1 as (order by m);
+ERROR HY000: Window function is not allowed in window specification
+select
+c, max(pk) as m, rank() over w1 as r,
+rank() over (partition by m order by r)
+from t1
+group by c
+window w1 as (order by m);
+ERROR HY000: Window function is not allowed in window specification
+select
+c, max(pk) as m, rank() over w1 as r, dense_rank() over w2 as dr
+from t1
+group by c
+window w1 as (order by m), w2 as (partition by r order by m);
+ERROR HY000: Window function is not allowed in window specification
+select
+pk, c,
+row_number() over (partition by c order by pk
+range between unbounded preceding and current row) as r
+from t1;
+ERROR HY000: Window frame is not allowed with 'row_number'
+select
+pk, c,
+rank() over w1 as r
+from t1
+window w1 as (partition by c order by pk
+rows between 2 preceding and 2 following);
+ERROR HY000: Window frame is not allowed with 'rank'
+select
+pk, c,
+dense_rank() over (partition by c order by pk
+rows between 1 preceding and 1 following) as r
+from t1;
+ERROR HY000: Window frame is not allowed with 'dense_rank'
+select
+pk, c,
+rank() over w1 as r
+from t1
+window w1 as (partition by c);
+ERROR HY000: No order list in window specification for 'rank'
+select
+pk, c,
+dense_rank() over (partition by c) as r
+from t1;
+ERROR HY000: No order list in window specification for 'dense_rank'
+drop table t0,t1;
+#
+# MDEV-9634: Window function produces incorrect value
+#
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t2 (part_id int, pk int, a int);
+insert into t2 select
+if(a<5, 0, 1), a, if(a<5, NULL, 1) from t0;
+select * from t2;
+part_id pk a
+0 0 NULL
+0 1 NULL
+0 2 NULL
+0 3 NULL
+0 4 NULL
+1 5 1
+1 6 1
+1 7 1
+1 8 1
+1 9 1
+select
+part_id, pk, a,
+count(a) over (partition by part_id order by pk
+rows between 1 preceding and 1 following) as CNT
+from t2;
+part_id pk a CNT
+0 0 NULL 0
+0 1 NULL 0
+0 2 NULL 0
+0 3 NULL 0
+0 4 NULL 0
+1 5 1 2
+1 6 1 3
+1 7 1 3
+1 8 1 3
+1 9 1 2
+drop table t0, t2;
+#
+# RANGE-type bounds
+#
+create table t3 (
+pk int,
+val int
+);
+insert into t3 values
+(0, 1),
+(1, 1),
+(2, 1),
+(3, 2),
+(4, 2),
+(5, 2),
+(6, 2);
+select
+pk,
+val,
+count(val) over (order by val
+range between current row and
+current row)
+as CNT
+from t3;
+pk val CNT
+0 1 3
+1 1 3
+2 1 3
+3 2 4
+4 2 4
+5 2 4
+6 2 4
+insert into t3 values
+(7, 3),
+(8, 3);
+select
+pk,
+val,
+count(val) over (order by val
+range between current row and
+current row)
+as CNT
+from t3;
+pk val CNT
+0 1 3
+1 1 3
+2 1 3
+3 2 4
+4 2 4
+5 2 4
+6 2 4
+7 3 2
+8 3 2
+drop table t3;
+# Now, check with PARTITION BY
+create table t4 (
+part_id int,
+pk int,
+val int
+);
+insert into t4 values
+(1234, 100, 1),
+(1234, 101, 1),
+(1234, 102, 1),
+(1234, 103, 2),
+(1234, 104, 2),
+(1234, 105, 2),
+(1234, 106, 2),
+(1234, 107, 3),
+(1234, 108, 3),
+(5678, 200, 1),
+(5678, 201, 1),
+(5678, 202, 1),
+(5678, 203, 2),
+(5678, 204, 2),
+(5678, 205, 2),
+(5678, 206, 2),
+(5678, 207, 3),
+(5678, 208, 3);
+select
+part_id,
+pk,
+val,
+count(val) over (partition by part_id
+order by val
+range between current row and
+current row)
+as CNT
+from t4;
+part_id pk val CNT
+1234 100 1 3
+1234 101 1 3
+1234 102 1 3
+1234 103 2 4
+1234 104 2 4
+1234 105 2 4
+1234 106 2 4
+1234 107 3 2
+1234 108 3 2
+5678 200 1 3
+5678 201 1 3
+5678 202 1 3
+5678 203 2 4
+5678 204 2 4
+5678 205 2 4
+5678 206 2 4
+5678 207 3 2
+5678 208 3 2
+#
+# Try RANGE UNBOUNDED PRECEDING | FOLLOWING
+#
+select
+part_id,
+pk,
+val,
+count(val) over (partition by part_id
+order by val
+range between unbounded preceding and
+current row)
+as CNT
+from t4;
+part_id pk val CNT
+1234 100 1 3
+1234 101 1 3
+1234 102 1 3
+1234 103 2 7
+1234 104 2 7
+1234 105 2 7
+1234 106 2 7
+1234 107 3 9
+1234 108 3 9
+5678 200 1 3
+5678 201 1 3
+5678 202 1 3
+5678 203 2 7
+5678 204 2 7
+5678 205 2 7
+5678 206 2 7
+5678 207 3 9
+5678 208 3 9
+select
+part_id,
+pk,
+val,
+count(val) over (partition by part_id
+order by val
+range between current row and
+unbounded following)
+as CNT
+from t4;
+part_id pk val CNT
+1234 100 1 9
+1234 101 1 9
+1234 102 1 9
+1234 103 2 6
+1234 104 2 6
+1234 105 2 6
+1234 106 2 6
+1234 107 3 2
+1234 108 3 2
+5678 200 1 9
+5678 201 1 9
+5678 202 1 9
+5678 203 2 6
+5678 204 2 6
+5678 205 2 6
+5678 206 2 6
+5678 207 3 2
+5678 208 3 2
+select
+part_id,
+pk,
+val,
+count(val) over (partition by part_id
+order by val
+range between unbounded preceding and
+unbounded following)
+as CNT
+from t4;
+part_id pk val CNT
+1234 100 1 9
+1234 101 1 9
+1234 102 1 9
+1234 103 2 9
+1234 104 2 9
+1234 105 2 9
+1234 106 2 9
+1234 107 3 9
+1234 108 3 9
+5678 200 1 9
+5678 201 1 9
+5678 202 1 9
+5678 203 2 9
+5678 204 2 9
+5678 205 2 9
+5678 206 2 9
+5678 207 3 9
+5678 208 3 9
+drop table t4;
+#
+# MDEV-9695: Wrong window frame when using RANGE BETWEEN N FOLLOWING AND PRECEDING
+#
+create table t1 (pk int, a int, b int);
+insert into t1 values
+( 1 , 0, 1),
+( 2 , 0, 2),
+( 3 , 1, 4),
+( 4 , 1, 8),
+( 5 , 2, 32),
+( 6 , 2, 64),
+( 7 , 2, 128),
+( 8 , 2, 16);
+select pk, a, b,
+bit_or(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) as bit_or
+from t1;
+pk a b bit_or
+1 0 1 3
+2 0 2 3
+3 1 4 12
+4 1 8 12
+5 2 32 96
+6 2 64 224
+7 2 128 208
+8 2 16 144
+# Extra ROWS n PRECEDING tests
+select pk, a, b,
+bit_or(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) as bit_or
+from t1;
+pk a b bit_or
+1 0 1 0
+2 0 2 1
+3 1 4 0
+4 1 8 4
+5 2 32 0
+6 2 64 32
+7 2 128 64
+8 2 16 128
+drop table t1;
+create table t2 (
+pk int,
+a int,
+b int
+);
+insert into t2 values
+( 1, 0, 1),
+( 2, 0, 2),
+( 3, 0, 4),
+( 4, 0, 8),
+( 5, 1, 16),
+( 6, 1, 32),
+( 7, 1, 64),
+( 8, 1, 128),
+( 9, 2, 256),
+(10, 2, 512),
+(11, 2, 1024),
+(12, 2, 2048);
+select pk, a, b,
+bit_or(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) as bit_or
+from t2;
+pk a b bit_or
+1 0 1 0
+2 0 2 1
+3 0 4 2
+4 0 8 4
+5 1 16 0
+6 1 32 16
+7 1 64 32
+8 1 128 64
+9 2 256 0
+10 2 512 256
+11 2 1024 512
+12 2 2048 1024
+select pk, a, b,
+bit_or(b) over (partition by a order by pk ROWS BETWEEN 2 PRECEDING AND 2 PRECEDING) as bit_or
+from t2;
+pk a b bit_or
+1 0 1 0
+2 0 2 0
+3 0 4 1
+4 0 8 2
+5 1 16 0
+6 1 32 0
+7 1 64 16
+8 1 128 32
+9 2 256 0
+10 2 512 0
+11 2 1024 256
+12 2 2048 512
+select pk, a, b,
+bit_or(b) over (partition by a order by pk ROWS BETWEEN 2 PRECEDING AND 1 PRECEDING) as bit_or
+from t2;
+pk a b bit_or
+1 0 1 0
+2 0 2 1
+3 0 4 3
+4 0 8 6
+5 1 16 0
+6 1 32 16
+7 1 64 48
+8 1 128 96
+9 2 256 0
+10 2 512 256
+11 2 1024 768
+12 2 2048 1536
+# Check CURRENT ROW
+select pk, a, b,
+bit_or(b) over (partition by a order by pk ROWS BETWEEN CURRENT ROW AND CURRENT ROW) as bit_or
+from t2;
+pk a b bit_or
+1 0 1 1
+2 0 2 2
+3 0 4 4
+4 0 8 8
+5 1 16 16
+6 1 32 32
+7 1 64 64
+8 1 128 128
+9 2 256 256
+10 2 512 512
+11 2 1024 1024
+12 2 2048 2048
+drop table t2;
+#
+# Try RANGE PRECEDING|FOLLWING n
+#
+create table t1 (
+part_id int,
+pk int,
+a int
+);
+insert into t1 values
+(10, 1, 1),
+(10, 2, 2),
+(10, 3, 4),
+(10, 4, 8),
+(10, 5,26),
+(10, 6,27),
+(10, 7,40),
+(10, 8,71),
+(10, 9,72);
+select
+pk, a,
+count(a) over (ORDER BY a
+RANGE BETWEEN UNBOUNDED PRECEDING
+AND 10 FOLLOWING) as cnt
+from t1;
+pk a cnt
+1 1 4
+2 2 4
+3 4 4
+4 8 4
+5 26 6
+6 27 6
+7 40 7
+8 71 9
+9 72 9
+select
+pk, a,
+count(a) over (ORDER BY a DESC
+RANGE BETWEEN UNBOUNDED PRECEDING
+AND 10 FOLLOWING) as cnt
+from t1;
+pk a cnt
+1 1 9
+2 2 9
+3 4 9
+4 8 9
+5 26 5
+6 27 5
+7 40 3
+8 71 2
+9 72 2
+select
+pk, a,
+count(a) over (ORDER BY a
+RANGE BETWEEN UNBOUNDED PRECEDING
+AND 1 FOLLOWING) as cnt
+from t1;
+pk a cnt
+1 1 2
+2 2 2
+3 4 3
+4 8 4
+5 26 6
+6 27 6
+7 40 7
+8 71 9
+9 72 9
+select
+pk, a,
+count(a) over (ORDER BY a
+RANGE BETWEEN UNBOUNDED PRECEDING
+AND 10 PRECEDING) as cnt
+from t1;
+pk a cnt
+1 1 0
+2 2 0
+3 4 0
+4 8 0
+5 26 4
+6 27 4
+7 40 6
+8 71 7
+9 72 7
+select
+pk, a,
+count(a) over (ORDER BY a DESC
+RANGE BETWEEN UNBOUNDED PRECEDING
+AND 10 PRECEDING) as cnt
+from t1;
+pk a cnt
+1 1 5
+2 2 5
+3 4 5
+4 8 5
+5 26 3
+6 27 3
+7 40 2
+8 71 0
+9 72 0
+select
+pk, a,
+count(a) over (ORDER BY a
+RANGE BETWEEN UNBOUNDED PRECEDING
+AND 1 PRECEDING) as cnt
+from t1;
+pk a cnt
+1 1 0
+2 2 1
+3 4 2
+4 8 3
+5 26 4
+6 27 5
+7 40 6
+8 71 7
+9 72 8
+select
+pk, a,
+count(a) over (ORDER BY a
+RANGE BETWEEN 1 PRECEDING
+AND CURRENT ROW) as cnt
+from t1;
+pk a cnt
+1 1 1
+2 2 2
+3 4 1
+4 8 1
+5 26 1
+6 27 2
+7 40 1
+8 71 1
+9 72 2
+select
+pk, a,
+count(a) over (ORDER BY a DESC
+RANGE BETWEEN 1 PRECEDING
+AND CURRENT ROW) as cnt
+from t1;
+pk a cnt
+1 1 2
+2 2 1
+3 4 1
+4 8 1
+5 26 2
+6 27 1
+7 40 1
+8 71 2
+9 72 1
+select
+pk, a,
+count(a) over (ORDER BY a
+RANGE BETWEEN 1 FOLLOWING
+AND 3 FOLLOWING) as cnt
+from t1;
+pk a cnt
+1 1 2
+2 2 1
+3 4 0
+4 8 0
+5 26 1
+6 27 0
+7 40 0
+8 71 1
+9 72 0
+# Try CURRENT ROW with[out] DESC
+select
+pk, a,
+count(a) over (ORDER BY a
+RANGE BETWEEN CURRENT ROW
+AND 1 FOLLOWING) as cnt
+from t1;
+pk a cnt
+1 1 2
+2 2 1
+3 4 1
+4 8 1
+5 26 2
+6 27 1
+7 40 1
+8 71 2
+9 72 1
+select
+pk, a,
+count(a) over (order by a desc
+range between current row
+and 1 following) as cnt
+from t1;
+pk a cnt
+1 1 1
+2 2 2
+3 4 1
+4 8 1
+5 26 1
+6 27 2
+7 40 1
+8 71 1
+9 72 2
+insert into t1 select 22, pk, a from t1;
+select
+part_id, pk, a,
+count(a) over (PARTITION BY part_id
+ORDER BY a
+RANGE BETWEEN UNBOUNDED PRECEDING
+AND 10 FOLLOWING) as cnt
+from t1;
+part_id pk a cnt
+10 1 1 4
+10 2 2 4
+10 3 4 4
+10 4 8 4
+10 5 26 6
+10 6 27 6
+10 7 40 7
+10 8 71 9
+10 9 72 9
+22 1 1 4
+22 2 2 4
+22 3 4 4
+22 4 8 4
+22 5 26 6
+22 6 27 6
+22 7 40 7
+22 8 71 9
+22 9 72 9
+select
+pk, a,
+count(a) over (PARTITION BY part_id
+ORDER BY a
+RANGE BETWEEN UNBOUNDED PRECEDING
+AND 1 PRECEDING) as cnt
+from t1;
+pk a cnt
+1 1 0
+2 2 1
+3 4 2
+4 8 3
+5 26 4
+6 27 5
+7 40 6
+8 71 7
+9 72 8
+1 1 0
+2 2 1
+3 4 2
+4 8 3
+5 26 4
+6 27 5
+7 40 6
+8 71 7
+9 72 8
+drop table t1;
+# Try a RANGE frame over non-integer datatype:
+create table t1 (
+col1 int,
+a decimal(5,3)
+);
+insert into t1 values (1, 0.45);
+insert into t1 values (1, 0.5);
+insert into t1 values (1, 0.55);
+insert into t1 values (1, 1.21);
+insert into t1 values (1, 1.22);
+insert into t1 values (1, 3.33);
+select
+a,
+count(col1) over (order by a
+range between 0.1 preceding
+and 0.1 following)
+from t1;
+a count(col1) over (order by a
+range between 0.1 preceding
+and 0.1 following)
+0.450 3
+0.500 3
+0.550 3
+1.210 2
+1.220 2
+3.330 1
+drop table t1;
+#
+# RANGE-type frames and NULL values
+#
+create table t1 (
+pk int,
+a int,
+b int
+);
+insert into t1 values (1, NULL,1);
+insert into t1 values (2, NULL,1);
+insert into t1 values (3, NULL,1);
+insert into t1 values (4, 10 ,1);
+insert into t1 values (5, 11 ,1);
+insert into t1 values (6, 12 ,1);
+insert into t1 values (7, 13 ,1);
+insert into t1 values (8, 14 ,1);
+select
+pk, a,
+count(b) over (order by a
+range between 2 preceding
+and 2 following) as CNT
+from t1;
+pk a CNT
+1 NULL 3
+2 NULL 3
+3 NULL 3
+4 10 3
+5 11 4
+6 12 5
+7 13 4
+8 14 3
+drop table t1;
+#
+# Try ranges that have bound1 > bound2. The standard actually allows them
+#
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t1 (pk int, c int);
+insert into t1 select a+1,1 from t0;
+update t1 set c=2 where pk not in (1,2,3,4);
+select * from t1;
+pk c
+1 1
+2 1
+3 1
+4 1
+5 2
+6 2
+7 2
+8 2
+9 2
+10 2
+select
+pk, c,
+count(*) over (partition by c
+order by pk
+rows between 1 preceding
+and 2 preceding)
+as cnt
+from t1;
+pk c cnt
+1 1 0
+2 1 0
+3 1 0
+4 1 0
+5 2 0
+6 2 0
+7 2 0
+8 2 0
+9 2 0
+10 2 0
+select
+pk, c,
+count(*) over (partition by c
+order by pk
+range between 1 preceding
+and 2 preceding)
+as cnt
+from t1;
+pk c cnt
+1 1 0
+2 1 0
+3 1 0
+4 1 0
+5 2 0
+6 2 0
+7 2 0
+8 2 0
+9 2 0
+10 2 0
+drop table t0, t1;
+#
+# Error checking for frame bounds
+#
+create table t1 (a int, b int, c varchar(32));
+insert into t1 values (1,1,'foo');
+insert into t1 values (2,2,'bar');
+select
+count(*) over (order by a,b
+range between unbounded preceding and current row)
+from t1;
+ERROR HY000: RANGE-type frame requires ORDER BY clause with single sort key
+select
+count(*) over (order by c
+range between unbounded preceding and current row)
+from t1;
+ERROR HY000: Numeric datatype is required for RANGE-type frame
+select
+count(*) over (order by a
+range between 'abcd' preceding and current row)
+from t1;
+ERROR HY000: Numeric datatype is required for RANGE-type frame
+select
+count(*) over (order by a
+range between current row and 'foo' following)
+from t1;
+ERROR HY000: Numeric datatype is required for RANGE-type frame
+# Try range frame with invalid bounds
+select
+count(*) over (order by a
+rows between 0.5 preceding and current row)
+from t1;
+ERROR HY000: Integer is required for ROWS-type frame
+select
+count(*) over (order by a
+rows between current row and 3.14 following)
+from t1;
+ERROR HY000: Integer is required for ROWS-type frame
+#
+# EXCLUDE clause is parsed but not supported
+#
+select
+count(*) over (order by a
+rows between 1 preceding and 1 following
+exclude current row)
+from t1;
+ERROR HY000: Frame exclusion is not supported yet
+select
+count(*) over (order by a
+range between 1 preceding and 1 following
+exclude ties)
+from t1;
+ERROR HY000: Frame exclusion is not supported yet
+select
+count(*) over (order by a
+range between 1 preceding and 1 following
+exclude group)
+from t1;
+ERROR HY000: Frame exclusion is not supported yet
+select
+count(*) over (order by a
+rows between 1 preceding and 1 following
+exclude no others)
+from t1;
+count(*) over (order by a
+rows between 1 preceding and 1 following
+exclude no others)
+2
+2
+drop table t1;
+#
+# Window function in grouping query
+#
+create table t1 (
+username varchar(32),
+amount int
+);
+insert into t1 values
+('user1',1),
+('user1',5),
+('user1',3),
+('user2',10),
+('user2',20),
+('user2',30);
+select
+username,
+sum(amount) as s,
+rank() over (order by s desc)
+from t1
+group by username;
+username s rank() over (order by s desc)
+user1 9 2
+user2 60 1
+drop table t1;
+#
+# mdev-9719: Window function in prepared statement
+#
+create table t1(a int, b int, x char(32));
+insert into t1 values (2, 10, 'xx');
+insert into t1 values (2, 10, 'zz');
+insert into t1 values (2, 20, 'yy');
+insert into t1 values (3, 10, 'xxx');
+insert into t1 values (3, 20, 'vvv');
+prepare stmt from 'select a, row_number() over (partition by a order by b) from t1';
+execute stmt;
+a row_number() over (partition by a order by b)
+2 1
+2 2
+2 3
+3 1
+3 2
+drop table t1;
+#
+# mdev-9754: Window name resolution in prepared statement
+#
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t1 (pk int, c int);
+insert into t1 select a+1,1 from t0;
+update t1 set c=2 where pk not in (1,2,3,4);
+select * from t1;
+pk c
+1 1
+2 1
+3 1
+4 1
+5 2
+6 2
+7 2
+8 2
+9 2
+10 2
+prepare stmt from
+'select
+ pk, c,
+ count(*) over w1 as CNT
+from t1
+window w1 as (partition by c order by pk
+ rows between 2 preceding and 2 following)';
+execute stmt;
+pk c CNT
+1 1 3
+2 1 4
+3 1 4
+4 1 3
+5 2 3
+6 2 4
+7 2 5
+8 2 5
+9 2 4
+10 2 3
+drop table t0,t1;
+#
+# EXPLAIN FORMAT=JSON support for window functions
+#
+create table t0 (a int);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+explain format=json select rank() over (order by a) from t0;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "t0.a"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t0",
+ "access_type": "ALL",
+ "rows": 10,
+ "filtered": 100
+ }
+ }
+ }
+ }
+}
+create table t1 (a int, b int, c int);
+insert into t1 select a,a,a from t0;
+explain format=json
+select
+a,
+rank() over (order by sum(b))
+from t1
+group by a;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "filesort": {
+ "sort_key": "t1.a",
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "sum(t1.b)"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t1",
+ "access_type": "ALL",
+ "rows": 10,
+ "filtered": 100
+ }
+ }
+ }
+ }
+ }
+}
+explain format=json
+select
+a,
+rank() over (order by sum(b))
+from t1
+group by a
+order by null;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "sum(t1.b)"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t1",
+ "access_type": "ALL",
+ "rows": 10,
+ "filtered": 100
+ }
+ }
+ }
+ }
+}
+#
+# Check how window function works together with GROUP BY and HAVING
+#
+select b,max(a) as MX, rank() over (order by b) from t1 group by b having MX in (3,5,7);
+b MX rank() over (order by b)
+3 3 1
+5 5 2
+7 7 3
+explain format=json
+select b,max(a) as MX, rank() over (order by b) from t1 group by b having MX in (3,5,7);
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "having_condition": "(MX in (3,5,7))",
+ "filesort": {
+ "sort_key": "t1.b",
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "t1.b"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t1",
+ "access_type": "ALL",
+ "rows": 10,
+ "filtered": 100
+ }
+ }
+ }
+ }
+ }
+}
+drop table t1;
+drop table t0;
+#
+# Building ordering index for window functions
+#
+create table t1 (
+pk int primary key,
+a int,
+b int,
+c int
+);
+insert into t1 values
+(101 , 0, 10, 1),
+(102 , 0, 10, 2),
+(103 , 1, 10, 3),
+(104 , 1, 10, 4),
+(108 , 2, 10, 5),
+(105 , 2, 20, 6),
+(106 , 2, 20, 7),
+(107 , 2, 20, 8),
+(109 , 4, 20, 9),
+(110 , 4, 20, 10),
+(111 , 5, NULL, 11),
+(112 , 5, 1, 12),
+(113 , 5, NULL, 13),
+(114 , 5, NULL, 14),
+(115 , 5, NULL, 15),
+(116 , 6, 1, NULL),
+(117 , 6, 1, 10),
+(118 , 6, 1, 1),
+(119 , 6, 1, NULL),
+(120 , 6, 1, NULL),
+(121 , 6, 1, NULL),
+(122 , 6, 1, 2),
+(123 , 6, 1, 20),
+(124 , 6, 1, -10),
+(125 , 6, 1, NULL),
+(126 , 6, 1, NULL),
+(127 , 6, 1, NULL);
+select sum(b) over (partition by a order by b,pk
+rows between unbounded preceding and current row) as c1,
+avg(b) over (w1 rows between 1 preceding and 1 following) as c2,
+sum(c) over (w2 rows between 1 preceding and 1 following) as c5,
+avg(b) over (w1 rows between 5 preceding and 5 following) as c3,
+sum(b) over (w1 rows between 1 preceding and 1 following) as c4
+from t1
+window w1 as (partition by a order by b,pk),
+w2 as (partition by b order by c,pk);
+c1 c2 c5 c3 c4
+1 1.0000 42 1.0000 1
+1 1.0000 NULL 1.0000 2
+10 1.0000 NULL 1.0000 3
+10 10.0000 3 10.0000 20
+10 10.0000 9 10.0000 20
+10 15.0000 9 17.5000 30
+11 1.0000 NULL 1.0000 3
+12 1.0000 -10 1.0000 2
+2 1.0000 24 1.0000 3
+20 10.0000 12 10.0000 20
+20 10.0000 6 10.0000 20
+20 20.0000 27 20.0000 40
+3 1.0000 -7 1.0000 3
+30 16.6667 13 17.5000 50
+4 1.0000 NULL 1.0000 3
+40 20.0000 19 20.0000 40
+5 1.0000 NULL 1.0000 3
+50 20.0000 21 17.5000 60
+6 1.0000 NULL 1.0000 3
+7 1.0000 13 1.0000 3
+70 20.0000 24 17.5000 40
+8 1.0000 32 1.0000 3
+9 1.0000 -9 1.0000 3
+NULL 1.0000 29 1.0000 1
+NULL NULL 24 1.0000 NULL
+NULL NULL 38 1.0000 NULL
+NULL NULL 42 1.0000 NULL
+drop table t1;
+#
+# MDEV-9848: Window functions: reuse sorting and/or scanning
+#
+create table t1 (a int, b int, c int);
+insert into t1 values
+(1,3,1),
+(2,2,1),
+(3,1,1);
+# Check using counters
+flush status;
+select
+rank() over (partition by c order by a),
+rank() over (partition by c order by b)
+from t1;
+rank() over (partition by c order by a) rank() over (partition by c order by b)
+1 3
+2 2
+3 1
+show status like '%sort%';
+Variable_name Value
+Sort_merge_passes 0
+Sort_priority_queue_sorts 0
+Sort_range 0
+Sort_rows 6
+Sort_scan 2
+flush status;
+select
+rank() over (partition by c order by a),
+rank() over (partition by c order by a)
+from t1;
+rank() over (partition by c order by a) rank() over (partition by c order by a)
+1 1
+2 2
+3 3
+show status like '%sort%';
+Variable_name Value
+Sort_merge_passes 0
+Sort_priority_queue_sorts 0
+Sort_range 0
+Sort_rows 3
+Sort_scan 1
+explain format=json
+select
+rank() over (partition by c order by a),
+rank() over (partition by c order by a)
+from t1;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "t1.c, t1.a"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t1",
+ "access_type": "ALL",
+ "rows": 3,
+ "filtered": 100
+ }
+ }
+ }
+ }
+}
+explain format=json
+select
+rank() over (order by a),
+row_number() over (order by a)
+from t1;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "t1.a"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t1",
+ "access_type": "ALL",
+ "rows": 3,
+ "filtered": 100
+ }
+ }
+ }
+ }
+}
+explain format=json
+select
+rank() over (partition by c order by a),
+count(*) over (partition by c)
+from t1;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "t1.c, t1.a"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t1",
+ "access_type": "ALL",
+ "rows": 3,
+ "filtered": 100
+ }
+ }
+ }
+ }
+}
+explain format=json
+select
+count(*) over (partition by c),
+rank() over (partition by c order by a)
+from t1;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "t1.c, t1.a"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t1",
+ "access_type": "ALL",
+ "rows": 3,
+ "filtered": 100
+ }
+ }
+ }
+ }
+}
+drop table t1;
+#
+# MDEV-9847: Window functions: crash with big_tables=1
+#
+create table t1(a int);
+insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+set @tmp=@@big_tables;
+set big_tables=1;
+select rank() over (order by a) from t1;
+rank() over (order by a)
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+set big_tables=@tmp;
+drop table t1;
+#
+# Check if "ORDER BY window_func" works
+#
+create table t1 (s1 int, s2 char(5));
+insert into t1 values (1,'a');
+insert into t1 values (null,null);
+insert into t1 values (1,null);
+insert into t1 values (null,'a');
+insert into t1 values (2,'b');
+insert into t1 values (-1,'');
+explain format=json
+select *, row_number() over (order by s1, s2) as X from t1 order by X desc;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "filesort": {
+ "sort_key": "X",
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "t1.s1, t1.s2"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t1",
+ "access_type": "ALL",
+ "rows": 6,
+ "filtered": 100
+ }
+ }
+ }
+ }
+ }
+}
+select *, row_number() over (order by s1, s2) as X from t1 order by X desc;
+s1 s2 X
+2 b 6
+1 a 5
+1 NULL 4
+-1 3
+NULL a 2
+NULL NULL 1
+drop table t1;
+#
+# Try window functions that are not directly present in the select list
+#
+create table t1 (a int, b int);
+insert into t1 values
+(1,3),
+(2,2),
+(3,1);
+select
+rank() over (order by a) -
+rank() over (order by b)
+from
+t1;
+rank() over (order by a) -
+rank() over (order by b)
+0
+0
+0
+drop table t1;
+#
+# MDEV-9894: Assertion `0' failed in Window_func_runner::setup
+# return ER_NOT_SUPPORTED_YET for aggregates that are not yet supported
+# as window functions.
+#
+create table t1 (i int);
+insert into t1 values (1),(2);
+SELECT MAX(i) OVER (PARTITION BY (i)) FROM t1;
+ERROR 42000: This version of MariaDB doesn't yet support 'This aggregate as window function'
+drop table t1;
+#
+# Check the 0 in ROWS 0 PRECEDING
+#
+create table t1 (
+part_id int,
+pk int,
+a int
+);
+insert into t1 values (1, 1, 1);
+insert into t1 values (1, 2, 2);
+insert into t1 values (1, 3, 4);
+insert into t1 values (1, 4, 8);
+select
+pk, a,
+sum(a) over (order by pk rows between 0 preceding and current row)
+from t1;
+pk a sum(a) over (order by pk rows between 0 preceding and current row)
+1 1 1
+2 2 2
+3 4 4
+4 8 8
+select
+pk, a,
+sum(a) over (order by pk rows between 1 preceding and 0 preceding)
+from t1;
+pk a sum(a) over (order by pk rows between 1 preceding and 0 preceding)
+1 1 1
+2 2 3
+3 4 6
+4 8 12
+insert into t1 values (200, 1, 1);
+insert into t1 values (200, 2, 2);
+insert into t1 values (200, 3, 4);
+insert into t1 values (200, 4, 8);
+select
+part_id, pk, a,
+sum(a) over (partition by part_id order by pk rows between 0 preceding and current row)
+from t1;
+part_id pk a sum(a) over (partition by part_id order by pk rows between 0 preceding and current row)
+1 1 1 1
+1 2 2 2
+1 3 4 4
+1 4 8 8
+200 1 1 1
+200 2 2 2
+200 3 4 4
+200 4 8 8
+select
+part_id, pk, a,
+sum(a) over (partition by part_id order by pk rows between 1 preceding and 0 preceding)
+from t1;
+part_id pk a sum(a) over (partition by part_id order by pk rows between 1 preceding and 0 preceding)
+1 1 1 1
+1 2 2 3
+1 3 4 6
+1 4 8 12
+200 1 1 1
+200 2 2 3
+200 3 4 6
+200 4 8 12
+drop table t1;
+#
+# MDEV-9780, The "DISTINCT must not bet converted into GROUP BY when
+# window functions are present" part
+#
+create table t1 (part_id int, a int);
+insert into t1 values
+(100, 1),
+(100, 2),
+(100, 2),
+(100, 3),
+(2000, 1),
+(2000, 2),
+(2000, 3),
+(2000, 3),
+(2000, 3);
+select rank() over (partition by part_id order by a) from t1;
+rank() over (partition by part_id order by a)
+1
+2
+2
+4
+1
+2
+3
+3
+3
+select distinct rank() over (partition by part_id order by a) from t1;
+rank() over (partition by part_id order by a)
+1
+2
+4
+3
+explain format=json
+select distinct rank() over (partition by part_id order by a) from t1;
+EXPLAIN
+{
+ "query_block": {
+ "select_id": 1,
+ "duplicate_removal": {
+ "window_functions_computation": {
+ "sorts": {
+ "filesort": {
+ "sort_key": "t1.part_id, t1.a"
+ }
+ },
+ "temporary_table": {
+ "table": {
+ "table_name": "t1",
+ "access_type": "ALL",
+ "rows": 9,
+ "filtered": 100
+ }
+ }
+ }
+ }
+ }
+}
+drop table t1;
+#
+# MDEV-9893: Window functions with different ORDER BY lists,
+# one of these lists containing an expression
+#
+create table t1 (s1 int, s2 char(5));
+insert into t1 values (1,'a');
+insert into t1 values (null,null);
+insert into t1 values (3,null);
+insert into t1 values (4,'a');
+insert into t1 values (2,'b');
+insert into t1 values (-1,'');
+select
+*,
+ROW_NUMBER() OVER (order by s1),
+CUME_DIST() OVER (order by -s1)
+from t1;
+s1 s2 ROW_NUMBER() OVER (order by s1) CUME_DIST() OVER (order by -s1)
+1 a 3 0.8333333333
+NULL NULL 1 0.1666666667
+3 NULL 5 0.5000000000
+4 a 6 0.3333333333
+2 b 4 0.6666666667
+-1 2 1.0000000000
+drop table t1;
+#
+# MDEV-9925: Wrong result with aggregate function as a window function
+#
+create table t1 (i int);
+insert into t1 values (1),(2);
+select i, sum(i) over (partition by i) from t1;
+i sum(i) over (partition by i)
+1 1
+2 2
+drop table t1;
+#
+# MDEV-9922: Assertion `!join->only_const_tables() && fsort' failed in int create_sort_index
+#
+create view v1 as select 1 as i;
+select rank() over (order by i) from v1;
+rank() over (order by i)
+1
+drop view v1;
diff --git a/mysql-test/r/win_avg.result b/mysql-test/r/win_avg.result
new file mode 100644
index 00000000000..7e539d933d8
--- /dev/null
+++ b/mysql-test/r/win_avg.result
@@ -0,0 +1,95 @@
+create table t1 (
+pk int primary key,
+a int,
+b int,
+c real
+);
+insert into t1 values
+(101 , 0, 10, 1.1),
+(102 , 0, 10, 2.1),
+(103 , 1, 10, 3.1),
+(104 , 1, 10, 4.1),
+(108 , 2, 10, 5.1),
+(105 , 2, 20, 6.1),
+(106 , 2, 20, 7.1),
+(107 , 2, 20, 8.15),
+(109 , 4, 20, 9.15),
+(110 , 4, 20, 10.15),
+(111 , 5, NULL, 11.15),
+(112 , 5, 1, 12.25),
+(113 , 5, NULL, 13.35),
+(114 , 5, NULL, 14.50),
+(115 , 5, NULL, 15.65),
+(116 , 6, 1, NULL),
+(117 , 6, 1, 10),
+(118 , 6, 1, 1.1),
+(119 , 6, 1, NULL),
+(120 , 6, 1, NULL),
+(121 , 6, 1, NULL),
+(122 , 6, 1, 2.2),
+(123 , 6, 1, 20.1),
+(124 , 6, 1, -10.4),
+(125 , 6, 1, NULL),
+(126 , 6, 1, NULL),
+(127 , 6, 1, NULL);
+select pk, a, b, avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
+from t1;
+pk a b avg(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
+101 0 10 10.0000
+102 0 10 10.0000
+103 1 10 10.0000
+104 1 10 10.0000
+105 2 20 20.0000
+106 2 20 20.0000
+107 2 20 16.6667
+108 2 10 15.0000
+109 4 20 20.0000
+110 4 20 20.0000
+111 5 NULL 1.0000
+112 5 1 1.0000
+113 5 NULL 1.0000
+114 5 NULL NULL
+115 5 NULL NULL
+116 6 1 1.0000
+117 6 1 1.0000
+118 6 1 1.0000
+119 6 1 1.0000
+120 6 1 1.0000
+121 6 1 1.0000
+122 6 1 1.0000
+123 6 1 1.0000
+124 6 1 1.0000
+125 6 1 1.0000
+126 6 1 1.0000
+127 6 1 1.0000
+select pk, a, c, avg(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
+from t1;
+pk a c avg(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
+101 0 1.1 1.6
+102 0 2.1 1.6
+103 1 3.1 3.5999999999999996
+104 1 4.1 3.5999999999999996
+105 2 6.1 6.6
+106 2 7.1 7.116666666666667
+107 2 8.15 6.783333333333334
+108 2 5.1 6.625000000000001
+109 4 9.15 9.65
+110 4 10.15 9.65
+111 5 11.15 11.7
+112 5 12.25 12.25
+113 5 13.35 13.366666666666667
+114 5 14.5 14.5
+115 5 15.65 15.075
+116 6 NULL 10
+117 6 10 5.55
+118 6 1.1 5.55
+119 6 NULL 1.0999999999999996
+120 6 NULL NULL
+121 6 NULL 2.1999999999999997
+122 6 2.2 11.15
+123 6 20.1 3.966666666666667
+124 6 -10.4 4.85
+125 6 NULL -10.400000000000002
+126 6 NULL NULL
+127 6 NULL NULL
+drop table t1;
diff --git a/mysql-test/r/win_bit.result b/mysql-test/r/win_bit.result
new file mode 100644
index 00000000000..ac7625beb90
--- /dev/null
+++ b/mysql-test/r/win_bit.result
@@ -0,0 +1,117 @@
+create table t1 (
+pk int primary key,
+a int,
+b int
+);
+create table t2 (
+pk int primary key,
+a int,
+b int
+);
+insert into t1 values
+( 1 , 0, 1),
+( 2 , 0, 2),
+( 3 , 1, 4),
+( 4 , 1, 8),
+( 5 , 2, 32),
+( 6 , 2, 64),
+( 7 , 2, 128),
+( 8 , 2, 16);
+insert into t2 values
+( 1 , 0, 2),
+( 2 , 0, 2),
+( 3 , 1, 4),
+( 4 , 1, 4),
+( 5 , 2, 16),
+( 6 , 2, 64),
+( 7 , 2, 128),
+( 8 , 2, 16);
+# Test bit functions on only one partition.
+select pk, a, b,
+bit_or(b) over (order by pk) as bit_or,
+bit_and(b) over (order by pk) as bit_and,
+bit_xor(b) over (order by pk) as bit_xor
+from t1;
+pk a b bit_or bit_and bit_xor
+1 0 1 1 1 1
+2 0 2 3 0 3
+3 1 4 7 0 7
+4 1 8 15 0 15
+5 2 32 47 0 47
+6 2 64 111 0 111
+7 2 128 239 0 239
+8 2 16 255 0 255
+select pk, a, b,
+bit_or(b) over (order by pk) as bit_or,
+bit_and(b) over (order by pk) as bit_and,
+bit_xor(b) over (order by pk) as bit_xor
+from t2;
+pk a b bit_or bit_and bit_xor
+1 0 2 2 2 2
+2 0 2 2 2 0
+3 1 4 6 0 4
+4 1 4 6 0 0
+5 2 16 22 0 16
+6 2 64 86 0 80
+7 2 128 214 0 208
+8 2 16 214 0 192
+# Test multiple partitions with bit functions.
+select pk, a, b,
+bit_or(b) over (partition by a order by pk) as bit_or,
+bit_and(b) over (partition by a order by pk) as bit_and,
+bit_xor(b) over (partition by a order by pk) as bit_xor
+from t1;
+pk a b bit_or bit_and bit_xor
+1 0 1 1 1 1
+2 0 2 3 0 3
+3 1 4 4 4 4
+4 1 8 12 0 12
+5 2 32 32 32 32
+6 2 64 96 0 96
+7 2 128 224 0 224
+8 2 16 240 0 240
+select pk, a, b,
+bit_or(b) over (partition by a order by pk) as bit_or,
+bit_and(b) over (partition by a order by pk) as bit_and,
+bit_xor(b) over (partition by a order by pk) as bit_xor
+from t2;
+pk a b bit_or bit_and bit_xor
+1 0 2 2 2 2
+2 0 2 2 2 0
+3 1 4 4 4 4
+4 1 4 4 4 0
+5 2 16 16 16 16
+6 2 64 80 0 80
+7 2 128 208 0 208
+8 2 16 208 0 192
+# Test remove function for bit functions using a sliding window.
+select pk, a, b,
+bit_or(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) as bit_or,
+bit_and(b) over (partition by a order by pk) as bit_and,
+bit_xor(b) over (partition by a order by pk) as bit_xor
+from t1;
+pk a b bit_or bit_and bit_xor
+1 0 1 3 1 1
+2 0 2 3 0 3
+3 1 4 12 4 4
+4 1 8 12 0 12
+5 2 32 96 32 32
+6 2 64 224 0 96
+7 2 128 208 0 224
+8 2 16 144 0 240
+select pk, a, b,
+bit_or(b) over (partition by a order by pk) as bit_or,
+bit_and(b) over (partition by a order by pk) as bit_and,
+bit_xor(b) over (partition by a order by pk) as bit_xor
+from t2;
+pk a b bit_or bit_and bit_xor
+1 0 2 2 2 2
+2 0 2 2 2 0
+3 1 4 4 4 4
+4 1 4 4 4 0
+5 2 16 16 16 16
+6 2 64 80 0 80
+7 2 128 208 0 208
+8 2 16 208 0 192
+drop table t1;
+drop table t2;
diff --git a/mysql-test/r/win_ntile.result b/mysql-test/r/win_ntile.result
new file mode 100644
index 00000000000..41cb1a594bf
--- /dev/null
+++ b/mysql-test/r/win_ntile.result
@@ -0,0 +1,435 @@
+create table t1 (
+pk int primary key,
+a int,
+b int
+);
+insert into t1 values
+(11 , 0, 10),
+(12 , 0, 10),
+(13 , 1, 10),
+(14 , 1, 10),
+(18 , 2, 10),
+(15 , 2, 20),
+(16 , 2, 20),
+(17 , 2, 20),
+(19 , 4, 20),
+(20 , 4, 20);
+select pk, a, b, ntile(-1) over (order by a)
+from t1;
+ERROR HY000: Argument of NTILE must be greater than 0
+select pk, a, b,
+ntile(0) over (order by a)
+from t1;
+ERROR HY000: Argument of NTILE must be greater than 0
+select pk, a, b,
+ntile(1) over (order by pk)
+from t1;
+pk a b ntile(1) over (order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 1
+14 1 10 1
+15 2 20 1
+16 2 20 1
+17 2 20 1
+18 2 10 1
+19 4 20 1
+20 4 20 1
+select pk, a, b,
+ntile(2) over (order by pk)
+from t1;
+pk a b ntile(2) over (order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 1
+14 1 10 1
+15 2 20 1
+16 2 20 2
+17 2 20 2
+18 2 10 2
+19 4 20 2
+20 4 20 2
+select pk, a, b,
+ntile(3) over (order by pk)
+from t1;
+pk a b ntile(3) over (order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 1
+14 1 10 1
+15 2 20 2
+16 2 20 2
+17 2 20 2
+18 2 10 3
+19 4 20 3
+20 4 20 3
+select pk, a, b,
+ntile(4) over (order by pk)
+from t1;
+pk a b ntile(4) over (order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 1
+14 1 10 2
+15 2 20 2
+16 2 20 2
+17 2 20 3
+18 2 10 3
+19 4 20 4
+20 4 20 4
+select pk, a, b,
+ntile(5) over (order by pk)
+from t1;
+pk a b ntile(5) over (order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 2
+14 1 10 2
+15 2 20 3
+16 2 20 3
+17 2 20 4
+18 2 10 4
+19 4 20 5
+20 4 20 5
+select pk, a, b,
+ntile(6) over (order by pk)
+from t1;
+pk a b ntile(6) over (order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 2
+14 1 10 2
+15 2 20 3
+16 2 20 3
+17 2 20 4
+18 2 10 4
+19 4 20 5
+20 4 20 6
+select pk, a, b,
+ntile(7) over (order by pk)
+from t1;
+pk a b ntile(7) over (order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 2
+14 1 10 2
+15 2 20 3
+16 2 20 3
+17 2 20 4
+18 2 10 5
+19 4 20 6
+20 4 20 7
+select pk, a, b,
+ntile(8) over (order by pk)
+from t1;
+pk a b ntile(8) over (order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 2
+14 1 10 2
+15 2 20 3
+16 2 20 4
+17 2 20 5
+18 2 10 6
+19 4 20 7
+20 4 20 8
+select pk, a, b,
+ntile(9) over (order by pk)
+from t1;
+pk a b ntile(9) over (order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 2
+14 1 10 3
+15 2 20 4
+16 2 20 5
+17 2 20 6
+18 2 10 7
+19 4 20 8
+20 4 20 9
+select pk, a, b,
+ntile(10) over (order by pk)
+from t1;
+pk a b ntile(10) over (order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+15 2 20 5
+16 2 20 6
+17 2 20 7
+18 2 10 8
+19 4 20 9
+20 4 20 10
+select pk, a, b,
+ntile(11) over (order by pk)
+from t1;
+pk a b ntile(11) over (order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+15 2 20 5
+16 2 20 6
+17 2 20 7
+18 2 10 8
+19 4 20 9
+20 4 20 10
+select pk, a, b,
+ntile(20) over (order by pk)
+from t1;
+pk a b ntile(20) over (order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+15 2 20 5
+16 2 20 6
+17 2 20 7
+18 2 10 8
+19 4 20 9
+20 4 20 10
+select pk, a, b,
+ntile(1) over (partition by b order by pk)
+from t1;
+pk a b ntile(1) over (partition by b order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 1
+14 1 10 1
+18 2 10 1
+15 2 20 1
+16 2 20 1
+17 2 20 1
+19 4 20 1
+20 4 20 1
+select pk, a, b,
+ntile(2) over (partition by b order by pk)
+from t1;
+pk a b ntile(2) over (partition by b order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 1
+14 1 10 2
+18 2 10 2
+15 2 20 1
+16 2 20 1
+17 2 20 1
+19 4 20 2
+20 4 20 2
+select pk, a, b,
+ntile(3) over (partition by b order by pk)
+from t1;
+pk a b ntile(3) over (partition by b order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 2
+14 1 10 2
+18 2 10 3
+15 2 20 1
+16 2 20 1
+17 2 20 2
+19 4 20 2
+20 4 20 3
+select pk, a, b,
+ntile(4) over (partition by b order by pk)
+from t1;
+pk a b ntile(4) over (partition by b order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 2
+14 1 10 3
+18 2 10 4
+15 2 20 1
+16 2 20 1
+17 2 20 2
+19 4 20 3
+20 4 20 4
+select pk, a, b,
+ntile(5) over (partition by b order by pk)
+from t1;
+pk a b ntile(5) over (partition by b order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+18 2 10 5
+15 2 20 1
+16 2 20 2
+17 2 20 3
+19 4 20 4
+20 4 20 5
+select pk, a, b,
+ntile(6) over (partition by b order by pk)
+from t1;
+pk a b ntile(6) over (partition by b order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+18 2 10 5
+15 2 20 1
+16 2 20 2
+17 2 20 3
+19 4 20 4
+20 4 20 5
+select pk, a, b,
+ntile(7) over (partition by b order by pk)
+from t1;
+pk a b ntile(7) over (partition by b order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+18 2 10 5
+15 2 20 1
+16 2 20 2
+17 2 20 3
+19 4 20 4
+20 4 20 5
+select pk, a, b,
+ntile(8) over (partition by b order by pk)
+from t1;
+pk a b ntile(8) over (partition by b order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+18 2 10 5
+15 2 20 1
+16 2 20 2
+17 2 20 3
+19 4 20 4
+20 4 20 5
+select pk, a, b,
+ntile(9) over (partition by b order by pk)
+from t1;
+pk a b ntile(9) over (partition by b order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+18 2 10 5
+15 2 20 1
+16 2 20 2
+17 2 20 3
+19 4 20 4
+20 4 20 5
+select pk, a, b,
+ntile(10) over (partition by b order by pk)
+from t1;
+pk a b ntile(10) over (partition by b order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+18 2 10 5
+15 2 20 1
+16 2 20 2
+17 2 20 3
+19 4 20 4
+20 4 20 5
+select pk, a, b,
+ntile(11) over (partition by b order by pk)
+from t1;
+pk a b ntile(11) over (partition by b order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+18 2 10 5
+15 2 20 1
+16 2 20 2
+17 2 20 3
+19 4 20 4
+20 4 20 5
+select pk, a, b,
+ntile(20) over (partition by b order by pk)
+from t1;
+pk a b ntile(20) over (partition by b order by pk)
+11 0 10 1
+12 0 10 2
+13 1 10 3
+14 1 10 4
+18 2 10 5
+15 2 20 1
+16 2 20 2
+17 2 20 3
+19 4 20 4
+20 4 20 5
+select pk, a, b,
+ntile(1 + 3) over (partition by b order by pk)
+from t1;
+pk a b ntile(1 + 3) over (partition by b order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 2
+14 1 10 3
+18 2 10 4
+15 2 20 1
+16 2 20 1
+17 2 20 2
+19 4 20 3
+20 4 20 4
+select pk, a, b,
+ntile((select 4)) over (partition by b order by pk)
+from t1;
+pk a b ntile((select 4)) over (partition by b order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 2
+14 1 10 3
+18 2 10 4
+15 2 20 1
+16 2 20 1
+17 2 20 2
+19 4 20 3
+20 4 20 4
+select t1.a from t1 where pk = 11;
+a
+0
+select pk, a, b,
+ntile((select a from t1 where pk=11)) over (partition by b order by pk)
+from t1;
+ERROR HY000: Argument of NTILE must be greater than 0
+select t1.a from t1 where pk = 13;
+a
+1
+select pk, a, b,
+ntile((select a from t1 where pk=13)) over (partition by b order by pk)
+from t1;
+pk a b ntile((select a from t1 where pk=13)) over (partition by b order by pk)
+11 0 10 1
+12 0 10 1
+13 1 10 1
+14 1 10 1
+18 2 10 1
+15 2 20 1
+16 2 20 1
+17 2 20 1
+19 4 20 1
+20 4 20 1
+explain
+select pk, a, b,
+ntile((select a from t1 where pk=13)) over (partition by b order by pk)
+from t1;
+id select_type table type possible_keys key key_len ref rows Extra
+1 PRIMARY t1 ALL NULL NULL NULL NULL 10 Using temporary
+2 SUBQUERY t1 const PRIMARY PRIMARY 4 const 1
+select a from t1;
+a
+0
+0
+1
+1
+2
+2
+2
+2
+4
+4
+select pk, a, b,
+ntile((select a from t1)) over (partition by b order by pk)
+from t1;
+ERROR 21000: Subquery returns more than 1 row
+drop table t1;
diff --git a/mysql-test/r/win_orderby.result b/mysql-test/r/win_orderby.result
new file mode 100644
index 00000000000..bf4a40a4db3
--- /dev/null
+++ b/mysql-test/r/win_orderby.result
@@ -0,0 +1,26 @@
+drop table if exists t0,t1;
+create table t0(a int primary key);
+insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
+create table t1(
+pk int,
+a int,
+key(pk)
+);
+insert into t1
+select
+A.a + B.a* 10 + C.a * 100,
+1
+from t0 A, t0 B, t0 C;
+select
+pk,
+count(a) over (order by pk rows between 2 preceding and 2 following)
+from t1
+where pk between 1 and 30
+order by pk desc
+limit 4;
+pk count(a) over (order by pk rows between 2 preceding and 2 following)
+30 3
+29 4
+28 5
+27 5
+drop table t0,t1;
diff --git a/mysql-test/r/win_percent_cume.result b/mysql-test/r/win_percent_cume.result
new file mode 100644
index 00000000000..d38c95c9ea7
--- /dev/null
+++ b/mysql-test/r/win_percent_cume.result
@@ -0,0 +1,62 @@
+create table t1 (
+pk int primary key,
+a int,
+b int
+);
+insert into t1 values
+( 1 , 0, 10),
+( 2 , 0, 10),
+( 3 , 1, 10),
+( 4 , 1, 10),
+( 8 , 2, 10),
+( 5 , 2, 20),
+( 6 , 2, 20),
+( 7 , 2, 20),
+( 9 , 4, 20),
+(10 , 4, 20);
+select pk, a, b,
+percent_rank() over (order by a),
+cume_dist() over (order by a)
+from t1;
+pk a b percent_rank() over (order by a) cume_dist() over (order by a)
+1 0 10 0.0000000000 0.2000000000
+2 0 10 0.0000000000 0.2000000000
+3 1 10 0.2222222222 0.4000000000
+4 1 10 0.2222222222 0.4000000000
+8 2 10 0.4444444444 0.8000000000
+5 2 20 0.4444444444 0.8000000000
+6 2 20 0.4444444444 0.8000000000
+7 2 20 0.4444444444 0.8000000000
+9 4 20 0.8888888889 1.0000000000
+10 4 20 0.8888888889 1.0000000000
+select pk, a, b,
+percent_rank() over (order by pk),
+cume_dist() over (order by pk)
+from t1 order by pk;
+pk a b percent_rank() over (order by pk) cume_dist() over (order by pk)
+1 0 10 0.0000000000 0.1000000000
+2 0 10 0.1111111111 0.2000000000
+3 1 10 0.2222222222 0.3000000000
+4 1 10 0.3333333333 0.4000000000
+5 2 20 0.4444444444 0.5000000000
+6 2 20 0.5555555556 0.6000000000
+7 2 20 0.6666666667 0.7000000000
+8 2 10 0.7777777778 0.8000000000
+9 4 20 0.8888888889 0.9000000000
+10 4 20 1.0000000000 1.0000000000
+select pk, a, b,
+percent_rank() over (partition by a order by a),
+cume_dist() over (partition by a order by a)
+from t1;
+pk a b percent_rank() over (partition by a order by a) cume_dist() over (partition by a order by a)
+1 0 10 0.0000000000 1.0000000000
+2 0 10 0.0000000000 1.0000000000
+3 1 10 0.0000000000 1.0000000000
+4 1 10 0.0000000000 1.0000000000
+8 2 10 0.0000000000 1.0000000000
+5 2 20 0.0000000000 1.0000000000
+6 2 20 0.0000000000 1.0000000000
+7 2 20 0.0000000000 1.0000000000
+9 4 20 0.0000000000 1.0000000000
+10 4 20 0.0000000000 1.0000000000
+drop table t1;
diff --git a/mysql-test/r/win_rank.result b/mysql-test/r/win_rank.result
new file mode 100644
index 00000000000..725683d3869
--- /dev/null
+++ b/mysql-test/r/win_rank.result
@@ -0,0 +1,104 @@
+#
+# Try DENSE_RANK() function
+#
+create table t1 (
+pk int primary key,
+a int,
+b int
+);
+insert into t1 values
+( 1 , 0, 10),
+( 2 , 0, 10),
+( 3 , 1, 10),
+( 4 , 1, 10),
+( 8 , 2, 10),
+( 5 , 2, 20),
+( 6 , 2, 20),
+( 7 , 2, 20),
+( 9 , 4, 20),
+(10 , 4, 20);
+select pk, a, b, rank() over (order by a) as rank,
+dense_rank() over (order by a) as dense_rank
+from t1;
+pk a b rank dense_rank
+1 0 10 1 1
+2 0 10 1 1
+3 1 10 3 2
+4 1 10 3 2
+8 2 10 5 3
+5 2 20 5 3
+6 2 20 5 3
+7 2 20 5 3
+9 4 20 9 4
+10 4 20 9 4
+select pk, a, b, rank() over (partition by b order by a) as rank,
+dense_rank() over (partition by b order by a) as dense_rank
+from t1;
+pk a b rank dense_rank
+1 0 10 1 1
+2 0 10 1 1
+3 1 10 3 2
+4 1 10 3 2
+8 2 10 5 3
+5 2 20 1 1
+6 2 20 1 1
+7 2 20 1 1
+9 4 20 4 2
+10 4 20 4 2
+drop table t1;
+#
+# Test with null values in the table.
+#
+create table t2 (s1 int, s2 char(5));
+insert into t2 values (1,'a');
+insert into t2 values (null,null);
+insert into t2 values (1,null);
+insert into t2 values (null,'a');
+insert into t2 values (null,'c');
+insert into t2 values (2,'b');
+insert into t2 values (-1,'');
+select *, rank() over (order by s1) as rank,
+dense_rank() over (order by s1) as dense_rank
+from t2;
+s1 s2 rank dense_rank
+1 a 5 3
+NULL NULL 1 1
+1 NULL 5 3
+NULL a 1 1
+NULL c 1 1
+2 b 7 4
+-1 4 2
+select *, rank() over (partition by s2 order by s1) as rank,
+dense_rank() over (partition by s2 order by s1) as dense_rank
+from t2;
+s1 s2 rank dense_rank
+1 a 2 2
+NULL NULL 1 1
+1 NULL 2 2
+NULL a 1 1
+NULL c 1 1
+2 b 1 1
+-1 1 1
+select *, rank() over (order by s2) as rank,
+dense_rank() over (order by s2) as dense_rank
+from t2;
+s1 s2 rank dense_rank
+1 a 4 3
+NULL NULL 1 1
+1 NULL 1 1
+NULL a 4 3
+NULL c 7 5
+2 b 6 4
+-1 3 2
+select *, rank() over (partition by s1 order by s2) as rank,
+dense_rank() over (partition by s1 order by s2) as dense_rank
+from t2;
+s1 s2 rank dense_rank
+1 a 2 2
+NULL NULL 1 1
+1 NULL 1 1
+NULL a 2 2
+NULL c 3 3
+2 b 1 1
+-1 1 1
+drop table t2;
diff --git a/mysql-test/r/win_sum.result b/mysql-test/r/win_sum.result
new file mode 100644
index 00000000000..66a48fe8293
--- /dev/null
+++ b/mysql-test/r/win_sum.result
@@ -0,0 +1,95 @@
+create table t1 (
+pk int primary key,
+a int,
+b int,
+c real
+);
+insert into t1 values
+(101 , 0, 10, 1.1),
+(102 , 0, 10, 2.1),
+(103 , 1, 10, 3.1),
+(104 , 1, 10, 4.1),
+(108 , 2, 10, 5.1),
+(105 , 2, 20, 6.1),
+(106 , 2, 20, 7.1),
+(107 , 2, 20, 8.15),
+(109 , 4, 20, 9.15),
+(110 , 4, 20, 10.15),
+(111 , 5, NULL, 11.15),
+(112 , 5, 1, 12.25),
+(113 , 5, NULL, 13.35),
+(114 , 5, NULL, 14.50),
+(115 , 5, NULL, 15.65),
+(116 , 6, 1, NULL),
+(117 , 6, 1, 10),
+(118 , 6, 1, 1.1),
+(119 , 6, 1, NULL),
+(120 , 6, 1, NULL),
+(121 , 6, 1, NULL),
+(122 , 6, 1, 2.2),
+(123 , 6, 1, 20.1),
+(124 , 6, 1, -10.4),
+(125 , 6, 1, NULL),
+(126 , 6, 1, NULL),
+(127 , 6, 1, NULL);
+select pk, a, b, sum(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
+from t1;
+pk a b sum(b) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
+101 0 10 20
+102 0 10 20
+103 1 10 20
+104 1 10 20
+105 2 20 40
+106 2 20 60
+107 2 20 50
+108 2 10 30
+109 4 20 40
+110 4 20 40
+111 5 NULL 1
+112 5 1 1
+113 5 NULL 1
+114 5 NULL NULL
+115 5 NULL NULL
+116 6 1 2
+117 6 1 3
+118 6 1 3
+119 6 1 3
+120 6 1 3
+121 6 1 3
+122 6 1 3
+123 6 1 3
+124 6 1 3
+125 6 1 3
+126 6 1 3
+127 6 1 2
+select pk, a, c, sum(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
+from t1;
+pk a c sum(c) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
+101 0 1.1 3.2
+102 0 2.1 3.2
+103 1 3.1 7.199999999999999
+104 1 4.1 7.199999999999999
+105 2 6.1 13.2
+106 2 7.1 21.35
+107 2 8.15 20.35
+108 2 5.1 13.250000000000002
+109 4 9.15 19.3
+110 4 10.15 19.3
+111 5 11.15 23.4
+112 5 12.25 36.75
+113 5 13.35 40.1
+114 5 14.5 43.5
+115 5 15.65 30.15
+116 6 NULL 10
+117 6 10 11.1
+118 6 1.1 11.1
+119 6 NULL 1.0999999999999996
+120 6 NULL NULL
+121 6 NULL 2.1999999999999997
+122 6 2.2 22.3
+123 6 20.1 11.9
+124 6 -10.4 9.7
+125 6 NULL -10.400000000000002
+126 6 NULL NULL
+127 6 NULL NULL
+drop table t1;