maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #08005
Re: Rev 4350: MDEV-6985: MariaDB crashes on stored procedure call
Hi, Sanja!
On Nov 17, sanja@xxxxxxxxxxxx wrote:
> ------------------------------------------------------------
> revno: 4350
> revision-id: sanja@xxxxxxxxxxxx-20141117132635-gf281ipiomifw1oc
> parent: psergey@xxxxxxxxxxxx-20141113111559-cuhsyfhor141qo6a
> committer: sanja@xxxxxxxxxxxx
> branch nick: work-maria-5.5-MDEV-6985
> timestamp: Mon 2014-11-17 14:26:35 +0100
> message:
> MDEV-6985: MariaDB crashes on stored procedure call
>
> Item_ident fixed to allow double cleanup().
> === modified file 'sql/item.cc'
> --- a/sql/item.cc 2014-10-06 17:53:55 +0000
> +++ b/sql/item.cc 2014-11-17 13:26:35 +0000
> @@ -862,12 +862,20 @@ void Item_ident::cleanup()
> field_name ? field_name : "(null)",
> orig_field_name ? orig_field_name : "(null)"));
> #endif
Before pushing, please remove the above #ifdef, in a separate commit.
thanks!
> + bool was_fixed= fixed;
> Item::cleanup();
> db_name= orig_db_name;
> table_name= orig_table_name;
> field_name= orig_field_name;
> /* Store if this Item was depended */
> - can_be_depended= test(depended_from);
> + if (was_fixed)
> + {
> + /*
> + We can trust that depended_from set correctly only if this item
> + was fixed
> + */
> + can_be_depended= test(depended_from);
> + }
Are double cleanups generally normal? Why this item is cleaned up twice?
> DBUG_VOID_RETURN;
> }
Regards,
Sergei
Follow ups