Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10, 10.11
-
None
Description
SET optimizer_trace= 'enabled=on'; |
|
CREATE TABLE t (col_bit BIT) ENGINE=MyISAM; |
INSERT INTO t VALUES (1); |
|
SELECT * FROM t t1 WHERE EXISTS ( SELECT * FROM t t2 WHERE t2.col_bit <= t1.col_bit ); |
|
select json_valid(trace), json_compact(trace) from information_schema.optimizer_trace; |
|
# Cleanup
|
DROP TABLE t; |
10.5 b8f4b984 |
SELECT * FROM t t1 WHERE EXISTS ( SELECT * FROM t t2 WHERE t2.col_bit <= t1.col_bit ); |
col_bit
|
|
select json_valid(trace), json_compact(trace) from information_schema.optimizer_trace; |
json_valid(trace) json_compact(trace)
|
0 NULL |
Warnings:
|
Warning 4036 Character disallowed in JSON in argument 1 to function 'json_compact' at position 2451 |
The problematic part of the trace is
{
|
"condition_on_constant_tables": "<in_optimizer>(1,exists(/* select#2 */ select 1 from t t2 where t2.col_bit <= ^A limit 1))",
|
"evaluated": "false",
|
"cause": "expensive cond"
|
},
|
{
|
"attaching_conditions_to_tables": {
|
"original_condition": "<in_optimizer>(1,exists(/* select#2 */ select 1 from t t2 where t2.col_bit <= ^A limit 1))",
|
"attached_conditions_computation": [],
|
"attached_conditions_summary": []
|
}
|
},
|
{
|
"join_optimization": {
|
"select_id": 2,
|
"steps": [
|
{
|
"condition_processing": {
|
"condition": "WHERE",
|
"original_condition": "t2.col_bit <= ^A",
|
"steps": [
|
{
|
"transformation": "equality_propagation",
|
"resulting_condition": "t2.col_bit <= ^A"
|
},
|
{
|
"transformation": "constant_propagation",
|
"resulting_condition": "t2.col_bit <= ^A"
|
},
|
{
|
"transformation": "trivial_condition_removal",
|
"resulting_condition": "t2.col_bit <= ^A"
|
}
|
where ^A represent the problematic symbols.
|