1. 26 Jul, 2007 5 commits
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · d26eb0b3
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.0-bdb-fix
      
      d26eb0b3
    • unknown's avatar
      BUG#28591: make the fix work for BDB tables too: · 532a96cb
      unknown authored
       - make ha_berkeley::cmp_ref() take into account that auto-generated PKs 
         are stored in LSB-first order. 
       - Remove the temporary code that made the bugfix work for innodb only 
      
      
      mysql-test/r/bdb.result:
        Adjust test-results.
      sql/ha_berkeley.cc:
        BUG#28591: make the fix work for BDB tables too:
         - make ha_berkeley::cmp_ref() take into account that auto-generated PKs 
           are stored in LSB-first order.
      sql/sql_select.cc:
        BUG#28591: Remove "innodb only" clause as the fix now works for BDB too
      sql/table.cc:
        BUG#28591: Remove "innodb only" clause as the fix now works for BDB too
      532a96cb
    • unknown's avatar
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · f413cb81
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B29571-5.0-opt
      
      
      sql/sql_insert.cc:
        Auto merged
      f413cb81
    • unknown's avatar
      Bug #29571: INSERT DELAYED IGNORE written to binary log on · fb41c7da
      unknown authored
       the master but on the slave
      
      MySQL can decide to "downgrade" a INSERT DELAYED statement
      to normal insert in certain situations.
      One such situation is when the slave is replaying a 
      replication feed.
      However INSERT DELAYED is logged even if there're no updates
      whereas the NORMAL INSERT is not logged in such cases.
      
      Fixed by always logging a "downgraded" INSERT DELAYED: even 
      if there were no updates.
      
      
      mysql-test/r/rpl_insert_delayed.result:
        Bug #29571: test case
      mysql-test/t/rpl_insert_delayed.test:
        Bug #29571: test case
      sql/sql_insert.cc:
        Bug #29571: log INSERT DELAYED even if it was 
        "downgraded" to INSERT (and there were no updates)
      fb41c7da
  2. 25 Jul, 2007 2 commits
  3. 24 Jul, 2007 2 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 40932e9f
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
      
      40932e9f
    • unknown's avatar
      Bug#15130: CREATE .. SELECT was denied to use advantages of the SQL_BIG_RESULT. · 7fc76f30
      unknown authored
      When the SQL_BIG_RESULT flag is specified SELECT should store items from the
      select list in the filesort data and use them when sending to a client.
      The get_addon_fields function is responsible for creating necessary structures
      for that. But this function was allowed to do so only for SELECT and
      INSERT .. SELECT queries. This makes the SQL_BIG_RESULT useless for
      the CREATE .. SELECT queries.
      
      Now the get_addon_fields allows storing select list items in the filesort
      data for the CREATE .. SELECT queries.
      
      
      mysql-test/t/create.test:
        Added a test case for the bug#15130: CREATE .. SELECT was denied to use
        advantages of the SQL_BIG_RESULT.
      mysql-test/r/create.result:
        Added a test case for the bug#15130: CREATE .. SELECT was denied to use
        advantages of the SQL_BIG_RESULT.
      sql/filesort.cc:
        Bug#15130: CREATE .. SELECT was denied to use advantages of the SQL_BIG_RESULT.
        Now the get_addon_fields allows storing select list items in the filesort
        data for the CREATE .. SELECT queries.
      7fc76f30
  4. 23 Jul, 2007 4 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 2e4369ca
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B29644-5.0-opt
      
      
      sql/ha_innodb.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      mysql-test/r/innodb_mysql.result:
        5.0-opt merge
      mysql-test/t/innodb_mysql.test:
        5.0-opt merge
      2e4369ca
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · b3557f8d
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.0-opt
      
      b3557f8d
    • unknown's avatar
      table.cc, sql_select.cc: · 0b208f59
      unknown authored
        Limit the fix for bug 28591 to InnoDB only
      
      
      sql/sql_select.cc:
        Limit the fix for bug 28591 to InnoDB only
      sql/table.cc:
        Limit the fix for bug 28591 to InnoDB only
      0b208f59
    • unknown's avatar
      Fixed bug #29611. · 51f919dc
      unknown authored
      If a primary key is defined over column c of enum type then 
      the EXPLAIN command for a look-up query of the form
        SELECT * FROM t WHERE c=0
      said that the query was with an impossible where condition though the
      query correctly returned non-empty result set when the table indeed 
      contained rows with error empty strings for column c. 
      
      This kind of misbehavior was due to a bug in the function 
      Field_enum::store(longlong,bool) that erroneously returned 1 if
      the the value to be stored was equal to 0. 
      Note that the method 
      Field_enum::store(const char *from,uint length,CHARSET_INFO *cs)
      correctly returned 0 if a value of the error empty string 
      was stored. 
      
      
      mysql-test/r/type_enum.result:
        Added a test case for bug #29661.
      mysql-test/t/type_enum.test:
        Added a test case for bug #29661.
      sql/field.cc:
        Fixed bug #29611.
        If a primary key was defined over column c of enum type then 
        the EXPLAIN command for a look-up query of the form
          SELECT * FROM t WHERE c=0
        said that the query was with an impossible where condition though the
        query correctly returned non-empty result set when the table indeed 
        contained rows with error empty strings for column c. 
        
        This kind of misbehavior was due to a bug in the function 
        Field_enum::store(longlong,bool) that erroneously returned 1 if
        the the value to be stored was equal to 0. 
        Note that the method 
        Field_enum::store(const char *from,uint length,CHARSET_INFO *cs)
        correctly returned 0 if a value of the error empty string 
        was stored.
      51f919dc
  5. 22 Jul, 2007 4 commits
  6. 21 Jul, 2007 9 commits
  7. 20 Jul, 2007 9 commits
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0 · 3417df72
      unknown authored
      into  mysql.com:/home/kent/bk/tmp3/mysql-5.0-build
      
      
      libmysql/libmysql.c:
        Auto merged
      scripts/make_binary_distribution.sh:
        Auto merged
      sql/field.cc:
        Auto merged
      3417df72
    • unknown's avatar
      Fixed bug #29788. · ce57b531
      unknown authored
      After dumping triggers mysqldump copied 
      the value of the OLD_SQL_MODE variable to the SQL_MODE
      variable. If the --compact option of the mysqldump was
      not set the OLD_SQL_MODE variable had the value
      of the uninitialized SQL_MODE variable. So
      usually the NO_AUTO_VALUE_ON_ZERO option of the
      SQL_MODE variable was discarded.
      
      This fix is for non-"--compact" mode of the mysqldump,
      because mysqldump --compact never set SQL_MODE to the
      value of NO_AUTO_VALUE_ON_ZERO.
      
      The dump_triggers_for_table function has been modified
      to restore previous value of the SQL_MODE variable after
      dumping triggers using the SAVE_SQL_MODE temporary
      variable.
      
      
      client/mysqldump.c:
        Fixed bug #29788.
        The dump_triggers_for_table function has been modified
        to restore previous value of the SQL_MODE variable after
        dumping triggers using the SAVE_SQL_MODE temporary
        variable.
      mysql-test/r/mysqldump.result:
        Updated test case for bug #29788.
      mysql-test/t/mysqldump.test:
        Updated test case for bug #29788.
      ce57b531
    • unknown's avatar
      Bug #28591: MySQL need not sort the records in case of · a3c979b0
      unknown authored
      ORDER BY primary_key on InnoDB table
      
      Queries that use an InnoDB secondary index to retrieve
      data don't need to sort in case of ORDER BY primary key
      if the secondary index is compared to constant(s).
      They can also skip sorting if ORDER BY contains both the
      the secondary key parts and the primary key parts (in
      that order).
      This is because InnoDB returns the rows in order of the
      primary key for rows with the same values of the secondary
      key columns.
      Fixed by preventing temp table sort for the qualifying 
      queries.
      
      
      mysql-test/r/innodb_mysql.result:
        Bug #28591: test case
      mysql-test/t/innodb_mysql.test:
        Bug #28591: test case
      sql/sql_select.cc:
        Bug #28591: Use the primary key as suffix when testing
        if the key can be used for ORDER BY on supporting engines.
      sql/table.cc:
        Bug #28591: can use the primary key
        as a suffix for the secondary keys
      a3c979b0
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · e07eb6bb
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/29898-bug-5.0-opt-mysql
      
      e07eb6bb
    • unknown's avatar
      Remove obvious comments. · f5bed63f
      unknown authored
      f5bed63f
    • unknown's avatar
      Merge trift-lap.none:/MySQL/M50/bug14151-5.0 · d2c413fb
      unknown authored
      into  trift-lap.none:/MySQL/M50/push-5.0
      
      d2c413fb
    • unknown's avatar
      Bug #29644: alter table hangs if records locked in share mode · 1fe34a92
      unknown authored
      by long running transaction
      
      On Windows opened files can't be deleted. There was a special
      upgraded lock mode (TL_WRITE instead of TL_WRITE_ALLOW_READ) 
      in ALTER TABLE to make sure nobody has the table opened
      when deleting the old table in ALTER TABLE. This special mode
      was causing ALTER TABLE to hang waiting on a lock inside InnoDB.
      This special lock is no longer necessary as the server is 
      closing the tables it needs to delete in ALTER TABLE.
      Fixed by removing the special lock.
      Note that this also reverses the fix for bug 17264 that deals with
      another consequence of this special lock mode being used.
      
      
      mysql-test/r/innodb_mysql.result:
        Bug #29644: test case
      mysql-test/t/innodb_mysql.test:
        Bug #29644: test case
      sql/ha_innodb.cc:
        Bug #29644: reverse the (now excessive) fix
        for bug 17264 (but leave the test case).
      sql/sql_base.cc:
        Bug #29644: don't need a special lock mode for Win32 anymore: 
        the table is closed before the drop.
      1fe34a92
    • unknown's avatar
      Bug #29494 Field packet with NULL fields crashes libmysqlclient. · 291d9fcd
      unknown authored
      unpack_fields() didn't expect NULL_LENGHT in the field's descriptions.
      In this case we get NULL in the resulting string so cannot use
      strdup_root to make a copy of it.
      strdup_root changed with strmake_root as it's NULL-safe
      
      
      sql-common/client.c:
        Bug #29494 Field packet with NULL fields crashes libmysqlclient
        
        strdup_root changed with strmake_root in unpack_fields()
      291d9fcd
    • unknown's avatar
      Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.46 · 7cb06463
      unknown authored
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
      
      
      configure.in:
        Auto merged
      libmysql/libmysql.c:
        Auto merged
      scripts/make_binary_distribution.sh:
        Auto merged
      sql/field.cc:
        Auto merged
      7cb06463
  8. 19 Jul, 2007 5 commits
    • 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 pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.44 · 25491503
      unknown authored
      into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.46
      
      
      configure.in:
        Auto merged
      libmysql/libmysql.c:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/field.h:
        Auto merged
      25491503
    • unknown's avatar
      BUG#20815 Errno 12 on Windows after 197 connections · 2163d202
      unknown authored
      
      CMakeLists.txt:
        BUG#20815 Set stack size. This value is really supposed to be the linker's default. I'm not quite sure why we have to specify it manually too.
      2163d202
    • 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
      Merge trift2.:/MySQL/M50/mysql-5.0 · 4358b4b9
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      4358b4b9