• Sergey Vojtovich's avatar
    MDEV-5616 - Deadlock between CREATE/DROP FUNCTION and SELECT from view · e2a99f18
    Sergey Vojtovich authored
    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.
    e2a99f18
sql_udf.cc 18.3 KB