mirror of
https://github.com/MariaDB/server.git
synced 2026-04-30 04:05:32 +02:00
Preliminary patch for Bug#11848763 / 60025
(SUBSTRING inside a stored function works too slow).
Background:
- THD classes derives from Query_arena, thus inherits the 'state'
attribute and related operations (is_stmt_prepare() & co).
- Although these operations are available in THD, they must not
be used. THD has its own attribute to point to the active
Query_arena -- stmt_arena.
- So, instead of using thd->is_stmt_prepare(),
thd->stmt_arena->is_stmt_prepare() must be used. This was the root
cause of Bug 60025.
This patch enforces the proper way of calling those operations.
is_stmt_prepare() & co are declared as private operations
in THD (thus, they are hidden from being called on THD instance).
The patch tries to minimize changes in 5.5.
This commit is contained in:
parent
b1ff2e6813
commit
2593b14ccb
6 changed files with 21 additions and 13 deletions
|
|
@ -293,7 +293,7 @@ void Item_func::traverse_cond(Cond_traverser traverser,
|
|||
|
||||
Item *Item_func::transform(Item_transformer transformer, uchar *argument)
|
||||
{
|
||||
DBUG_ASSERT(!current_thd->is_stmt_prepare());
|
||||
DBUG_ASSERT(!current_thd->stmt_arena->is_stmt_prepare());
|
||||
|
||||
if (arg_count)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue