1. 09 Mar, 2009 10 commits
  2. 06 Mar, 2009 5 commits
    • Tatiana A. Nurnberg's avatar
      manual merge · 8948feb8
      Tatiana A. Nurnberg authored
      8948feb8
    • Kristofer Pettersson's avatar
      Manual merge · e327e572
      Kristofer Pettersson authored
      e327e572
    • He Zhenxing's avatar
      7f8c5d72
    • He Zhenxing's avatar
      Auto merge · a8bc9544
      He Zhenxing authored
      a8bc9544
    • He Zhenxing's avatar
      BUG#22082 Slave hangs(holds mutex) on "disk full" · 5e6bb207
      He Zhenxing authored
      When disk is full, server may waiting for free space while
      writing binlog, relay-log or MyISAM tables. The server will 
      continue after user have freed some space. But the error
      message printed was not quite clear about the how often the
      error message is printed, and there will be a delay before
      the server continue and user freeing space. And caused users
      thinking that the server was hanging forever.
      
      This patch fixed the problem by making the error messages
      printed more clear. The error message is split into two part,
      the first part will only be printed once, and the second part
      will be printed very 10 times.
      
      Message first part:
      Disk is full writing '<filename>' (Errcode: <errorno>). Waiting
      for someone to free space... (Expect up to 60 secs delay for 
      server to continue after freeing disk space)
      
      Message second part:
      Retry in 60 secs, Message reprinted in 600 secs
      5e6bb207
  3. 05 Mar, 2009 9 commits
    • Luis Soares's avatar
      BUG#39753: Replication failure on MIXED + bit + myisam + no PK · dd10b841
      Luis Soares authored
                                
      When using mixed mode the record values stored inside the storage
      engine differed from the ones computed from the row event. This
      happened because the prepare_record function was calling
      empty_record macro causing some don't care bits to be left set.
                                
      Replacing the empty_record plus explicitly setting defaults with 
      restore_record to restore the record default values fixes this.                          
      dd10b841
    • Tatiana A. Nurnberg's avatar
      Bug#40657: assertion with out of range variables and traditional sql_mode · 73726bed
      Tatiana A. Nurnberg authored
      Some changes that make things more elegant in 6.0,
      backported so the code is mostly the same in 5.1,
      for easier maintainence.
      
      sql/set_var.cc:
        Backporting some changes to 5.1 so the code is
        mostly the same in both versions. Less to learn!
      73726bed
    • Sergey Glukhov's avatar
      removed unused variable · 7dfc8818
      Sergey Glukhov authored
      7dfc8818
    • Kristofer Pettersson's avatar
      Bug#40363 Bug 20023 is not fixed on 5.0 · ef07bea3
      Kristofer Pettersson authored
      This is a back port from 5.1 to 5.0.
      
      Fix for BUG 20023: mysql_change_user() resets the value
      of SQL_BIG_SELECTS.
        
      The bug was that SQL_BIG_SELECTS was not properly set
      in COM_CHANGE_USER.
        
      The fix is to update SQL_BIG_SELECTS properly.
      
      
      
      sql/sql_class.cc:
        Update THD::options with the respect to SQL_BIG_SELECTS
        in COM_CHANGE_USER.
      tests/mysql_client_test.c:
        Add a test case BUG#20023.
      ef07bea3
    • Sergey Glukhov's avatar
      automerge · 9853ddff
      Sergey Glukhov authored
      9853ddff
    • Guangbao Ni's avatar
      Auto merged · 315d5f8e
      Guangbao Ni authored
      315d5f8e
    • Guangbao Ni's avatar
      BUG#41980 SBL, INSERT .. SELECT .. LIMIT = ERROR, even when @@SQL_LOG_BIN is 0 ! · 7c7e1a2c
      Guangbao Ni authored
            
      When binlog_format is STATEMENT and the statement is unsafe before,
      the unsafe warning/error message was issued without checking
      whether the SQL_LOG_BIN was turned on or not.
            
      Fixed with adding a sql_log_bin_toplevel flag in THD to check
      whether SQL_LOG_BIN is ON in current session whatever the current is in sp or not.
      
      
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        Test case result for unsafe warning/error message
      mysql-test/suite/binlog/t/binlog_unsafe.test:
        Test case for unsafe message warning/error
      sql/set_var.cc:
        Adding a function set_option_log_bin_bit() which specailly handles to
        the change of SQL_LOG_BIN bit in order to set sql_log_bin_toplevel
        according to SQL_LOG_BIN current value at the same time.
      sql/sql_class.cc:
        Initialize the flag sql_log_bin_toplevel in THD::init(),
        and add the condition to check whether unsafe ror message was issued.
      sql/sql_class.h:
        Add a sql_log_bin_toplevel flag in THD to indicate whether the toplevel SQL_LOG_BIN is
      7c7e1a2c
    • Sergey Glukhov's avatar
      Bug#41030 Wrong meta data (incorrect fieldlen) · acc96397
      Sergey Glukhov authored
      set user variable max length on
      fix_length_and_dec() stage
      using real value length.
      
      
      mysql-test/r/variables.result:
        test result
      mysql-test/t/variables.test:
        test case
      sql/item_func.cc:
        set user variable max length on
        fix_length_and_dec() stage
        using real value length.
      acc96397
    • Davi Arnaut's avatar
      Bug#41465: confusing error message when comment is too long · 404fa444
      Davi Arnaut authored
      The problem was that the server was trying to use the unknown
      error format string (ER_UNKNOWN_ERROR) to print messages about
      comments being too long, but the said format string does not
      accept arguments and will always default to "Unknown error".
      
      The solution is to introduce new error messages which are
      specific to the error conditions so that server wants to
      signal -- this also means that it's possible to translate
      those messages.
      
      mysql-test/r/strict.result:
        Update test case result.
      mysql-test/t/strict.test:
        Update test case with new errors.
      sql/share/errmsg.txt:
        Introduce new errors for long comments.
      sql/unireg.cc:
        Use new errors.
      404fa444
  4. 06 Mar, 2009 3 commits
  5. 05 Mar, 2009 9 commits
    • Kristofer Pettersson's avatar
      Automerge · 4ec65869
      Kristofer Pettersson authored
      4ec65869
    • Kristofer Pettersson's avatar
      Bug#39843 DELETE requires write access to table in subquery in where clause · 9a2bab80
      Kristofer Pettersson authored
      An unnecessarily restrictive lock were taken on sub-SELECTs during DELETE.
      
      During parsing, a global structure is reused for sub-SELECTs and the attribute
      keeping track of lock options were not reset properly.
      This patch introduces a new attribute to keep track on the syntactical lock
      option elements found in a sub-SELECT and then sets the lock options accordingly.
      
      Now the sub-SELECTs will try to acquire a READ lock if possible
      instead of a WRITE lock as inherited from the outer DELETE statement.
      
      
      mysql-test/r/lock.result:
        Added test case for bug39843
      mysql-test/t/lock.test:
        Added test case for bug39843
      sql/sql_lex.cc:
        * Reset member variable lock_option on each new query.
      sql/sql_lex.h:
        * Introduced new member variable 'lock_option' which is keeping track
          of the syntactical lock option of a (sub-)select query.
      sql/sql_parse.cc:
        * Wrote comments to functions.
      sql/sql_yacc.yy:
        * Introduced an attribute to keep track of syntactical lock options
          in sub-selects.
        * Made sure that the default value TL_READ_DEFAULT is at the begining
          of each subselect-rule.
      9a2bab80
    • Sergey Glukhov's avatar
      Bug#42758 INFORMATION_SCHEMA.COLUMNS is inconsistent · 1773fe6c
      Sergey Glukhov authored
      remove 'unsigned', 'zerofill' attributes
      from DATA_TYPE column value.
      
      
      mysql-test/suite/funcs_1/r/is_columns_innodb.result:
        result fix
      mysql-test/suite/funcs_1/r/is_columns_memory.result:
        result fix
      mysql-test/suite/funcs_1/r/is_columns_myisam.result:
        result fix
      sql/sql_show.cc:
        remove 'unsigned', 'zerofill' attributes 
        from DATA_TYPE column value.
      1773fe6c
    • Kristofer Pettersson's avatar
      Bug#37416 When SQL_NO_CACHE is used, MySQL still lookup into the query cache · 42b04fb1
      Kristofer Pettersson authored
                  
      The query cache module did not check for the SQL_NO_CACHE keyword before
      attempting to query the hash lookup table. This had a small performance impact.
      
      By introducing a check on the query string before obtaining the hash mutex
      we can gain some performance if the SQL_NO_CACHE directive is used often.
      
      
      sql/sql_cache.cc:
        * Introduced new helper function, has_no_cache_directive, for checking the
          existance of a SQL_NO_CACHE directive before actual parsing of the query.
      42b04fb1
    • He Zhenxing's avatar
      Auto merge · 2c553018
      He Zhenxing authored
      2c553018
    • He Zhenxing's avatar
    • He Zhenxing's avatar
      BUG#37051 Replication rules not evaluated correctly · 91cb65a6
      He Zhenxing authored
      Backporting patch to 5.0.
      91cb65a6
    • Narayanan V's avatar
      Bug#42790 Test 'main.innodb' fails from "InnoDB: Error: in ALTER TABLE" · 91c7c703
      Narayanan V authored
            
      The problem here seem to be that when mysql
      is redirecting stderr to a file, stderr becomes 
      buffered, whereas it is unbuffered by definition.
      
      The solution is to unbuffer it by setting buffer
      to null.
      
      sql/log.cc:
        use setbuf(stderr, NULL) to set the buffer to null.
      sql/mysqld.cc:
        use setbuf(stderr, NULL) to set the buffer to null.
      91c7c703
    • Staale Smedseng's avatar
      Addendum to previous patch for Bug#29458. A number · 5c863d7c
      Staale Smedseng authored
      of system errnos when opening a table are masked 
      as ER_FILE_NOT_FOUND. This patch handles this as
      "Operation failed" as well.
      5c863d7c
  6. 04 Mar, 2009 4 commits