Commit 6070491d authored by Alexey Kopytov's avatar Alexey Kopytov

Automerge.

parents 90e25c6f 62b95b90
...@@ -2502,3 +2502,15 @@ a MAX(b) ...@@ -2502,3 +2502,15 @@ a MAX(b)
2 1 2 1
DROP TABLE t; DROP TABLE t;
End of 5.0 tests End of 5.0 tests
#
# Bug #46607: Assertion failed: (cond_type == Item::FUNC_ITEM) results in
# server crash
#
CREATE TABLE t (a INT, b INT, INDEX (a,b));
INSERT INTO t VALUES (2,0), (2,0), (2,1), (2,1);
INSERT INTO t SELECT * FROM t;
SELECT a, MAX(b) FROM t WHERE b GROUP BY a;
a MAX(b)
2 1
DROP TABLE t;
End of 5.1 tests
...@@ -1018,3 +1018,18 @@ DROP TABLE t; ...@@ -1018,3 +1018,18 @@ DROP TABLE t;
--echo End of 5.0 tests --echo End of 5.0 tests
--echo #
--echo # Bug #46607: Assertion failed: (cond_type == Item::FUNC_ITEM) results in
--echo # server crash
--echo #
CREATE TABLE t (a INT, b INT, INDEX (a,b));
INSERT INTO t VALUES (2,0), (2,0), (2,1), (2,1);
INSERT INTO t SELECT * FROM t;
SELECT a, MAX(b) FROM t WHERE b GROUP BY a;
DROP TABLE t;
--echo End of 5.1 tests
...@@ -9639,7 +9639,17 @@ check_group_min_max_predicates(COND *cond, Item_field *min_max_arg_item, ...@@ -9639,7 +9639,17 @@ check_group_min_max_predicates(COND *cond, Item_field *min_max_arg_item,
*/ */
if (cond_type == Item::SUBSELECT_ITEM) if (cond_type == Item::SUBSELECT_ITEM)
DBUG_RETURN(FALSE); DBUG_RETURN(FALSE);
/*
Condition of the form 'field' is equivalent to 'field <> 0' and thus
satisfies the SA3 condition.
*/
if (cond_type == Item::FIELD_ITEM)
{
DBUG_PRINT("info", ("Analyzing: %s", cond->full_name()));
DBUG_RETURN(TRUE);
}
/* We presume that at this point there are no other Items than functions. */ /* We presume that at this point there are no other Items than functions. */
DBUG_ASSERT(cond_type == Item::FUNC_ITEM); DBUG_ASSERT(cond_type == Item::FUNC_ITEM);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment