1. 29 Apr, 2010 3 commits
    • Alexey Kopytov's avatar
      Manual merge of mysql-5.1-bugteam to mysql-trunk-merge. · 940ad61b
      Alexey Kopytov authored
      Conflicts:
      
      Text conflict in configure.in
      Text conflict in dbug/dbug.c
      Text conflict in mysql-test/r/ps.result
      Text conflict in mysql-test/t/ps.test
      Text conflict in sql/CMakeLists.txt
      Text conflict in sql/ha_ndbcluster.cc
      Text conflict in sql/mysqld.cc
      Text conflict in sql/sql_plugin.cc
      Text conflict in sql/sql_table.cc
      940ad61b
    • Ramil Kalimullin's avatar
      Manual merge. · e287445d
      Ramil Kalimullin authored
      e287445d
    • Ramil Kalimullin's avatar
      Fix for bug #53237: mysql_list_fields/COM_FIELD_LIST stack smashing · 933e5ca5
      Ramil Kalimullin authored
      Problem: "COM_FIELD_LIST is an old command of the MySQL server, before there was real move to only
      SQL. Seems that the data sent to COM_FIELD_LIST( mysql_list_fields() function) is not
      checked for sanity. By sending long data for the table a buffer is overflown, which can
      be used deliberately to include code that harms".
      
      Fix: check incoming data length.
      933e5ca5
  2. 28 Apr, 2010 2 commits
    • Georgi Kodinov's avatar
      Bug #47453: InnoDB incorrectly changes TIMESTAMP columns when JOINed · 70a96913
      Georgi Kodinov authored
      during an UPDATE
      
      Extended the fix for bug 29310 to multi-table update:
      
      When a table is being updated it has two set of fields - fields required for
      checks of conditions and fields to be updated. A storage engine is allowed
      not to retrieve columns marked for update. Due to this fact records can't
      be compared to see whether the data has been changed or not. This makes the
      server always update records independently of data change.
        
      Now when an auto-updatable timestamp field is present and server sees that
      a table handle isn't going to retrieve write-only fields then all of such
      fields are marked as to be read to force the handler to retrieve them.
      70a96913
    • Alexander Nozdrin's avatar
      After-merge fixes. · 72ae25b1
      Alexander Nozdrin authored
      72ae25b1
  3. 27 Apr, 2010 3 commits
  4. 26 Apr, 2010 8 commits
  5. 25 Apr, 2010 1 commit
  6. 22 Apr, 2010 2 commits
    • Alexander Nozdrin's avatar
      Patch for Bug#53022: Compilation of "embedded" is broken. · 53af29c0
      Alexander Nozdrin authored
      The bug was a side effect of WL#5030 (fix header files) and
      WL#5161 (CMake).
      
      The problem was that CMake-generated config.h (and my_config.h
      as a copy of it) had a header guard. GNU autotools-generated
      [my_]config.h did not. During WL#5030 the order of header files
      was changed, so the following started to happen (using GNU autotools,
      in embedded server):
        - my_config.h included, defining HAVE_OPENSSL
        - my_global.h included, un-defining  HAVE_OPENSSL
        - zlib.h included, including config.h,
          defining HAVE_OPENSSL again.
      
      The fix is to check HAVE_OPENSSL in conjuction with EMBEDDED_LIBRARY.
      More common fix would be to define a macros as HAVE_OPENSSL && !EMBEDDED_LIBRARY
      and use it instead of HAVE_OPENSSL.
      53af29c0
    • Staale Smedseng's avatar
      Bug#46261 Plugins can be installed with --skip-grant-tables · 9ea55766
      Staale Smedseng authored
      Previously installed dynamic plugins are explicitly not loaded
      on startup with --skip-grant-tables enabled. However, INSTALL
      PLUGIN/UNINSTALL PLUGIN commands are allowed, and result in
      inconsistent error messages (reporting duplicate plugin or
      plugin does not exist).
      
      This patch adds a check for --skip-grant-tables mode, and
      returns error ER_OPTION_PREVENTS_STATEMENT to the user when
      the above commands are attempted.
      9ea55766
  7. 21 Apr, 2010 6 commits
  8. 20 Apr, 2010 6 commits
    • Mats Kindahl's avatar
      WL#5030: Splitting mysql_priv.h · f96694f9
      Mats Kindahl authored
      Removing traces of mysql_priv.h from comments and other
      non-source files that were missed before.
      f96694f9
    • Kristofer Pettersson's avatar
      automerge · f6210545
      Kristofer Pettersson authored
      f6210545
    • Kristofer Pettersson's avatar
      Bug#50373 --secure-file-priv="" · 9d63e36c
      Kristofer Pettersson authored
      Correcting a patch misstake. The converted file path is placed in 'buff' not in opt_secure_file_priv.
      9d63e36c
    • Alfranio Correia's avatar
      BUG#51894 Replication failure with SBR on DROP TEMPORARY TABLE inside a · 9ba731c2
      Alfranio Correia authored
                transaction
      BUG#52616 Temp table prevents switch binlog format from STATEMENT to ROW
      
      Before the WL#2687 and BUG#46364, every non-transactional change that happened
      after a transactional change was written to trx-cache and flushed upon
      committing the transaction. WL#2687 and BUG#46364 changed this behavior and
      non-transactional changes are now written to the binary log upon committing
      the statement.
      
      A binary log event is identified as transactional or non-transactional through
      a flag in the Log_event which is set taking into account the underlie storage
      engine on what it is stems from. In the current bug, this flag was not being
      set properly when the DROP TEMPORARY TABLE was executed.
      
      However, while fixing this bug we figured out that changes to temporary tables
      should be always written to the trx-cache if there is an on-going transaction.
      Otherwise, binlog events in the reversed order would be produced.
      
      Regarding concurrency, keeping changes to temporary tables in the trx-cache is
      also safe as temporary tables are only visible to the owner connection.
      
      In this patch, we classify the following statements as unsafe:
         1 - INSERT INTO t_myisam SELECT * FROM t_myisam_temp
      
         2 - INSERT INTO t_myisam_temp SELECT * FROM t_myisam
      
         3 - CREATE TEMPORARY TABLE t_myisam_temp SELECT * FROM t_myisam
      
      On the other hand, the following statements are classified as safe:
      
         1 - INSERT INTO t_innodb SELECT * FROM t_myisam_temp
      
         2 - INSERT INTO t_myisam_temp SELECT * FROM t_innodb
      
      The patch also guarantees that transactions that have a DROP TEMPORARY are
      always written to the binary log regardless of the mode and the outcome:
      commit or rollback. In particular, the DROP TEMPORARY is extended with the
      IF EXISTS clause when the current statement logging format is set to row.
      
      Finally, the patch allows to switch from STATEMENT to MIXED/ROW when there
      are temporary tables but the contrary is not possible.
      9ba731c2
    • Jon Olav Hauglid's avatar
      merge from mysql-trunk-bugfixing · f2587df7
      Jon Olav Hauglid authored
      f2587df7
    • Alexey Kopytov's avatar
  9. 19 Apr, 2010 7 commits
  10. 18 Apr, 2010 1 commit
  11. 16 Apr, 2010 1 commit