1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Fixed bug #15633: Evaluation of Item_equal for non-const table caused wrong

select result

Item equal objects are employed only at the optimize phase. Usually they are not
supposed to be evaluated.  Yet in some cases we call the method val_int() for
them. Here we have to take care of restricting the predicate such an object
represents f1=f2= ...=fn to the projection of known fields fi1=...=fik.

Added a check for field's table being const in Item_equal::val_int().
If the field's table is not const val_int() just skips that field when
evaluating Item_equal.
This commit is contained in:
evgen@moonbone.local
2006-01-11 22:49:43 +03:00
parent c34595c975
commit 605f62fce8
5 changed files with 42 additions and 3 deletions

View File

@ -1150,6 +1150,11 @@ public:
are deleted in the end of execution. All changes made to these
objects need not be registered in the list of changes of the parse
tree and do not harm PS/SP re-execution.
Item equal objects are employed only at the optimize phase. Usually they are
not supposed to be evaluated. Yet in some cases we call the method val_int()
for them. We have to take care of restricting the predicate such an
object represents f1=f2= ...=fn to the projection of known fields fi1=...=fik.
*/
class Item_equal: public Item_bool_func