1. 10 Oct, 2007 5 commits
  2. 09 Oct, 2007 3 commits
  3. 08 Oct, 2007 1 commit
  4. 07 Oct, 2007 1 commit
  5. 05 Oct, 2007 1 commit
  6. 04 Oct, 2007 7 commits
    • davi@moksha.local's avatar
      Bug#21587 FLUSH TABLES causes server crash when used with HANDLER statements · 305ebc1e
      davi@moksha.local authored
      This bug is a symptom of the way handler's tables are managed. The
      most different aspect, compared to the conventional behavior, is that
      the handler's tables are long lived, meaning that their lifetimes are
      not bounded by the duration of the command that opened them. For this
      effect the handler code uses its own list (handler_tables instead of
      open_tables) to hold open handler tables so that the tables won't be
      closed at the end of the command/statement. Besides the handler_tables
      list, there is a hash (handler_tables_hash) which is used to associate
      handler aliases to tables and to refresh the tables upon demand (flush
      tables).
      
      The current implementation doesn't work properly with refreshed tables
      -- more precisely when flush commands are issued by other initiators.
      This happens because when a handler open or read statement is being
      processed, the associated table has to be opened or locked and, for this
      matter, the open_tables and handler_tables lists are swapped so that the
      new table being opened is inserted into the handler_tables list. But when
      opening or locking the table, if the refresh version is different from the
      thread refresh version then all used tables in the open_tables list (now
      handler_tables) are refreshed. In the "refreshing" process the handler
      tables are flushed (closed) without being properly unlinked from the
      handler hash.
      
      The current implementation also fails to properly discard handlers of
      dropped tables, but this and other problems are going to be addressed
      in the fixes for bugs 31397 and 31409.
      
      The chosen approach tries to properly save and restore the table state
      so that no table is flushed during the table open and lock operations.
      The logic is almost the same as before with the list swapping, but with
      a working glue code.
      
      The test case for this bug is going to be committed into 5.1 because it
      requires a test feature only avaiable in 5.1 (wait_condition).
      305ebc1e
    • joerg@trift2.'s avatar
      Merge trift2.:/MySQL/M50/push-5.0 · 571200d4
      joerg@trift2. authored
      into  trift2.:/MySQL/M51/push-5.1
      571200d4
    • joerg@trift2.'s avatar
      Merge trift2.:/MySQL/M50/mysql-5.0 · 82767a0a
      joerg@trift2. authored
      into  trift2.:/MySQL/M50/push-5.0
      82767a0a
    • anozdrin/alik@station.'s avatar
      Fix for BUG#31035: select from function, group by result crasher. · 707f0674
      anozdrin/alik@station. authored
      This actually, fix for the patch for bug-27354. The problem with
      the patch was that Item_func_sp::used_tables() was updated, but
      Item_func_sp::const_item() was not. So, for Item_func_sp, we had
      the following inconsistency:
        - used_tables() returned RAND_TABLE, which means that the item
          can produce "random" results;
        - but const_item() returned TRUE, which means that the item is
          a constant one.
      
      The fix is to change Item_func_sp::const_item() behaviour: it must
      return TRUE (an item is a constant one) only if a stored function
      is deterministic and each of its arguments (if any) is a constant
      item.
      707f0674
    • jperkin@production.mysql.com's avatar
      Merge production.mysql.com:/usersnfs/jperkin/bk/build/5.0 · 09560c65
      jperkin@production.mysql.com authored
      into  production.mysql.com:/usersnfs/jperkin/bk/build/5.1
      09560c65
    • jperkin@production.mysql.com's avatar
      Merge production.mysql.com:/usersnfs/jperkin/bk/build/5.0 · 583a3ef3
      jperkin@production.mysql.com authored
      into  production.mysql.com:/usersnfs/jperkin/bk/bug-27692/5.0
      583a3ef3
    • jperkin@production.mysql.com's avatar
      Restore creation of test databases and the anonymous user which · 5c0c5921
      jperkin@production.mysql.com authored
      were accidentally removed during a previous rototill of this
      code.  Fixes bug#27692.
        
      While it can be argued we should strive to provide a 'secure by
      default' installation, this happens to be the setup currently
      documented in the manual as the default, so defer changes that
      improve security out of the box to a co-ordinated effort later
      on.
        
      For now, make a note about the test databases and anonymous user
      in mysql_install_db and recommend that mysql_secure_installation
      be ran for users wishing to remove these defaults.
      
      [..re-commit of previously lost change..]
      5c0c5921
  7. 03 Oct, 2007 1 commit
  8. 02 Oct, 2007 1 commit
  9. 01 Oct, 2007 8 commits
  10. 30 Sep, 2007 1 commit
  11. 29 Sep, 2007 7 commits
  12. 28 Sep, 2007 4 commits
    • anozdrin/alik@station.'s avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · b3ca7307
      anozdrin/alik@station. authored
      into  station.:/mnt/raid/alik/MySQL/devel/bug-30472/5.1-rt-bug30472
      b3ca7307
    • davi@moksha.local's avatar
      9c6d75e8
    • davi@moksha.local's avatar
      Bug#21136 CREATE TABLE SELECT within CREATE TABLE SELECT causes server crash · ae079ec4
      davi@moksha.local authored
      When CREATE TEMPORARY TABLE .. SELECT is invoked from a stored function
      which in turn is called from CREATE TABLE SELECT causes a memory leak
      because the inner create temporary table overrides the outter extra_lock
      reference when locking the table.
      
      The solution is to simply not overrride the extra_lock by only using the
      extra_lock for a non-temporary table lock.
      ae079ec4
    • anozdrin/alik@station.'s avatar
      Patch for BUG#30472: libmysql doesn't reset charset, · 8051b756
      anozdrin/alik@station. authored
      insert_id after succ. mysql_change_user() call.
      
      See also WL 4066.
        
      This bug reveals two problems:
        - the problem on the client side which was described originally;
        - the problem in protocol / the server side: connection context
          on client and server should be like after mysql_real_connect()
          and be consistent. The server however just resets character
          set variables to the global defaults.
      
      The fix seems to be as follows:
        - extend the protocol so that the client be able to send
          character set information in COM_CHANGE_USER command;
        - change the server so that it understands client character set
          in the command;
        - change the client:
          - reset character set to the default value (which has been
            read from the configuration);
          - send character set in COM_CHANGE_USER command.
      8051b756