1. 02 Oct, 2008 2 commits
    • Georgi Kodinov's avatar
      Bug #37348: Crash in or immediately after JOIN::make_sum_func_list · a18639b6
      Georgi Kodinov authored
            
      The optimizer pulls up aggregate functions which should be aggregated in
      an outer select. At some point it may substitute such a function for a field
      in the temporary table. The setup_copy_fields function doesn't take this
      into account and may overrun the copy_field buffer.
            
      Fixed by filtering out the fields referenced through the specialized
      reference for aggregates (Item_aggregate_ref).
      Added an assertion to make sure bugs that cause similar discrepancy 
      don't go undetected.
      
      mysql-test/r/func_group.result:
        Bug #37348: test case
      mysql-test/t/func_group.test:
        Bug #37348: test case
      sql/item.cc:
        Bug #37348: Added a way to distinguish Item_aggregate_ref from the other types of refs
      sql/item.h:
        Bug #37348: Added a way to distinguish Item_aggregate_ref from the other types of refs
      sql/sql_select.cc:
        Bug #37348: 
         - Don't consider copying field references
            seen through Item_aggregate_ref
         - check for discrepancies between the number of expected 
           fields that need copying and the actual fields copied.
      a18639b6
    • Ramil Kalimullin's avatar
      Merge · 6037e8ec
      Ramil Kalimullin authored
      6037e8ec
  2. 01 Oct, 2008 16 commits
  3. 30 Sep, 2008 9 commits
    • Davi Arnaut's avatar
      Merge from main branch. · 37a6be75
      Davi Arnaut authored
      37a6be75
    • Davi Arnaut's avatar
      Bug#38727: BUILD/compile-solaris-* scripts should compile MySQL with libmtmalloc · 36d8535a
      Davi Arnaut authored
      Link with mtmalloc on Solaris as it is done in our release builds.
      Replace deprecated flag with the newer option as already done in
      other scripts.
      
      BUILD/compile-solaris-amd64-forte:
        Link to mtmalloc and replace deprecated flag.
      BUILD/compile-solaris-amd64-forte-debug:
        Replace deprecated flag.
      BUILD/compile-solaris-sparc:
        Link to mtmalloc.
      BUILD/compile-solaris-sparc-forte:
        Link to mtmalloc
      36d8535a
    • Patrick Crews's avatar
      automerge · e97a45fd
      Patrick Crews authored
      e97a45fd
    • Patrick Crews's avatar
      Merge 5.0 -> 5.1 · 446fd504
      Patrick Crews authored
      446fd504
    • Patrick Crews's avatar
      Automerge · 8c33da07
      Patrick Crews authored
      8c33da07
    • Davi Arnaut's avatar
      Bug#34306: Can't make copy of log tables when server binary log is enabled · 6816cf6a
      Davi Arnaut authored
      Post-merge bug fix: lock_type is a enumeration type and not a bit mask.
      
      sql/sql_cache.cc:
        Check for lock type explicitly. Also err on the safe side and
        invalidate the query cache for any write lock.
      6816cf6a
    • Gleb Shchepa's avatar
      manual merge 5.0-bugteam --> 5.1-bugteam · 0d243986
      Gleb Shchepa authored
      0d243986
    • Gleb Shchepa's avatar
      Fixed bug #17823: 'arc' directories inside database directories. · 3c9d4ea8
      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.
      3c9d4ea8
    • Alexey Botchkov's avatar
      merging · b8734a1c
      Alexey Botchkov authored
      b8734a1c
  4. 29 Sep, 2008 3 commits
    • Davi Arnaut's avatar
      Merge from parent branch. · 2714b57b
      Davi Arnaut authored
      2714b57b
    • Alexey Botchkov's avatar
      Bug#37949 Crash if argument to SP is a subquery that returns more than one row · ce64a16b
      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
      ce64a16b
    • Davi Arnaut's avatar
      Bug#34306: Can't make copy of log tables when server binary log is enabled · 0406d409
      Davi Arnaut authored
      The problem is that when statement-based replication was enabled,
      statements such as INSERT INTO .. SELECT FROM .. and CREATE TABLE
      .. SELECT FROM need to grab a read lock on the source table that
      does not permit concurrent inserts, which would in turn be denied
      if the source table is a log table because log tables can't be
      locked exclusively.
      
      The solution is to not take such a lock when the source table is
      a log table as it is unsafe to replicate log tables under statement
      based replication. Furthermore, the read lock that does not permits
      concurrent inserts is now only taken if statement-based replication
      is enabled and if the source table is not a log table.
      
      include/thr_lock.h:
        Introduce yet another lock type that my get upgraded depending
        on the binary log format. This is not a optimal solution but
        can be easily improved later.
      mysql-test/r/log_tables.result:
        Add test case result for Bug#34306
      mysql-test/suite/binlog/r/binlog_stm_row.result:
        Add test case result for Bug#34306
      mysql-test/suite/binlog/t/binlog_stm_row.test:
        Add test case for Bug#34306
      mysql-test/t/log_tables.test:
        Add test case for Bug#34306
      sql/lock.cc:
        Assert that TL_READ_DEFAULT is not a real lock type.
      sql/mysql_priv.h:
        Export new function.
      sql/mysqld.cc:
        Remove using_update_log.
      sql/sql_base.cc:
        Introduce function that returns the appropriate read lock type
        depending on how the statement is going to be replicated. It will
        only take a TL_READ_NO_INSERT log if the binary is enabled and the
        binary log format is statement-based and the table is not a log table.
      sql/sql_parse.cc:
        Remove using_update_log.
      sql/sql_update.cc:
        Use new function to choose read lock type.
      sql/sql_yacc.yy:
        The lock type is now decided at open_tables time. This old behavior was
        actually misleading as the binary log format can be dynamically switched
        and this would not change for statements that have already been parsed
        when the binary log format is changed (ie: prepared statements).
      0406d409
  5. 26 Sep, 2008 1 commit
  6. 25 Sep, 2008 1 commit
  7. 23 Sep, 2008 2 commits
  8. 22 Sep, 2008 3 commits
  9. 20 Sep, 2008 3 commits
    • Kristofer Pettersson's avatar
      Merge 5.0-bugteam -> 5.1-bugteam · 153e8e7c
      Kristofer Pettersson authored
      153e8e7c
    • Kristofer Pettersson's avatar
      Automerge · 119c5aae
      Kristofer Pettersson authored
      119c5aae
    • Kristofer Pettersson's avatar
      Bug#38469 invalid memory read and/or crash with utf8 text field, stored procedure, uservar · f0352e34
      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
      f0352e34