1. 27 Jul, 2007 2 commits
    • anozdrin/alik@ibm.'s avatar
      Fix for BUG#30027: mysqldump does not dump views properly. · e73f004f
      anozdrin/alik@ibm. authored
      mysqldump generates view defitions in two stages:
      
        - dump CREATE TABLE statements for the temporary tables.  For each view a
          temporary table, that has the same structure as the view is created.
      
        - dump DROP TABLE statements for the temporary tables and CREATE VIEW
          statements for the view.
      
      This approach is required because views can have dependencies on each other
      (a view can use other views). So, they should be created in the particular
      order. mysqldump however is not smart enough, so in order to resolve
      dependencies it creates temporary tables first of all.
      
      The problem was that mysqldump might have generated incorrect dump for the
      temporary table when a view has non-ASCII column name. That happened when
      default-character-set is not utf8.
      
      The fix is to:
      
        1. Switch character_set_client for the mysqldump's connection to binary
           before issuing SHOW FIELDS statement in order to avoid conversion.
          
        2. Dump switch character_set_client statements to UTF8 and back for
           CREATE TABLE statement that is issued to create temporary table.
      e73f004f
    • anozdrin/alik@ibm.'s avatar
      Fix for BUG#28030: test im_instance_conf fails with an assert. · bbb1b64b
      anozdrin/alik@ibm. authored
      The problem was a race condition on shutdown -- when IM got shutdown
      request while a guarded mysqld is starting. In this case the Guardian
      thread tried to stop the mysqld, but might fail if the mysqld hadn't
      created pid-file so far. When this happened, the mysqld-monitor thread
      didn't stop, so the assert in Thread_registry happened.
      
      The fix is to make several attempts to stop mysqld if it is active.
      bbb1b64b
  2. 26 Jul, 2007 1 commit
    • anozdrin/alik@ibm.'s avatar
      Fix for BUG#30029: mysql_upgrade fails for 5.0 -> 5.1.21, · aee749d0
      anozdrin/alik@ibm. authored
      5.1.20 -> 5.1.21 upgrades.
      
      We generate mysql_fix_privilege.sql file, which contains SQL
      statements required to upgrade the system database. This script
      is generated by concatenation of mysql_system_tables.sql and
      mysql_system_tables_fix.sql.
      
      The problem was that
        - in order to create general_log and slow_log tables we use
          stored programs in mysql_system_tables.sql;
        - we upgrade mysql.proc table in mysql_system_tables_fix.sql;
      
      So, if mysql.proc table needs to be upgraded, stored procedures
      can not be used in mysql_system_tables.sql.
      
      In other words, in mysql_system_tables.sql stored programs must
      not be used because they may be unavailable at this point.
      
      The fix is to use dynamic SQL instead of stored programs.
      
      There is no test case for this bug because our test suite
      is not suitable for such test cases. system_mysql_db_fix* test
      cases play with the database "test". Here we need to modify
      the system database and we can not do that in the test suite.
      aee749d0
  3. 25 Jul, 2007 7 commits
  4. 24 Jul, 2007 5 commits
  5. 23 Jul, 2007 1 commit
  6. 21 Jul, 2007 4 commits
  7. 20 Jul, 2007 13 commits
  8. 19 Jul, 2007 7 commits