Hi, Sergey!

Ok to push.
A couple of comments below.

On Feb 07, Sergey Vojtovich wrote:
> revno: 4056
> revision-id: [email protected]
> parent: [email protected]
> committer: Sergey Vojtovich <[email protected]>
> branch nick: 5.5-mdev5616
> timestamp: Fri 2014-02-07 14:04:51 +0400
> message:
>   MDEV-5616 - Deadlock between CREATE/DROP FUNCTION and SELECT from view
>   
>   Deadlock happened due to mixed lock order.
>   CREATE/DROP function: wrlock(THR_LOCK_udf) -> lock(LOCK_open)
>   SELECT from view: lock(LOCK_open) -> rdlock(THR_LOCK_udf)
>   
>   Fixed CREATE/DROP function so that LOCK_open does not intersect with
>   wrlock(THR_LOCK_udf).
>   
>   10.0 is not affected: it doesn't hold LOCK_open while opening view.

I'm pretty sure it'll auto-merge and nobody will remember this warning
at that time. So this patch will be in 10.0.

Perhaps you should add

#if MYSQL_VERSION_ID > 50600
#error don't merge into 10.0
#endif

?
Or, may be, it's not a big deal to have it in 10.0...

> === modified file 'sql/sql_udf.cc'
> --- a/sql/sql_udf.cc  2012-03-27 23:04:46 +0000
> +++ b/sql/sql_udf.cc  2014-02-07 10:04:51 +0000
> @@ -466,7 +467,11 @@ int mysql_create_function(THD *thd,udf_f
>    if ((save_binlog_row_based= thd->is_current_stmt_binlog_format_row()))
>      thd->clear_current_stmt_binlog_format_row();
>  
> +  tables.init_one_table("mysql", 5, "func", 4, "func", TL_WRITE);

I know it's a old line that you've moved and it's a matter of taste
anyway, so up to you, but generally I prefer to see STRING_WITH_LEN
here. It 1) makes a certain class of typos impossible; 2) documents the
code, one doesn't need to think what these 4 and 5 stand for.

Regards,
Sergei

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to