1. 03 Nov, 2009 8 commits
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 53c8a079
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6084 | vasil | 2009-10-15 08:21:17 +0300 (Thu, 15 Oct 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entry for r6080.
      53c8a079
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 8b8fc30c
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6080 | sunny | 2009-10-15 01:29:01 +0300 (Thu, 15 Oct 2009) | 3 lines
      branches/zip: Change page_mem_alloc_free() to inline.
      Fix Bug #47058 - Failure to compile innodb_plugin on solaris 10u7 + spro cc/CC 5.10
      8b8fc30c
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 8494bb83
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6064 | calvin | 2009-10-13 18:23:35 +0300 (Tue, 13 Oct 2009) | 4 lines
      branches/zip: non-functional changes
      
      Changes from MySQL to fix build issue.
      
      r6065 | inaam | 2009-10-13 20:43:13 +0300 (Tue, 13 Oct 2009) | 7 lines
      branches/zip rb://182
      
      Call fsync() on datafiles after a batch of pages is written to disk
      even when skip_innodb_doublewrite is set.
      
      Approved by: Heikki
      8494bb83
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snapshot · 10456f81
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6049 | vasil | 2009-10-09 19:05:26 +0300 (Fri, 09 Oct 2009) | 7 lines
      branches/zip:
      
      Fix compilation warning in Hot Backup:
      
      innodb/fil/fil0fil.c: In function 'fil_load_single_table_tablespace':
      innodb/fil/fil0fil.c:3253: warning: format '%lld' expects type 'long long int', but argument 6 has type 'ib_int64_t'
      10456f81
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 9cdf2ea1
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6048 | vasil | 2009-10-09 08:42:55 +0300 (Fri, 09 Oct 2009) | 16 lines
      branches/zip:
      
      When scanning a directory readdir() is called and stat() after it,
      if a file is deleted between the two calls stat will fail and the
      whole precedure will fail. Change this behavior to continue with the
      next entry if stat() fails because of nonexistent file. This is
      transparent change as it will make it look as if the file was deleted
      before the readdir() call.
      
      This change is needed in order to fix
      https://svn.innodb.com/mantis/view.php?id=174
      in which we need to abort if os_file_readdir_next_file()
      encounters "real" errors.
      
      Approved by:	Marko, Pekka (rb://177)
      9cdf2ea1
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · bcb97ed6
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6046 | pekka | 2009-10-08 12:24:56 +0300 (Thu, 08 Oct 2009) | 3 lines
      branches/zip: Revert r6044 which added os_file_is_same() function
      (issue#186). This functionality is moved to Hot Backup source tree.
      bcb97ed6
    • Sergey Vojtovich's avatar
      Applying InnoDB plugin snashot · 41ebf975
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6044 | pekka | 2009-10-06 17:44:54 +0300 (Tue, 06 Oct 2009) | 5 lines
      branches/zip:
      Add os_file_is_same() function for Hot Backup (inside ifdef UNIV_HOTBACKUP).
      This is part of the fix for Issue #186.
      Note! The Windows implementation is incomplete.
      41ebf975
    • Sergey Vojtovich's avatar
      Clean-ups after applying InnoDB snapshot 5.1-ss6129: · b703edd7
      Sergey Vojtovich authored
      - disabled main.innodb_bug47777.test with InnoDB plugin
        until fix for plugin is applied.
      - disabled main.innodb-autoinc.test (failing)
      - re-enabled main.innodb_bug39438.test
      - added error message suppression to innodb_bug39438, as
        requested by InnoDB/Oracle
      - reverted change to main.innodb_bug34300 as plugin specific.
      b703edd7
  2. 02 Nov, 2009 14 commits
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · 63ef1103
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6129 | vasil | 2009-10-30 17:14:22 +0200 (Fri, 30 Oct 2009) | 4 lines
      branches/5.1:
      
      Revert a change to Makefile.am that sneaked unnoticed in c6127.
      63ef1103
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · 66fc8224
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6127 | vasil | 2009-10-30 11:18:25 +0200 (Fri, 30 Oct 2009) | 18 lines
      branches/5.1:
      
      Backport c6121 from branches/zip:
      
        ------------------------------------------------------------------------
        r6121 | sunny | 2009-10-30 01:42:11 +0200 (Fri, 30 Oct 2009) | 7 lines
        Changed paths:
           M /branches/zip/mysql-test/innodb-autoinc.result
        
        branches/zip: This test has been problematic for sometime now. The underlying
        bug is that the data dictionaries get out of sync. In the AUTOINC code we
        try and apply salve to the symptoms. In the past MySQL made some unrelated
        change and the dictionaries stopped getting out of sync and this test started
        to fail. Now, it seems they have reverted that changed and the test is
        passing again. I suspect this is not he last time that this test will change.
        
        ------------------------------------------------------------------------
      66fc8224
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · 37d83e4d
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6125 | vasil | 2009-10-30 10:31:23 +0200 (Fri, 30 Oct 2009) | 4 lines
      branches/5.1:
      
      White-space fixup.
      37d83e4d
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · f276d544
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6123 | jyang | 2009-10-30 05:43:06 +0200 (Fri, 30 Oct 2009) | 8 lines
      branches/5.1: In os_mem_alloc_large(), if we fail to attach
      the shared memory, reset memory pointer ptr to NULL, and
      allocate memory from conventional pool. This is a port
      from branches/zip.
      Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect
      rb://198  Approved by: Marko
      f276d544
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · c29b740b
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6122 | jyang | 2009-10-30 05:18:38 +0200 (Fri, 30 Oct 2009) | 7 lines
      branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN
      for push_warning_printf() call in innodb.
      Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR)
      
      rb://170 approved by Marko.
      c29b740b
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · 3af62819
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6076 | vasil | 2009-10-14 19:30:12 +0300 (Wed, 14 Oct 2009) | 4 lines
      branches/5.1:
      
      Fix typo.
      3af62819
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · ebc36267
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6052 | sunny | 2009-10-12 07:09:56 +0300 (Mon, 12 Oct 2009) | 4 lines
      branches/5.1: Reset the statement level autoinc counter on ROLLBACK. Fix
      the test results too.
      rb://164
      
      r6053 | sunny | 2009-10-12 07:37:49 +0300 (Mon, 12 Oct 2009) | 6 lines
      branches/5.1: Copy the maximum AUTOINC value from the old table to the new
      table when MySQL does a CREATE INDEX ON T. This is required because MySQL
      does a table copy, rename and drops the old table.
      Fix Bug#47125: auto_increment start value is ignored if an index is created and engine=innodb
      rb://168
      ebc36267
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · c8d97af6
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6051 | sunny | 2009-10-12 07:05:00 +0300 (Mon, 12 Oct 2009) | 6 lines
      branches/5.1: Ignore negative values supplied by the user when calculating the
      next value to store in dict_table_t. Setting autoincrement columns top negative
      values is undefined behavior and this change should bring the behavior of
      InnoDB closer to what users expect. Added several tests to check.
      rb://162
      c8d97af6
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · 71d24a23
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6045 | jyang | 2009-10-08 02:27:08 +0300 (Thu, 08 Oct 2009) | 7 lines
      branches/5.1: Fix bug #47777. Treat the Geometry data same as
      Binary BLOB in ha_innobase::store_key_val_for_row(), since the
      Geometry data is stored as Binary BLOB in Innodb.
      
      Review: rb://180 approved by Marko Makela.
      71d24a23
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · 7e317016
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6032 | vasil | 2009-10-01 15:55:49 +0300 (Thu, 01 Oct 2009) | 8 lines
      branches/5.1:
      
      Fix Bug#38996 Race condition in ANALYZE TABLE
      
      by serializing ANALYZE TABLE inside InnoDB.
      
      Approved by:	Heikki (rb://175)
      7e317016
    • Sergey Vojtovich's avatar
      Applying InnoDB snashot 5.1-ss6129 · e7452e7b
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r5952 | calvin | 2009-09-22 19:45:07 +0300 (Tue, 22 Sep 2009) | 7 lines
      branches/5.1: fix bug#42383: Can't create table 'test.bug39438'
      
      For embedded server, MySQL may pass in full path, which is
      currently disallowed. It is needed to relax the condition by
      accepting full paths in the embedded case.
      
      Approved by: Heikki (on IM)
      e7452e7b
    • Martin Hansson's avatar
      Bug#47925: regression of range optimizer and date comparison in 5.1.39! · 740b7c4e
      Martin Hansson authored
      When a query was using a DATE or DATETIME value formatted
      using any other separator characters beside hyphen '-', a
      query with a greater-or-equal '>=' condition matching only
      the greatest value in an indexed column, the result was
      empty if index range scan was employed.
      
      The range optimizer got a new feature between 5.1.38 and
      5.1.39 that changes a greater-or-equal condition to a
      greater-than if the value matching that in the query was not
      present in the table. But the value comparison function
      compared the dates as strings instead of dates.
      
      The bug was fixed by splitting the function
      get_date_from_str in two: One part that parses and does
      error checking. This function is now visible outside the
      module. The old get_date_from_str now calls the new
      function.
      
      
      mysql-test/r/range.result:
        Bug#47925: Test result
      mysql-test/t/range.test:
        Bug#47925: Test case
      sql/item.cc:
        Bug#47925: Fix + some edit on the comments
      sql/item.h:
        Bug#47925: Changed function signature
      sql/item_cmpfunc.cc:
        Bug#47925: Split function in two
      sql/item_cmpfunc.h:
        Bug#47925: Declaration of new function
      sql/opt_range.cc:
        Bug#47925: Added THD to function call
      sql/time.cc:
        Bug#47925: Added microsecond comparison
      740b7c4e
    • Davi Arnaut's avatar
      Automerge. · 1955c866
      Davi Arnaut authored
      1955c866
    • Tatiana A. Nurnberg's avatar
      auto-merge · 09c50b63
      Tatiana A. Nurnberg authored
      09c50b63
  3. 01 Nov, 2009 1 commit
  4. 31 Oct, 2009 1 commit
  5. 30 Oct, 2009 12 commits
    • Alexey Kopytov's avatar
      Automerge. · e5a1995d
      Alexey Kopytov authored
      e5a1995d
    • Alexey Kopytov's avatar
      Automerge. · 3df1ae7a
      Alexey Kopytov authored
      3df1ae7a
    • Alexey Kopytov's avatar
      Automerge. · 7f965636
      Alexey Kopytov authored
      7f965636
    • Alexey Kopytov's avatar
      Automerge. · 23cbd659
      Alexey Kopytov authored
      23cbd659
    • Alexey Kopytov's avatar
      Bug #48131: crash group by with rollup, distinct, filesort, · b67cdaa3
      Alexey Kopytov authored
                  with temporary tables
      
      There were two problems the test case from this bug was
      triggering:
      
      1. JOIN::rollup_init() was supposed to wrap all constant Items
      into another object for queries with the WITH ROLLUP modifier
      to ensure they are never considered as constants and therefore
      are written into temporary tables if the optimizer chooses to
      employ them for DISTINCT/GROUP BY handling.
      
      However, JOIN::rollup_init() was called before
      make_join_statistics(), so Items corresponding to fields in
      const tables could not be handled as intended, which was
      causing all kinds of problems later in the query execution. In
      particular, create_tmp_table() assumed all constant items
      except "hidden" ones to be removed earlier by remove_const()
      which led to improperly initialized Field objects for the
      temporary table being created. This is what was causing crashes
      and valgrind errors in storage engines.
      
      2. Even when the above problem had been fixed, the query from
      the test case produced incorrect results due to some
      DISTINCT/GROUP BY optimizations being performed by the
      optimizer that are inapplicable in the WITH ROLLUP case.
      
      Fixed by disabling inapplicable DISTINCT/GROUP BY optimizations
      when the WITH ROLLUP modifier is present, and splitting the
      const-wrapping part of JOIN::rollup_init() into a separate
      method which is now invoked after make_join_statistics() when
      the const tables are already known.
      
      mysql-test/r/olap.result:
        Added a test case for bug #48131.
      mysql-test/t/olap.test:
        Added a test case for bug #48131.
      sql/sql_select.cc:
        1. Disabled inapplicable DISTINCT/GROUP BY optimizations when
        the WITH ROLLUP modifier is present.
        2. Split the const-wrapping part of JOIN::rollup_init() into a
        separate method.
      sql/sql_select.h:
        Added rollup_process_const_fields() declaration.
      b67cdaa3
    • Georgi Kodinov's avatar
      merge · 27c2af97
      Georgi Kodinov authored
      27c2af97
    • Georgi Kodinov's avatar
      merge from 5.0-main · ecef6c33
      Georgi Kodinov authored
      ecef6c33
    • Georgi Kodinov's avatar
      merge · 5bba20bb
      Georgi Kodinov authored
      5bba20bb
    • Georgi Kodinov's avatar
      Bug #48291 : crash with row() operator,select into @var, and · 9d96cd6d
      Georgi Kodinov authored
        subquery returning multiple rows
      
      Error handling was missing when handling subqueires in WHERE 
      and when assigning a SELECT result to a @variable.
      This caused crash(es). 
      
      Fixed by adding error handling code to both the WHERE 
      condition evaluation and to assignment to an @variable.
      9d96cd6d
    • Georgi Kodinov's avatar
      merge · 1e7fb592
      Georgi Kodinov authored
      1e7fb592
    • Georgi Kodinov's avatar
      Bug #48293: crash with procedure analyse, view with > 10 columns, · 851e2509
      Georgi Kodinov authored
      having clause...
      
      The fix for bug 46184 was not very complete. It was not covering
      views using temporary tables and multiple tables in a FROM clause.
      Fixed by reverting the fix for 46184 and making a more general
      check that is checking at the right execution stage and for all
      of the non-supported cases.
      Now PROCEDURE ANALYZE on non-top level SELECT is also forbidden.
      Updated the analyse.test and subselect.test accordingly.
      851e2509
    • Georgi Kodinov's avatar
      merge · bba3b76c
      Georgi Kodinov authored
      bba3b76c
  6. 29 Oct, 2009 3 commits
    • Tatiana A. Nurnberg's avatar
      Bug#48295: explain extended crash with subquery and ONLY_FULL_GROUP_BY sql_mode · eaad6119
      Tatiana A. Nurnberg authored
      If an outer query is broken, a subquery might not even get set up.
      EXPLAIN EXTENDED did not expect this and merrily tried to de-ref all
      of the half-setup info.
      
      We now catch this case and print as much as we have, as it doesn't cost us
      anything (doesn't make regular execution slower).
      
      mysql-test/r/explain.result:
        Show that EXPLAIN EXTENDED with subquery and illegal out query doesn't crash.
        Show also that SHOW WARNINGS will render an additional Note in the hope of
        being, well, helpful.
      mysql-test/t/explain.test:
        If we have only half a query for EXPLAIN EXTENDED to print (i.e.,
        incomplete subquery info as outer query is illegal), we should
        provide the user with as much info as we easily can if they ask
        for it. What we should not do is crash when they come asking for
        help, that violates etiquette in some countries.
      sql/item_subselect.cc:
        If the sub-query's actually set up, print it. Otherwise, elide.
      eaad6119
    • Georgi Kodinov's avatar
      Bug #42116 : Mysql crash on specific query · ac373248
      Georgi Kodinov authored
      Queries with nested outer joins may lead to crashes or 
      bad results because an internal data structure is not handled
      correctly.
      The optimizer uses bitmaps of nested JOINs to determine
      if certain table can be placed at a certain place in the
      JOIN order.
      It does maintain a bitmap describing in which JOINs 
      last placed table is nested.
      When it puts a table it makes sure the bit of every JOIN that
      contains the table in question is set (because JOINs can be nested).
      It does that by recursively setting the bit for the next enclosing
      JOIN when this is the first table in the JOIN and recursively 
      resetting the bit if it's the last table in the JOIN.
      When it removes a table from the join order it should do the
      opposite : recursively unset the bit if it's the only remaining 
      table in this join and and recursively set the bit if it's removing
      the last table of a JOIN.
      There was an error in how the bits was set for the upper levels :
      when removing a table it was setting the bit for all the enclosing 
      nested JOINs even if there were more tables left in the current JOIN
      (which practically means that the upper nested JOINs were not affected).
      Fixed by stopping the recursion at the relevant level.
      
      mysql-test/r/join.result:
        Bug #42116: test case
      mysql-test/t/join.test:
        Bug #42116: test case
      sql/sql_select.cc:
        Bug #41116: don't go up and set the bits if more tables in
        at the current JOIN level
      ac373248
    • unknown's avatar
      Bug #46828 rpl_get_master_version_and_clock fails on PB-2 · 09668c01
      unknown authored
      The 'rpl_get_master_version_and_clock' test verifies if the slave I/O 
      thread tries to reconnect to master when it tries to get the values of 
      the UNIX_TIMESTAMP, SERVER_ID from master under network disconnection. 
      So the master server is restarted for making the transient network 
      disconnection. Restarting master server can bring two problems as following:
      
      1. The time out error is encountered sporadically. The slave I/O thread tries 
         to reconnect master ten times, which is set in my.cnf. So in the test 
         framework sporadically the slave I/O thread really stoped when it can't 
         reconnect to master in the ten times successfully before the master starts, 
         then the time out error will be encountered while waiting for the slave to 
         start.
      
      2. These warnings and errors are produced in server log file when 
         the slave I/O thread tries to get the values of the UNIX_TIMESTAMP, 
         SERVER_ID from master under the transient network disconnection.
      
      To fix problem 1, increase the master retry count to sixty times, 
      so that the slave I/O thread has enough time to reconnect master 
      successfully.
      To fix problem 2, suppress these warnings and errors by mtr suppression, 
      because they are expected.
      
      
      mysql-test/suite/rpl/t/rpl_get_master_version_and_clock-slave.opt:
        Added the *.opt file for increasing master retry count to 
        sixty times.
      mysql-test/suite/rpl/t/rpl_get_master_version_and_clock.test:
        Added mtr suppression for suppressing warnings and errors 
        in server log file.
      09668c01
  7. 28 Oct, 2009 1 commit
    • Sergey Vojtovich's avatar
      BUG#43171 - Assertion failed: thd->transaction.xid_state.xid.is_null() · 17ed7089
      Sergey Vojtovich authored
      XA START may cause assertion failure/server crash when it is called
      after unilateral roll back issued by the Resource Manager (both
      in regular transaction and after XA transaction).
      
      The problem was that rm_error variable wasn't set/reset properly.
      
      mysql-test/r/xa.result:
        A test case for BUG#43171.
      mysql-test/t/xa.test:
        A test case for BUG#43171.
      sql/handler.cc:
        Setting rm_error when we're out of XA transaction has no
        special meaning. But it blocks reset of thd->transaction.xid
        structure later.
      sql/sql_parse.cc:
        Reset rm_error before we enter ha_rollback(), so
        thd->transaction.xid strucure is reinitialized.
      17ed7089