summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorevgen@moonbone.local <>2007-03-07 21:44:58 +0300
committerevgen@moonbone.local <>2007-03-07 21:44:58 +0300
commit7afa5f1c5af3b78ff1db21c191e36258d6f478e7 (patch)
tree6337a96cdf5cae4f0ad0153d8d89ed7c2ce285bf /sql/sql_select.h
parent0461228a701d017754437e88b03c523b0fddbc21 (diff)
downloadmariadb-git-7afa5f1c5af3b78ff1db21c191e36258d6f478e7.tar.gz
Bug#22331: Wrong WHERE in EXPLAIN EXTENDED when all expressions were optimized
away. During optimization stage the WHERE conditions can be changed or even be removed at all if they know for sure to be true of false. Thus they aren't showed in the EXPLAIN EXTENDED which prints conditions after optimization. Now if all elements of an Item_cond were removed this Item_cond is substituted for an Item_int with the int value of the Item_cond. If there were conditions that were totally optimized away then values of the saved cond_value and having_value will be printed instead.
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index a17d7fcb362..27ca633fdb5 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -292,7 +292,7 @@ public:
bool need_tmp, hidden_group_fields;
DYNAMIC_ARRAY keyuse;
- Item::cond_result cond_value;
+ Item::cond_result cond_value, having_value;
List<Item> all_fields; // to store all fields that used in query
//Above list changed to use temporary table
List<Item> tmp_all_fields1, tmp_all_fields2, tmp_all_fields3;