On 07.02.11 15.07, Jorgen Loland wrote:
> #At file:///export/home/jl208045/mysql/mysql-trunk-59793/ based on
> 3605 Jorgen Loland 2011-02-07
> Bug#59793: crash in Item_field::register_field_in_read_map
> with view
> Prior to the refactoring in this patch, Item_cond_xor behaved
> partially as an Item_cond and partially as an Item_func. The
> reasoning behind this was that XOR is currently not optimized
> (thus should be Item_func instead of Item_cond), but it was
> planned optimize it in the future (thus, made Item_cond anyway
> to ease optimization later).
I dislike this solution, because conceptually an XOR is an Item_cond, regardless
of whether it is being optimized or not, and regardless of whether an
optimization is planned for it.
Conceptually, XOR belongs together with AND and OR and should be treated as
such. I am afraid that making XOR an Item_func will make some future changes
difficult, even though I have no concrete suspicion of this.