1. 30 Sep, 2008 3 commits
    • Gleb Shchepa's avatar
      manual merge 5.0-bugteam --> 5.1-bugteam · 98e81c01
      Gleb Shchepa authored
      98e81c01
    • Gleb Shchepa's avatar
      Fixed bug #17823: 'arc' directories inside database directories. · 18876585
      Gleb Shchepa authored
      Server created "arc" directories inside database directories and
      maintained there useless copies of .frm files.
      
      Creation and renaming procedures of those copies as well as
      creation of "arc" directories has been discontinued.
      Removal procedure has been kept untouched to be able to
      cleanup existent database directories by the DROP DATABASE
      query. Also view renaming procedure has been updated to remove
      these directories.
      
      
      sql/parse_file.cc:
        Fixed bug #17823: 'arc' directories inside database directories.
        View/table creation and renaming procedures maintained
        backup copies of .frm files. Those copies are unused yet,
        so this feature was incomplete and unnecessary.
        
        1. Unwanted code has been hidden by FRM_ARCHIVE ifdefs
        (the FRM_ARCHIVE macro is not defined).
        
        2. Renaming procedure has been modified to remove obsolete
        "arc" directories.
      sql/parse_file.h:
        Fixed bug #17823: 'arc' directories inside database directories.
        The "thd" parameter has been added to the rename_in_schema_file()
        function.
      sql/sql_db.cc:
        Fixed bug #17823: 'arc' directories inside database directories.
        Scope of the mysql_rm_arc_files() function has been changed to
        global for use from the parse_file.cc file.
      sql/sql_view.cc:
        Fixed bug #17823: 'arc' directories inside database directories.
        Added the "thd" argument to rename_in_schema_file() calls.
      18876585
    • Alexey Botchkov's avatar
      merging · 1f970c8b
      Alexey Botchkov authored
      1f970c8b
  2. 29 Sep, 2008 1 commit
    • Alexey Botchkov's avatar
      Bug#37949 Crash if argument to SP is a subquery that returns more than one row · 67e34ee4
      Alexey Botchkov authored
           JOIN for the subselect wasn't cleaned if we came upon an error
           during sub_select() execution. That leads to the assertion failure
           in close_thread_tables()
      
           part of the 6.0 code backported
      
      per-file comments:
        mysql-test/r/sp-error.result
      Bug#37949 Crash if argument to SP is a subquery that returns more than one row 
          test result
      
        mysql-test/t/sp-error.test
      Bug#37949 Crash if argument to SP is a subquery that returns more than one row 
          test case
      
        sql/sp_head.cc
      Bug#37949 Crash if argument to SP is a subquery that returns more than one row 
          lex->unit.cleanup() call added if not substatement
      67e34ee4
  3. 25 Sep, 2008 1 commit
  4. 23 Sep, 2008 1 commit
  5. 22 Sep, 2008 3 commits
  6. 20 Sep, 2008 4 commits
    • Kristofer Pettersson's avatar
      Merge 5.0-bugteam -> 5.1-bugteam · 7ff0850d
      Kristofer Pettersson authored
      7ff0850d
    • Kristofer Pettersson's avatar
      Automerge · 99d71ad1
      Kristofer Pettersson authored
      99d71ad1
    • Kristofer Pettersson's avatar
      Bug#38469 invalid memory read and/or crash with utf8 text field, stored procedure, uservar · 222f5c44
      Kristofer Pettersson authored
                  
      A stored procedure involving substrings could crash the server on certain
      platforms because of invalid memory reads.
                
      During storing the new blob-field value, the cached value's address range
      overlapped that of the new field value. This caused problems when the 
      cached value storage was reallocated to provide access for a new 
      characater set representation. The patch checks the address ranges, and if
      they overlap, the new field value is copied to a new storage before it is
      converted to the new character set.
      
      
      mysql-test/r/sp.result:
        Added result set
      mysql-test/t/sp.test:
        Added test case
      sql/field.cc:
        The source and destination address ranges of a character conversion must not overlap or the 'from' address will be invalidated as the temporary value-
        object is re-allocated to fit the new character set.
      sql/field.h:
        Added comments
      222f5c44
    • Davi Arnaut's avatar
      Restore team tree name. · d85bc6d2
      Davi Arnaut authored
      d85bc6d2
  7. 18 Sep, 2008 8 commits
    • Matthias Leich's avatar
      Merge 5.0 -> 5.1 · b3458b70
      Matthias Leich authored
      no conflicts, no real code changes
      b3458b70
    • Matthias Leich's avatar
      Merge actual tree -> local tree · b7160ad4
      Matthias Leich authored
      no conflicts
      b7160ad4
    • Matthias Leich's avatar
      Merge actual bugteam tree -> local tree · 57e91b58
      Matthias Leich authored
      57e91b58
    • Tatiana A. Nurnberg's avatar
      auto-merge · cd5d696d
      Tatiana A. Nurnberg authored
      cd5d696d
    • Tatiana A. Nurnberg's avatar
      manual merge · d532de59
      Tatiana A. Nurnberg authored
      d532de59
    • Tatiana A. Nurnberg's avatar
      Bug#37114: sql_mode NO_BACKSLASH_ESCAPES does not work properly with LOAD DATA... · ec1dce35
      Tatiana A. Nurnberg authored
      Bug#37114: sql_mode NO_BACKSLASH_ESCAPES does not work properly with LOAD DATA      Bug#37114: sql_mode NO_BACKSLASH_ESCAPES does not work properly with LOAD DATA INFILE
      
      tweaked test to make embedded server happy
      ec1dce35
    • Mattias Jonsson's avatar
      Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory) · b7c7975a
      Mattias Jonsson authored
      It is a very big test and as such it takes a lot of time.
      
      Solution is to divide the test in two parts, one for testing increasing
      column size and one for decreasing size.
      
      The innodb branch does extended tests (that myisam is not) due to the
      $do_pk_tests variabel, that is the reason why the innodb branch takes
      longer.
      
      No increase of memory usage in innodb was found when analyzing, (tested
      with looping some millions time of create/drop and alter commands)
      
      The memory exhaust discovered in the test is due to mysqltest which
      stores the result in memory (result-file) and this was the biggest
      result file in the test framework, so by dividing the test into two
      parts also cuts the memory usage of mysqltest.
      
      mysql-test/suite/parts/inc/partition_alter2_1.inc:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/inc/partition_alter2_2.inc:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/r/partition_alter2_1_innodb.result:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/r/partition_alter2_1_myisam.result:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/r/partition_alter2_2_innodb.result:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/r/partition_alter2_2_myisam.result:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/t/disabled.def:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Removed the test completely (since it has never been supported)
      mysql-test/suite/parts/t/partition_alter2_1_innodb.test:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/t/partition_alter2_1_myisam.test:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/t/partition_alter2_2_innodb.test:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/t/partition_alter2_2_myisam.test:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Splitted the test into two parts (one for increasing column size
        and one for decreasing)
        
        This leads to lower test case time (to avoid test case timeout)
        and less memory consumption of mysqltest (due to smaller result file)
      mysql-test/suite/parts/t/partition_alter2_ndb.test:
        Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
        
        Removing test since ndb has never supported these tests
      b7c7975a
    • Chad MILLER's avatar
      Merge Bug#37312. · 27ab172f
      Chad MILLER authored
      27ab172f
  8. 17 Sep, 2008 4 commits
    • Tatiana A. Nurnberg's avatar
      auto-merge · 7401219c
      Tatiana A. Nurnberg authored
      7401219c
    • Tatiana A. Nurnberg's avatar
      auto-merge · 46969bd9
      Tatiana A. Nurnberg authored
      46969bd9
    • Tatiana A. Nurnberg's avatar
      auto-merge · 5e146ddb
      Tatiana A. Nurnberg authored
      5e146ddb
    • Tatiana A. Nurnberg's avatar
      Bug#37114: sql_mode NO_BACKSLASH_ESCAPES does not work properly with LOAD DATA INFILE · 3454250a
      Tatiana A. Nurnberg authored
      NO_BACKSLASH_ESCAPES was not heeded in LOAD DATA INFILE
      and SELECT INTO OUTFILE.  It is now.
      
      mysql-test/r/loaddata.result:
        Show that SQL-mode NO_BACKSLASH_ESCAPES is heeded in
        INFILE/OUTFILE, and that dump/restore cycles work!
      mysql-test/t/loaddata.test:
        Show that SQL-mode NO_BACKSLASH_ESCAPES is heeded in
        INFILE/OUTFILE, and that dump/restore cycles work!
      sql/sql_class.cc:
        Add function to enquire whether ESCAPED BY was given.
        When doing SELECT...OUTFILE, use ESCAPED BY if specifically
        given; otherwise use sensible default value depending on
        SQL-mode features NO_BACKSLASH_ESCAPES.
      sql/sql_class.h:
        Add function to enquire whether ESCAPED BY was given.
      sql/sql_load.cc:
        When doing LOAD DATA INFILE, use ESCAPED BY if specifically
        given; otherwise use sensible default value depending on
        SQL-mode features NO_BACKSLASH_ESCAPES.
      3454250a
  9. 16 Sep, 2008 6 commits
    • Matthias Leich's avatar
      Upmerge 5.0 -> 5.1 of fix for Bug#38184 · a47920b7
      Matthias Leich authored
      a47920b7
    • Matthias Leich's avatar
      Fix for Bug#38184 : main.federated fails sporadically · 756483c7
      Matthias Leich authored
      Details:
      - backport of some improvements which prevent sporadic
        failures from 5.1 to 5.0
      - @@GLOBAL.CONCURRENT_INSERT= 0 also for slave server
      - --sorted_result before all selects which have result
        sets with more than one row
      - Replace error numbers by error names
      756483c7
    • Narayanan V's avatar
      updated tree with mysql-5.1-bugteam · 73069a79
      Narayanan V authored
      73069a79
    • Vladislav Vaintroub's avatar
      merge fix from 5.0-bugteam · ff8004ea
      Vladislav Vaintroub authored
      ff8004ea
    • Narayanan V's avatar
      Bug#38338: REPLACE causes last_insert_id() to return an incorrect value · d0250786
      Narayanan V authored
                        
      Fix the write_record function to record auto increment
      values in a consistent way.
      
      mysql-test/r/auto_increment.result:
        Updated the test result file with the output of the
        new test case added to verify this bug.
      mysql-test/t/auto_increment.test:
        Added a new test case to verify this bug.
      sql/sql_insert.cc:
        The algorithm for the write_record function
        in sql_insert.cc is (more emphasis given to
        the parts that deal with the autogenerated values)
        
        1) If a write fails
        
           1.1) save the autogenerated value to avoid 
                thd->insert_id_for_cur_row to become 0.
        
           1.2) <logic to handle INSERT ON DUPLICATE KEY
                UPDATE and REPLACE>
        
        2) record the first successful insert id.
        
        explanation of the failure
        --------------------------
        
        As long as 1.1) was executed 2) worked fine.
        
        1.1) was always executed when REPLACE worked 
             with the last row update optimization, but
             in cases where 1.1) was not executed 2)
             would fail and would result in the autogenerated
             value not being saved.
        
        solution
        --------
        
        repeat a check for thd->insert_id_for_cur_row 
        being zero similar to 1.1) before 2) and ensure
        that the correct value is saved.
      d0250786
    • Vladislav Vaintroub's avatar
      Bug#35987 - post-review fix · 98e010de
      Vladislav Vaintroub authored
      Correct usage of strncat() in get_symbol_path()
      
      3rd parameter to strncat is changed to be count of 
      remaining bytes in the output buffer minus 1.
      
      
      98e010de
  10. 15 Sep, 2008 9 commits
    • Kristofer Pettersson's avatar
      Automerge · 60573bac
      Kristofer Pettersson authored
      60573bac
    • Patrick Crews's avatar
      merge of bug fix from parent · 34aa52d7
      Patrick Crews authored
      34aa52d7
    • Patrick Crews's avatar
      Bug#37938 Test "mysqldump" lacks various INSERT statements / values · d50ee22c
      Patrick Crews authored
      Merge of fixes from 5.0 -> 5.1
      Moved restoration of concurrent_insert's original value to the end of the 5.1 tests
      Re-recorded .result file to account for changes to test file.
      d50ee22c
    • Patrick Crews's avatar
      Bug#37938 Test "mysqldump" lacks various INSERT statements / values · ae88da9a
      Patrick Crews authored
      Moved fix for this bug to 5.0 as other mysqldump bugs seem tied to concurrent_insert being on
      Setting concurrent_insert off during this test as INSERTs weren't being 
      completely processed before the calls to mysqldump, resulting in failing tests.
      
      Altered .test file to turn concurrent_insert off during the test and to restore it
      to whatever the value was at the start of the test when complete.
      
      Re-recorded .result file to account for changes to variables in the test.
      ae88da9a
    • Patrick Crews's avatar
      Bug#39803 Test rpl.rpl_truncate_7ndb_2 failing · 4c22c8ca
      Patrick Crews authored
      Fixed bad path in .test file
      Moved test to suite/rpl_ndb (per Cluster QA)
      Re-recorded .result file to updated expected results.
      4c22c8ca
    • Vladislav Vaintroub's avatar
      merge fix for 35987 · b4555a23
      Vladislav Vaintroub authored
      b4555a23
    • Vladislav Vaintroub's avatar
      Bug#35987 - crash report on windows doesn't resolve stack traces. · 1089cb91
      Vladislav Vaintroub authored
      The problem here is that symbols can not be loaded, because symbol
      path is not set and  default path does not include the directory
      where PDB is located.
      
      The problem is _not_ reproducible on the same machine where
      mysqld.exe is built - if PDB is not found in the symbol path,
      dbghelp would fallback to fully qualified PDB path as given in the
      executable header and on the build host this will succeed.
      
      The solution is to calculate symbol path and pass it to SymInitialize()
      call.
      1089cb91
    • Alexander Barkov's avatar
      Bug#35720 ucs2 + pad_char_to_full_length = failure · 04250429
      Alexander Barkov authored
      Problem: with @@sql_mode=pad_char_to_full_length
      a CHAR column returned additional garbage
      after trailing space characters due to
      incorrect my_charpos() call.
      Fix: call my_charpos() with correct arguments.
      04250429
    • Martin Skold's avatar
      bug #31231 mysql_alter_table() tries to drop a non-existing table · 97989d10
      Martin Skold authored
      bug#31233 mysql_alter_table() fails to drop UNIQUE KEY
      
      mysql-test/suite/ndb/r/ndb_alter_table.result:
        bug#31233 mysql_alter_table() fails to drop UNIQUE KEY: added test cases
      mysql-test/suite/ndb/t/ndb_alter_table.test:
        bug#31233 mysql_alter_table() fails to drop UNIQUE KEY: added test cases
      sql/ha_ndbcluster.cc:
        bug#31233 mysql_alter_table() fails to drop UNIQUE KEY: Removed check for non-pk
        tables, not needed when mysql_alter_table checks apropriate flags
      sql/mysql_priv.h:
        bug #31231  mysql_alter_table() tries to drop a non-existing table: added FRM_ONLY
        flag
      sql/sql_table.cc:
        bug #31231  mysql_alter_table() tries to drop a non-existing table
        Don't invoke handler for tables defined with FRM_ONLY flag.
        bug#31233 mysql_alter_table() fails to drop UNIQUE KEY
        When a table is defined without an explicit primary key
        mysql will choose the first found unique index defined over
        non-nullable fields (if such an index exists). This means
        that if such an index is added (the first) or dropped (the last)
        through an alter table, this equals adding or dropping a primary key.
        The implementation for on-line add/drop index did not consider
        this semantics. This patch ensures that only handlers with the
         correctly defined flags (see handler.h for explanation of the flags):
        HA_ONLINE_ADD_PK_INDEX
        HA_ONLINE_ADD_PK_INDEX_NO_WRITES
        HA_ONLINE_DROP_PK_INDEX
        HA_ONLINE_DROP_PK_INDEX_NO_WRITES
        are invoked for such on-line operations. All others handlers must
        perform a full (offline) alter table.
      97989d10