diff options
author | Sergei Petrunia <psergey@askmonty.org> | 2014-12-06 20:13:38 +0300 |
---|---|---|
committer | Sergei Petrunia <psergey@askmonty.org> | 2014-12-06 20:13:38 +0300 |
commit | eeef80d09f8045d99963a2bf2fa92595c55bb26d (patch) | |
tree | ea7f35209ac2a6d5c05c955437a70c5c8c6514cf /mysql-test/r | |
parent | dc259324d767e10f118c2d14dc905e1bb54aa58a (diff) | |
download | mariadb-git-eeef80d09f8045d99963a2bf2fa92595c55bb26d.tar.gz |
EXPLAIN FORMAT=JSON : Fix MDEV-7266, bug in pretty-printer
- Single_line_formatting_helper should not accidentally exit the
DISABLED state. No JSON construct should be able to move the
Single_line_formatting_helper from DISABLED state.
Diffstat (limited to 'mysql-test/r')
-rw-r--r-- | mysql-test/r/explain_json.result | 2 | ||||
-rw-r--r-- | mysql-test/r/explain_json_innodb.result | 57 |
2 files changed, 58 insertions, 1 deletions
diff --git a/mysql-test/r/explain_json.result b/mysql-test/r/explain_json.result index e1135298924..94a8d822d72 100644 --- a/mysql-test/r/explain_json.result +++ b/mysql-test/r/explain_json.result @@ -1,4 +1,4 @@ -drop table if exists t0,t1; +drop table if exists t0,t1,t2; create table t0(a int); insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); explain format=json select * from t0; diff --git a/mysql-test/r/explain_json_innodb.result b/mysql-test/r/explain_json_innodb.result new file mode 100644 index 00000000000..cc389c63bda --- /dev/null +++ b/mysql-test/r/explain_json_innodb.result @@ -0,0 +1,57 @@ +drop table if exists t0,t1,t2; +# +# MDEV-7266: Assertion `!element_started' failed in Json_writer& Json_writer::add_member +# +CREATE TABLE t1 (a INT) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1),(2); +CREATE TABLE t2 (column_name_1 INT, column_name_2 VARCHAR(52)) ENGINE=InnoDB; +INSERT INTO t2 VALUES (3,'United States'); +CREATE TABLE t3 (b INT, c VARCHAR(3), PRIMARY KEY (c,b)) ENGINE=InnoDB; +INSERT INTO t3 VALUES (4,'USA'),(5,'CAN'); +EXPLAIN FORMAT=JSON SELECT * FROM t1 WHERE 0 < ALL ( +SELECT tbl_alias1.column_name_1 FROM t2 AS tbl_alias1, t3 AS tbl_alias2 +WHERE tbl_alias2.b = tbl_alias1.column_name_1 AND tbl_alias2.c = tbl_alias1.column_name_2 +); +EXPLAIN +{ + "query_block": { + "select_id": 1, + "table": { + "table_name": "t1", + "access_type": "ALL", + "rows": 2, + "filtered": 100 + }, + "subqueries": [ + { + "query_block": { + "select_id": 2, + "table": { + "table_name": "tbl_alias1", + "access_type": "ALL", + "rows": 1, + "filtered": 100, + "attached_condition": "((tbl_alias1.column_name_2 is not null) and (tbl_alias1.column_name_1 is not null))" + }, + "table": { + "table_name": "tbl_alias2", + "access_type": "eq_ref", + "possible_keys": ["PRIMARY"], + "key": "PRIMARY", + "key_length": "9", + "used_key_parts": ["c", "b"], + "ref": [ + "test.tbl_alias1.column_name_2", + "test.tbl_alias1.column_name_1" + ], + "rows": 1, + "filtered": 100, + "attached_condition": "(tbl_alias2.c = tbl_alias1.column_name_2)", + "using_index": true + } + } + } + ] + } +} +drop table t1,t2,t3; |