1. 01 Dec, 2012 2 commits
    • Libing Song's avatar
      Auto Merge · d10e839a
      Libing Song authored
      d10e839a
    • Libing Song's avatar
      Bug#11764602 ASSERTION IN · e7e9fa59
      Libing Song authored
      FORMAT_DESCRIPTION_LOG_EVENT::CALC_SERVER_VERSION_SPLIT
      
      Problem: When reading a Format_description_log_event, it supposes MySQL
      version is always valid and DBUG_ASSERTION is used check the version number.
      However, user may give a wrong binlog offset, even give a faked binary event
      which includes an invalid MySQL version. This will cause server crash.
      
      Fix: The assertions are removed and an error will be reported if MySQL
      version in Format_description_log_event is invalid.
      e7e9fa59
  2. 30 Nov, 2012 2 commits
  3. 29 Nov, 2012 4 commits
    • Tor Didriksen's avatar
      Bug#11754279 SIGNIFICANT INACCURACY IN DECIMAL MULTIPLICATION CALCULATIONS · b125abec
      Tor Didriksen authored
          frac is the number of decimal digits after the point
      For each multiplication in the expression, decimal_mul() does this:
        to->frac= from1->frac + from2->frac;              /* store size in digits */
      which will eventually overflow.
      The code for handling the overflow, will truncate the two digits in "1.75" to "1"
      
      Solution:
      Truncate to 31 significant fractional digits, when doing decimal multiplication.
      b125abec
    • Venkatesh Duggirala's avatar
      BUG#15888454: SLAVE CRASHES WHEN DML REQUIRES CONVERSION & TABLE HAS · d68cba34
      Venkatesh Duggirala authored
      LESS COLUMNS THAN MASTER
      
      Problem:
      ========
      If DML operation requires a converstion at slave and if slave contains
      less number of columns than master, slave is crashing.
      
      Fix:
      ====
      When Slave applies any DML operation, it sees if any of the columns 
      requires conversion. If yes, it creates conversion table. 
      While creating the coversion table, it should look into the actual number 
      of columns required to create the table instead of getting the number
      of columns from Master (size()). Columns would have dropped or added
      at Slave. So the value should be min(columns@master, columns@slave)
      d68cba34
    • Harin Vadodaria's avatar
      Bug#15912213: BUFFER OVERFLOW IN ACL_GET() · 6a2f2338
      Harin Vadodaria authored
      Description: Null merge.
      6a2f2338
    • Harin Vadodaria's avatar
      Bug#15912213: BUFFER OVERFLOW IN ACL_GET() · bc6287a3
      Harin Vadodaria authored
      Description: A very large database name causes buffer
                   overflow in functions acl_get() and
                   check_grant_db() in sql_acl.cc. It happens
                   due to an unguarded string copy operation.
                   This puts required sanity checks before
                   copying db string to destination buffer.
      bc6287a3
  4. 28 Nov, 2012 5 commits
  5. 26 Nov, 2012 6 commits
  6. 21 Nov, 2012 2 commits
  7. 20 Nov, 2012 4 commits
    • Nuno Carvalho's avatar
      BUG#15891524: RLI_FAKE MODE IS NOT UNSET AFTER BINLOG REPLAY · d0f5427c
      Nuno Carvalho authored
      When a binlog is replayed into a server, e.g.:
        $ mysqlbinlog binlog.000001 | mysql
      it sets a pseudo slave mode on the client connection in order to server
      be able to read binlog events, there is, a format description event is
      needed to correctly read following events.
      Also this pseudo slave mode applies to the current connection
      replication rules that are needed to correctly apply binlog events.
      
      If a binlog dump is sourced on a connection, this pseudo slave mode will
      remains after it, what will apply unexpected rules from customer
      perspective to following commands.
      
      Added a new SET statement to binlog dump that will unset pseudo slave
      mode at the end of dump file.
      d0f5427c
    • sayantan.dutta@oracle.com's avatar
    • Vamsikrishna Bhagi's avatar
      Bug#14463669 FAILURE TO CORRECTLY PARSE ROUTINES IN · e4a6dbd3
      Vamsikrishna Bhagi authored
                         MYSQLDUMP OUTPUT
            
            A patch is pushed on this bug. A result mismatch
            occured for the test main.ddl_i18n_utf8 in
            x86_64 gcov build of linux in pb2. This commit is
            to modify ddl_i18n_utf8.result to match the
            changes made for the bug.
      e4a6dbd3
    • Vamsikrishna Bhagi's avatar
      Bug#14463669 FAILURE TO CORRECTLY PARSE ROUTINES IN · c0157d16
      Vamsikrishna Bhagi authored
                   MYSQLDUMP OUTPUT
      
      A patch is pushed on this bug. A result mismatch
      occured for the test main.ddl_i18n_koi8r in
      x86_64 gcov build of linux in pb2. This commit is
      to modify ddl_i18n_koi8r.result to match the
      changes made for the bug.
      c0157d16
  8. 19 Nov, 2012 2 commits
    • Vamsikrishna Bhagi's avatar
      Bug#14463669 FAILURE TO CORRECTLY PARSE ROUTINES IN · f1e9b721
      Vamsikrishna Bhagi authored
                   MYSQLDUMP OUTPUT
      
      Problem: mysqldump when used with option --routines, dumps
               all the routines of the specified database into
               output. The statements in this output are written
               in such a way that they are version safe using C
               style version commenting (of the format
               /*!<version num> <sql statement>*/). If a semicolon
               is present right before closing of the comment in
               dump output, it results in a syntax error while
               importing.
      
      
      Solution: Version comments for dumped routines are
                specifically to protect the ones older than 5.0.
                When the import is done on 5.0 or later versions,
                entire create statement gets executed as all the
                check conditions at the beginning of the comments
                are cleared. Since the trade off is between the
                performance of newer versions which are more in
                use and protection of very old versions which are
                no longer supported, it is proposed that these
                comments be removed altogether to maintain
                stability of the versions supported.
      f1e9b721
    • Satya Bodapati's avatar
      Bug#14147491 - INFINITE LOOP WHEN OPENING A CORRUPTED TABLE · 64e61199
      Satya Bodapati authored
      This bug is fixed by Bug#14251529. Only testcase from the 
      contribution is used.
      64e61199
  9. 16 Nov, 2012 9 commits
  10. 15 Nov, 2012 4 commits
    • Marko Mäkelä's avatar
      Merge mysql-5.1 to mysql-5.5. · f481e6fa
      Marko Mäkelä authored
      f481e6fa
    • Marko Mäkelä's avatar
      Bug#15872736 FAILING ASSERTION · 26226e34
      Marko Mäkelä authored
      Remove a bogus debug assertion.
      26226e34
    • Marko Mäkelä's avatar
      Merge mysql-5.1 to mysql-5.5. · 49b51dd2
      Marko Mäkelä authored
      49b51dd2
    • Marko Mäkelä's avatar
      Bug#15874001 CREATE INDEX ON A UTF8 CHAR COLUMN FAILS WITH ROW_FORMAT=REDUNDANT · 2bb6cefa
      Marko Mäkelä authored
      CHAR(n) in ROW_FORMAT=REDUNDANT tables is always fixed-length
      (n*mbmaxlen bytes), but in the temporary file it is variable-length
      (n*mbminlen to n*mbmaxlen bytes) for variable-length character sets,
      such as UTF-8.
      
      The temporary file format used during index creation and online ALTER
      TABLE is based on ROW_FORMAT=COMPACT. Thus, it should use the
      variable-length encoding even if the base table is in
      ROW_FORMAT=REDUNDNAT.
      
      dtype_get_fixed_size_low(): Replace an assertion-like check with a
      debug assertion.
      
      rec_init_offsets_comp_ordinary(), rec_convert_dtuple_to_rec_comp():
      Make this an inline function.  Replace 'ulint extra' with 'bool temp'.
      
      rec_get_converted_size_comp_prefix_low(): Renamed from
      rec_get_converted_size_comp_prefix(), and made inline. Add the
      parameter 'bool temp'. If temp=true, do not add REC_N_NEW_EXTRA_BYTES.
      
      rec_get_converted_size_comp_prefix(): Remove the comment about
      dict_table_is_comp(). This function is only to be called for other
      than ROW_FORMAT=REDUNDANT records.
      
      rec_get_converted_size_temp(): New function for computing temporary
      file record size. Omit REC_N_NEW_EXTRA_BYTES from the sizes.
      
      rec_init_offsets_temp(), rec_convert_dtuple_to_temp(): New functions,
      for operating on temporary file records.
      
      rb:1559 approved by Jimmy Yang
      2bb6cefa