1. 09 Oct, 2007 1 commit
    • davi@virtua-cwbas201-21-158-74.ctb.virtua.com.br's avatar
      Bug#28318 CREATE FUNCTION (UDF) requires a schema · fd3c6b18
      Bug#29816 Syntactically wrong query fails with misleading error message
      
      The core problem is that an SQL-invoked function name can be a <schema
      qualified routine name> that contains no <schema name>, but the mysql
      parser insists that all stored procedures (function, procedures and
      triggers) must have a <schema name>, which is not true for functions.
      This problem is especially visible when trying to create a function
      or when a query contains a syntax error after a function call (in the
      same query), both will fail with a "No database selected" message if
      the session is not attached to a particular schema, but the first
      one should succeed and the second fail with a "syntax error" message.
      
      Part of the fix is to revamp the sp name handling so that a schema
      name may be omitted for functions -- this means that the internal
      function name representation may not have a dot, which represents
      that the function doesn't have a schema name. The other part is
      to place schema checks after the type (function, trigger or procedure)
      of the routine is known.
      fd3c6b18
  2. 04 Sep, 2007 2 commits
  3. 03 Sep, 2007 5 commits
  4. 30 Aug, 2007 5 commits
  5. 29 Aug, 2007 13 commits
  6. 28 Aug, 2007 11 commits
  7. 27 Aug, 2007 3 commits
    • davi@moksha.local's avatar
      Bug#30632 HANDLER read failure causes hang · 77d78a88
      davi@moksha.local authored
      If, after the tables are locked, one of the conditions to read from a
      HANDLER table is not met, the handler code wrongly jumps to a error path
      that won't unlock the tables.
      
      The user-visible effect is that after a error in a handler read command,
      all subsequent handler operations on the same table will hang.
      
      The fix is simply to correct the code to jump to the (same) error path that
      unlocks the tables.
      77d78a88
    • davi@moksha.local's avatar
      Bug#25164 create table `a` as select * from `A` hangs · 91e1cc21
      davi@moksha.local authored
      The problem from a user's perspective: user creates table A, and then tries
      to CREATE TABLE a SELECT from A - and this causes a deadlock error, a hang,
      or fails with a debug assert, but only if the storage engine is InnoDB.
      
      The origin of the problem: InnoDB uses case-insensitive collation
      (system_charset_info) when looking up the internal table share, thus returning
      the same share for 'a' and 'A'.
      
      Cause of the user-visible behavior: since the same share is returned to SQL
      locking subsystem, it assumes that the same table is first locked (within the
      same session) for WRITE, and then for READ, and returns a deadlock error.
      However, the code is wrong in not properly cleaning up upon an error, leaving
      external locks in place, which leads to assertion failures and hangs.
      
      Fix that has been implemented: the SQL layer should properly propagate the
      deadlock error, cleaning up and freeing all resources.
      
      Further work towards a more complete solution: InnoDB should not use case
      insensitive collation for table share hash if table names on disk honor the case.
      91e1cc21
    • df@pippilotta.erinye.com's avatar
      adjust version number · 0670af94
      df@pippilotta.erinye.com authored
      0670af94