1. 21 May, 2008 3 commits
    • Kristofer Pettersson's avatar
      Reverted merging misstake. · f6b7e7e4
      Kristofer Pettersson authored
      mysql-test/r/status.result:
        reverted merging misstake
      mysql-test/t/status.test:
        reverted merging misstake
      f6b7e7e4
    • Kristofer Pettersson's avatar
      Bug#34417 Assertion failure in Diagnostics_area::set_error_status() · 5b7566a1
      Kristofer Pettersson authored
        
      The Diagnostic_area caused an assertion failure in debug mode when
      the disk was full.
        
      By setting the internal error handler to ignore errors caused by
      underlying logging methods, the error is avoided.
      
      
      sql/log.cc:
        MYSQL_QUERY_LOG::write uses IOCACHE for writing data. If writing fails 
        an error is pushed by the procedure my_error which in turn invokes
        the default error handler my_message_sql. When the error is set the
        Diagnostic_area status changes and later trigger an assertion on the
        next consecutive status change which happens by for example the 
        function my_ok(). By intercepting the error handler from the logger
        interface this error can be silenced.
      5b7566a1
    • Kristofer Pettersson's avatar
      Bug#32966 main.status fails · 8d07122a
      Kristofer Pettersson authored
      The failing test case is depending on unnecessary status variable output
      which changes based on build configuration. By reducing the output the test
      becomes more stable.
      
      mysql-test/r/status.result:
        Modified test case
      mysql-test/t/disabled.def:
        Enabled status.test
      mysql-test/t/status.test:
        Modified test case.
      8d07122a
  2. 20 May, 2008 1 commit
  3. 19 May, 2008 2 commits
  4. 18 May, 2008 4 commits
    • unknown's avatar
      Merge host.loc:/work/bk/5.0-bugteam · c5865cfd
      unknown authored
      into  host.loc:/work/bk/5.1-bugteam
      
      
      sql/sql_update.cc:
        Auto merged
      c5865cfd
    • unknown's avatar
      Merge host.loc:/work/bugs/5.0-bugteam-36676 · 8bc987ab
      unknown authored
      into  host.loc:/work/bk/5.0-bugteam
      
      
      8bc987ab
    • unknown's avatar
      Fixed bug#36676: multiupdate using LEFT JOIN updates only · 29e7fa25
      unknown authored
                       first row or fails with an error:
        ERROR 1022 (23000): Can't write; duplicate key in table ''
      
      The server uses intermediate temporary table to store updated
      row data.  The first column of this table contains rowid.
      Current server implementation doesn't reset NULL flag of that
      column even if the server fills a column with rowid.
      To keep each rowid unique, there is an unique index.
      An insertion into an unique index takes into account NULL
      flag of key value and ignores real data if NULL flag is set.
      So, insertion of actually different rowids may lead to two
      kind of problems.  Visible effect of each of these problems
      depends on an initial engine type of temporary table:
      
      1. If multiupdate initially creates temporary table as
      a MyISAM table (a table contains blob columns, and the
      create_tmp_table function assumes, that this table is
      large), it inserts only one single row and updates
      only rows with one corresponding rowid. Other rows are
      silently ignored. 
      
      2. If multiupdate initially creates MEMORY temporary
      table, fills it with data and reaches size limit for
      MEMORY tables (max_heap_table_size), multiupdate
      converts MEMORY table into MyISAM table and fails
      with an error:
        ERROR 1022 (23000): Can't write; duplicate key in table ''
      
      
      Multiupdate has been fixed to update the NULL flag of
      temporary table rowid columns.
      
      
      
      mysql-test/r/multi_update_tiny_hash.result:
        Added test case for bug#36676.
      mysql-test/t/multi_update_tiny_hash-master.opt:
        Added test case for bug#36676.
      mysql-test/t/multi_update_tiny_hash.test:
        Added test case for bug#36676.
      sql/sql_update.cc:
        Fixed bug#36676: multiupdate using LEFT JOIN updates only
                         first row or fails with an error:
          ERROR 1022 (23000): Can't write; duplicate key in table ''
        
        The multi_update::send_data method has been modified to reset null bits of
        fields containing rowids.
      29e7fa25
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/mysql-5.0-bugteam · 314e6e25
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/merge-5.1-bugteam
      
      
      sql/handler.cc:
        Auto merged
      configure.in:
        merge 5.0-bugteam to 5.1-bugteam
      314e6e25
  5. 17 May, 2008 1 commit
  6. 16 May, 2008 24 commits
  7. 15 May, 2008 5 commits
    • unknown's avatar
      Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my50-bug36570 · 99061383
      unknown authored
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my51-bug36570
      
      
      BitKeeper/deleted/.del-binlog_innodb.result:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      mysql-test/suite/binlog/r/binlog_stm_ctype_ucs.result:
        need to re-record.
      mysql-test/suite/rpl/r/rpl_sp.result:
        need to re-record.
      mysql-test/r/mysqlbinlog.result:
        manual merge.
      mysql-test/suite/rpl/t/rpl_sp.test:
        manual merge.
      sql/sp.cc:
        manual merge.
      sql/sp_head.h:
        manual merge.
      99061383
    • unknown's avatar
      Merge pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/clean/mysql-5.1-bugteam · 8eaa55fb
      unknown authored
      into  pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/build_work/test_fix/mysql-5.1-bugteam_35744
      
      
      8eaa55fb
    • unknown's avatar
      Bug#36570: Parse error of CREATE PROCEDURE stmt with comments on \ · 55012e42
      unknown authored
      	slave
      
      The stored-routine code took the contents of the (lowest) parser
      and copied it directly to the binlog, which causes problems if there
      is a special case of interpretation at the parser level -- which 
      there is, in the "/*!VER */" comments.  The trailing "*/" caused
      errors on the slave, naturally.
      
      Now, since by that point we have /properly/ created parse-tree (as 
      the rest of the server should do!) for the stored-routine CREATE, we
      can construct a perfect statement from that information, instead of
      writing uncertain information from an unknown parser state.  
      Fortunately, there's already a function nearby that does exactly 
      that.
      ---
      Update for Bug#36570.  Qualify routine names with db name when
      writing to the binlog ONLY if the source text is qualified.
      
      
      mysql-test/r/binlog_innodb.result:
        Offsets changed due to quoting.
        ---
        New offset to account for db-qualified names.
      mysql-test/r/ctype_cp932_binlog.result:
        Offsets changed due to quoting.
        ---
        Qualify routine names with DB.  Offsets change also.
      mysql-test/r/mysqlbinlog.result:
        Case changed in result due to interpretation of data instead of 
        literal recitation.
        ---
        Qualify procedure name with db.
      mysql-test/r/rpl_sp.result:
        Offsets changed due to quoting.  Added tests.
        ---
        Qualify routine names with DB if qualified in query.  Offsets change also.
      mysql-test/t/rpl_sp.test:
        Add version-limiting quotes to exercise bug#36570.  Test that 
        backtick-quoted identifiers and labels work also.
        ---
        Use different db to show qualification works.  Qualify routine names
        with DB if qualified in query.
      sql/sp.cc:
        In create_string, we may not have a sp_name parameter yet, so
        instead pass the char* and length of the only member we'd get out
        of it.
        
        Having done that, we can use the same function to write the 
        CREATE (FUNC|TRIG|PROC) statement to the binlog as we always used
        to display the statement to the user.
        ---
        Make the db name part of the CREATE string if it is specified.
        
        Specify it in part of writing to the binlog when creating a new
        routine.
      sql/sp_head.cc:
        Set the sp_head m_explicit_name member as the sp_name member is set.  
        We can not peek at this later, as the sp_name is gone by then.
      sql/sp_head.h:
        Add a member to track whether the name is qualified with the 
        database.
      55012e42
    • unknown's avatar
      Merge riska.(none):/home/sven/bkroot/5.1-bugteam · 19e1bc76
      unknown authored
      into  riska.(none):/home/sven/bk/b36433-rpl_insert_id/5.1-bugteam
      
      
      19e1bc76
    • unknown's avatar
      Merge mats-laptop.(none):/home/bkroot/mysql-5.1-bugteam · 439cbe54
      unknown authored
      into  mats-laptop.(none):/home/bk/b36197-mysql-5.1-bugteam
      
      
      439cbe54