1. 21 Jul, 2007 1 commit
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 8b3a5f79
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      mysql-test/r/create.result:
        Auto merged
      mysql-test/r/innodb.result:
        Auto merged
      mysql-test/t/create.test:
        Auto merged
      mysql-test/t/innodb.test:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      8b3a5f79
  2. 20 Jul, 2007 6 commits
  3. 19 Jul, 2007 27 commits
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.1 · 496ddec1
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.1-opt
      
      
      mysql-test/t/disabled.def:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        SCCS merged
      tests/mysql_client_test.c:
        SCCS merged
      496ddec1
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0 · 900f8d8a
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      sql/set_var.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      900f8d8a
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt · 5c4c5941
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.1-opt
      
      
      mysql-test/r/func_gconcat.result:
        Auto merged
      mysql-test/t/func_gconcat.test:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      5c4c5941
    • unknown's avatar
      Bug#29898: Item_date_typecast::val_int doesn't reset the null_value flag. · 7122b729
      unknown authored
      The Item_date_typecast::val_int function doesn't reset null_value flag.
      This makes all values that follows the first null value to be treated as nulls
      and led to a wrong result.
      
      Now the Item_date_typecast::val_int function correctly sets the null_value flag
      for both null and non-null values.
      
      
      mysql-test/t/cast.test:
        Added a test case for the bug#29898:  Item_date_typecast::val_int doesn't reset
        the null_value flag.
      mysql-test/r/cast.result:
        Added a test case for the bug#29898:  Item_date_typecast::val_int doesn't reset
        the null_value flag.
      sql/item_timefunc.cc:
        Bug#29898: Item_date_typecast::val_int doesn't reset the null_value flag.
        Now the Item_date_typecast::val_int function correctly sets the null_value flag
        for both null and non-null values.
      7122b729
    • unknown's avatar
      mysql_client_test fixed · f8c9269f
      unknown authored
      
      tests/mysql_client_test.c:
        rc assignement added
      f8c9269f
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 6a34c8fc
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/29850-bug-5.0-opt-mysql
      
      6a34c8fc
    • unknown's avatar
      A follow-up fix for Bug#29431 "killing an insert delayed thread causes · d1dc2378
      unknown authored
      crash" in 5.1
      
      
      sql/sql_insert.cc:
        Additional safety fix: do not assume we already have a share in 
        get_local_table.
      d1dc2378
    • unknown's avatar
      Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime · c701906b
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      sql/sql_insert.cc:
        Manual merge.
      c701906b
    • unknown's avatar
      Bug#29850: Wrong charset of GROUP_CONCAT result when the select employs · 134138bb
      unknown authored
      a temporary table.
      
      The result string of the Item_func_group_concat wasn't initialized in the 
      copying constructor of the Item_func_group_concat class. This led to a
      wrong charset of GROUP_CONCAT result when the select employs a temporary
      table.
      
      The copying constructor of the Item_func_group_concat class now correctly
      initializes the charset of the result string.
      
      
      mysql-test/t/func_gconcat.test:
        Added a test case for the bug#29850: Wrong charset of the GROUP_CONCAT result
        when the select employs a temporary table.
      mysql-test/r/func_gconcat.result:
        Added a test case for the bug#29850: Wrong charset of the GROUP_CONCAT result
        when the select employs a temporary table.
      sql/item_sum.cc:
        Bug#29850: Wrong charset of GROUP_CONCAT result when the select employs
        a temporary table.
        The copying constructor of the Item_func_group_concat class now correctly
        initializes the charset of the result string.
      134138bb
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · f95d1f07
      unknown authored
      into  mysql.com:/home/hf/work/29687/my51-29687
      
      f95d1f07
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.1-opt · 3785950f
      unknown authored
      into  mysql.com:/home/hf/work/29687/my51-29687
      
      3785950f
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 8425b356
      unknown authored
      into  mysql.com:/home/hf/work/29687/my50-29687
      
      8425b356
    • unknown's avatar
      test case for memory leak added · 23666e3f
      unknown authored
      
      tests/mysql_client_test.c:
        test case added
      23666e3f
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 8a63be0d
      unknown authored
      into  mysql.com:/home/hf/work/29687/my50-29687
      
      8a63be0d
    • unknown's avatar
      Merge mysql.com:/home/hf/work/29687/my50-29687 · 888b2e9d
      unknown authored
      into  mysql.com:/home/hf/work/29687/my51-29687
      
      
      libmysql/libmysql.c:
        Auto merged
      888b2e9d
    • unknown's avatar
      A post-merge fix · e5130869
      unknown authored
      e5130869
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/tsmith-tmp/mysql-5.0-maint · b7c5c9b8
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/tsmith-tmp/mysql-5.1-maint
      
      
      sql/mysql_priv.h:
        Auto merged
      b7c5c9b8
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-4.1-maint · db2ccdea
      unknown authored
      into  bk-internal.mysql.com:/data0/bk/tsmith-tmp/mysql-5.0-maint
      
      db2ccdea
    • unknown's avatar
      Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime · d03bea43
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
      
      
      mysql-test/r/sp-prelocking.result:
        Auto merged
      mysql-test/r/trigger.result:
        Auto merged
      mysql-test/t/create.test:
        Auto merged
      mysql-test/t/innodb.test:
        Auto merged
      mysql-test/t/sp-prelocking.test:
        Auto merged
      mysql-test/t/trigger.test:
        Auto merged
      sql/sql_class.h:
        Auto merged
      mysql-test/r/create.result:
        Use local.
      mysql-test/r/innodb.result:
        Manual merge.
      d03bea43
    • unknown's avatar
      Rename all references to 'Delayed_insert' instances from 'tmp' to 'di' · cd7e1d71
      unknown authored
      for consistency.
      
      cd7e1d71
    • unknown's avatar
      A fix for Bug#29431 killing an insert delayed thread causes crash · e3b3f4ee
      unknown authored
      No test case, since the bug requires a stress case with 30 INSERT DELAYED
      threads and 1 killer thread to repeat. The patch is verified
      manually.
      Review fixes.
      
      The server that is running DELAYED inserts would deadlock itself
      or crash under high load if some of the delayed threads were KILLed
      in the meanwhile.
      
      The fix is to change internal lock acquisition order of delayed inserts
      subsystem and to ensure that
      Delayed_insert::table_list::db does not point to volatile memory in some 
      cases.
      For details, please see a comment for sql_insert.cc.
      
      
      sql/sql_insert.cc:
        A fix for Bug#29431 killing an insert delayed thread causes crash
        
        1) The deadlock was caused by different lock acquisition order
        between delayed_get_table and handle_delayed_insert.
        
        delayed_get_table would:
        - acquire LOCK_delayed_create
        - create a new Delayed_insert instance
        - acquire instance mutex (di->mutex)
        - "lock the instance in memory" by 
        increasing di->locked_in_memory variable
        - start the delayed thread
        - release di->mutex
        - let the delayed thread open the delayed table
        - discover that the delayed thread was killed
        - try to unlock() the delayed insert instance in memory
        - in Delayed_insert::unlock() do
         * lock LOCK_delayed_insert
         * decrease locks_in_memory and discover it's 0
         * attempt to lock di->mutex to broadcast di->cond condition <-- deadlock
         here
        
        Meanwhile, the delayed thread would
         * lock di->mutex
         * open the table
         * get killed
         * not notice that and attempt to lock LOCK_delayed_insert
        to register itself in the delayed insert list <-- deadlock here.
        
        Simply put, delayed_get_table used to lock LOCK_delayed_insert and then 
        di->mutex, and handle_delayed_insert would lock di->mutex and then 
        LOCK_delayed_insert.
        
        Fixed by moving registration in the list of delayed insert threads from 
        handle_delayed_insert to delayed_get_table - so that now
        handle_delayed_insert doesn't need to acquire LOCK_delayed_insert mutex.
        
        
        2) di->table_list.db was copied by-pointer from table_list.db of the first
        producer -- the one who initiated creation of the delayed insert thread.
        This producer might be long gone when the member is needed
        (handle_delayed_insert:open_ltable),
        e.g. by having been killed with KILL CONNECTION statement.
        Fixed by using a pointer to the consumer's deep copy of THD::db.
        
        3) In find_handler, we shouldn't assume that Delayed_insert object
        already (or still) has a table opened all the time it is
        present in the delayed insert list. E.g. it's not the case
        when Delayed_insert decided to terminate, closed the table, but haven't
        yet unregistered from the list (see the end of handle_delayed_insert).
      e3b3f4ee
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt · 16d0f727
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      storage/myisam/ha_myisam.cc:
        Auto merged
      16d0f727
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.1 · fe29a12e
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.1-opt
      
      
      client/mysqldump.c:
        Auto merged
      include/my_base.h:
        Auto merged
      mysql-test/include/mix1.inc:
        Auto merged
      mysql-test/r/innodb_mysql.result:
        Auto merged
      mysql-test/t/disabled.def:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      storage/myisam/ha_myisam.cc:
        Auto merged
      fe29a12e
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0 · cec66c3d
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      sql/ha_myisam.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      cec66c3d
    • unknown's avatar
      mysqldump.result: · 89f974bf
      unknown authored
        Post-merge fix.
      
      
      mysql-test/r/mysqldump.result:
        Post-merge fix.
      89f974bf
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt · 9c293f18
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.1-opt
      
      
      client/mysqldump.c:
        Auto merged
      mysql-test/t/mysqldump.test:
        Auto merged
      mysql-test/r/mysqldump.result:
        Merge with 5.0-opt.
      9c293f18
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt-28524 · efcdfc8f
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      efcdfc8f
  4. 18 Jul, 2007 6 commits
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-maint · 4c6262d4
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
      
      4c6262d4
    • unknown's avatar
      ddl_i18n_utf8.test, ddl_i18n_koi8r.test: · f34c27af
      unknown authored
        Don't run test with embedded server; requires external client connections
      
      
      mysql-test/t/ddl_i18n_koi8r.test:
        Don't run test with embedded server; requires external client connections
      mysql-test/t/ddl_i18n_utf8.test:
        Don't run test with embedded server; requires external client connections
      f34c27af
    • unknown's avatar
      Re-set the plugin name so that we can be sure the plugin init() · 8cf1a9f4
      unknown authored
      function doesn't set it to something else.
      
      8cf1a9f4
    • unknown's avatar
      Move the filling of the table_name column above the initialization, · 5b00a7e1
      unknown authored
      so that the init function has access to the name.
      
      5b00a7e1
    • unknown's avatar
      5.0-opt -> 5.1-opt merge · 0827c0b6
      unknown authored
      0827c0b6
    • unknown's avatar
      Fixed bug #28524. · 00bb9cfa
      unknown authored
      For each view the mysqldump utility creates a temporary table
      with the same name and the same columns as the view 
      in order to satisfy views that depend on this view.
      After the creation of all tables, mysqldump drops all
      temporary tables and creates actual views.
      However, --skip-add-drop-table and --compact flags disable
      DROP TABLE statements for those temporary tables. Thus, it was
      impossible to create the views because of existence of the
      temporary tables with the same names.
      
      
      client/mysqldump.c:
        Fixed bug #28524.
        The mysqldump utility has been modified to unconditionally drop
        temporary tables before the creation of views.
      mysql-test/t/mysqldump.test:
        Updated test case for bug #28524 and updated result of previous tests.
      mysql-test/r/mysqldump.result:
        Updated test case for bug #28524 and updated result of previous tests.
      00bb9cfa