* gshchepa@stripped <gshchepa@stripped> [07/07/10 04:52]:
> ChangeSet@stripped, 2007-07-10 05:26:54+05:00, gshchepa@stripped +7 -0
> Fixed bug #29338.
> Trivial stored functions that consist of RETURN <constant expression>
> operator was evaluated ineffectively.
> This type of SF may be commonly used as named constants, so optimizations
> is desirable.
The original complain was about deterministic functions.
Where do you check for DETERMINISTIC clause?
Evaluation of properties of a stored function should happen when
it's loaded, not at every execution.
Evaluation of 'const' property of an item should happen when this
item is prepared, not at every execution.
RAND_TABLE_BIT might also be used by the query cache.
Item::const_item() and Item::basic_const_item() interfaces are a
mess. In some places they are used as input for making a
reinterpret_cast. Please do not add anything on top of this
unclear interface before clarifying in detail how they are
supposed to work and how they are used by the optimizer.
The test coverage is very scarce.
Trudy: to me it's clearly a feature request, thus such a high
priority is questionable.
Even more questionable to push this into 5.0.
Would be nice to have a worklog task too.
--
-- Konstantin Osipov Software Developer, Moscow, Russia
-- MySQL AB, www.mysql.com The best DATABASE COMPANY in the GALAXY