HI, Sergei!

On Sat, Oct 10, 2020 at 11:16 PM Sergei Golubchik <s...@mariadb.org> wrote:

> Hi, Oleksandr!
>
> Mostly ok, one problem below:
>
> On Oct 10, Oleksandr Byelkin wrote:
> > revision-id: 2792940391a (mariadb-10.2.31-343-g2792940391a)
> > parent(s): 2107e3bb9c0
> > author: Oleksandr Byelkin <sa...@mariadb.com>
> > committer: Oleksandr Byelkin <sa...@mariadb.com>
> > timestamp: 2020-07-29 21:54:24 +0200
> > message:
> >
> > MDEV-23327 Can't uninstall UDF if the implementation library file
> doesn't exist
> >
> > Made cleanup of DROP (udf) FUNCTION procedure and also check of
> mysql.func (not only loaded udf).
> >
> > @@ -606,43 +648,54 @@ int mysql_create_function(THD *thd,udf_func *udf)
> >  }
> >
> >
> > -int mysql_drop_function(THD *thd,const LEX_STRING *udf_name)
> > +enum drop_udf_result mysql_drop_function(THD *thd, const LEX_STRING
> *udf_name)
> >  {
> >    TABLE *table;
> > -  TABLE_LIST tables;
> >    udf_func *udf;
> >    DBUG_ENTER("mysql_drop_function");
> >
> > +  if (!(table= open_udf_func_table(thd)))
> > +    DBUG_RETURN(UDF_DEL_RESULT_ERROR);
> > +
> > +  // Pre-check without protection
> > +  if (!find_udf_everywhere(thd, udf_name->str, udf_name->length, table))
>
> you cannot check the udf_hash without a lock
>

I made an attempt of a fast check under read protection (because it looks
like old code had pre-check).


> > +  {
> > +    close_mysql_tables(thd);
>
> Regards,
> Sergei
> VP of MariaDB Server Engineering
> and secur...@mariadb.org
>
_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to