1. 07 Feb, 2008 1 commit
    • davi@mysql.com/endora.local's avatar
      Bug#32633 Can not create any routine if SQL_MODE=no_engine_substitution · 1c6768c4
      davi@mysql.com/endora.local authored
      The problem is that one can not create a stored routine if sql_mode
      contains NO_ENGINE_SUBSTITUTION or PAD_CHAR_TO_FULL_LENGTH. Also when
      a event is created, the mode is silently lost if sql_mode contains one
      of the aforementioned.  This was happening because the table definitions
      which stored sql_mode values weren't being updated to accept new values
      of sql_mode.
      
      The solution is to update, in a backwards compatible manner, the various
      table definitions (columns) that store the sql_mode value to take into
      account the new possible values. One incompatible change is that if a event
      that is being created can't be stored to the mysql.event table, an error
      will be raised.
      
      The tests case also ensure that new SQL modes will be added to the mysql.proc
      and mysql.event tables, otherwise the tests will fail.
      1c6768c4
  2. 06 Feb, 2008 2 commits
  3. 05 Feb, 2008 2 commits
  4. 04 Feb, 2008 1 commit
    • thek@adventure.(none)'s avatar
      Patch clean up. · acff1161
      thek@adventure.(none) authored
      Fixed interference between tests: Users were added but not properly removed.
      This caused later tests to fail.
      acff1161
  5. 01 Feb, 2008 8 commits
  6. 30 Jan, 2008 2 commits
    • kostja@dipika.(none)'s avatar
      917c7952
    • kostja@dipika.(none)'s avatar
      A fix and a test case for Bug#34166 Server crash in SHOW OPEN TABLES and · b46ce809
      kostja@dipika.(none) authored
      pre-locking.
      
      The crash was caused by an implicit assumption in check_table_access() that
      table_list parameter is always a part of lex->query_tables.
      
      When iterating over the passed list of tables, check_table_access() used
      to stop only when lex->query_tables_last_not_own was reached. 
      In case of pre-locking, lex->query_tables_last_own is not NULL and points
      to some element of lex->query_tables. When the parameter
      of check_table_access() was not part of lex->query_tables, loop invariant
      could never be violated and a crash would happen when the current table
      pointer would point beyond the end of the provided list.
      
      The fix is to change the signature of check_table_access() to also accept
      a numeric limit of loop iterations, similarly to check_grant(), and 
      supply this limit in all places when we want to check access of tables
      that are outside lex->query_tables, or just want to check access to one table.
      b46ce809
  7. 29 Jan, 2008 3 commits
  8. 28 Jan, 2008 2 commits
  9. 27 Jan, 2008 2 commits
  10. 25 Jan, 2008 5 commits
  11. 24 Jan, 2008 4 commits
  12. 23 Jan, 2008 8 commits