• Alexey Botchkov's avatar
    MDEV-3917 multiple use locks (GET_LOCK) in one connection. · 1a600125
    Alexey Botchkov authored
        The patch contributed by Konstantin Osipov applied.
        Native comments:
          Implement multiple user-level locks per connection.
    
          GET_LOCK() function in MySQL allows a connection  to hold at most
          one user level lock. Taking a new lock automatically releases the
          old lock, if any.
    
          The limit of one lock per session existed since  early versions
          of MySQL didn't have a deadlock detector for SQL locks.
          MDL patches in MySQL 5.5 added a deadlock detector,
          so starting from 5.5 it became possible to take multiple locks
          in any order -- a deadlock, should it occur, would be detected
          and an error returned to the client which closed the wait chain.
    
          This is exactly what is done in this patch: ULLs are moved
          to use MDL subsystem.
    1a600125
sql_class.cc 160 KB