1. 26 Aug, 2014 1 commit
  2. 25 Aug, 2014 2 commits
    • Annamalai Gurusami's avatar
      Bug #19471516 SERVER CRASHES WHEN EXECUTING ALTER TABLE ADD FOREIGN KEY · f97dfa81
      Annamalai Gurusami authored
      Problem:
      
      We maintain two rb trees in each dict_table_t.  The foreign_rbt must be in
      sync with foreign_list.  The referenced_rbt must be in sync with
      referenced_list. There is one function which checks this consistency and it
      failed, resulting in an assert failure.
      
      The root cause of the problem was identified that the search order was 
      lost in the referenced_rbt.  This is because while renaming the table,
      we didn't not refresh this referenced_rbt.
      
      Solution:
      
      When a foreign key is renamed, we must delete and re-insert into both
      foreign_rbt and referenced_rbt.  
      
      rb#6412 approved by Jimmy.
      f97dfa81
    • murthy.narkedimilli@oracle.com's avatar
  3. 23 Aug, 2014 1 commit
  4. 21 Aug, 2014 1 commit
    • Tor Didriksen's avatar
      Bug#18928848 II. MALLOC OF UNINITIALIZED MEMORY SIZE · 63a6af32
      Tor Didriksen authored
      Several string functions have optimizations for constant
      sub-expressions which lead to setting max_length == 0.
      
      For subqueries, where we need a temporary table to holde the result,
      we need to ensure that we use a VARCHAR(0) column rather than a
      CHAR(0) column when such expressions take part in grouping.
      With CHAR(0) end_update() may write garbage into the next field.
      63a6af32
  5. 20 Aug, 2014 1 commit
  6. 12 Aug, 2014 6 commits
  7. 06 Aug, 2014 2 commits
  8. 04 Aug, 2014 1 commit
  9. 01 Aug, 2014 2 commits
    • Venkata Sidagam's avatar
      Bug #18415196 MYSQL_UPGRADE DUPLICATE KEY ERROR FOR MYSQL.USER FOR 5.5.35+, 5.6.15+, 5.7.3+ · 7d904273
      Venkata Sidagam authored
      Follow-up patch. Removed unwanted code.
      7d904273
    • Venkata Sidagam's avatar
      Bug #18415196 MYSQL_UPGRADE DUPLICATE KEY ERROR FOR MYSQL.USER FOR 5.5.35+, 5.6.15+, 5.7.3+ · 7879b3ee
      Venkata Sidagam authored
      Description: mysql_upgrade fails with below error, 
      when there are duplicate entries(like 'root'@'LOCALHOST'
      and 'root'@'localhost') in mysql.user table.
      ERROR 1062 (23000) at line 1140: Duplicate entry 'localhost-root' for key 'PRIMARY'
      FATAL ERROR: Upgrade failed
      
      Analysis: As part of the bug 12917151 fix we are 
      making all the hostnames as lower case hostnames.
      So, this has been done by mysql_upgrade.
      In case of above mentioned duplicate entries 
      mysql_upgrade tries to change hostname to lowercase.
      Since there is already 'root'@'localhost' exists.
      it is failing with "duplicate entry" error.
      
      Fix: Since its a valid error failure. We are 
      making the error more verbose. So, that user will
      delete the duplicate errors manually.
      Along with existing error we are printing below
      error as well.
      ERROR 1644 (45000) at line 1153: Multiple accounts exist for @user_name, @host_name that differ only in Host lettercase; remove all except one of them
      7879b3ee
  10. 31 Jul, 2014 2 commits
  11. 28 Jul, 2014 1 commit
  12. 24 Jul, 2014 1 commit
  13. 21 Jul, 2014 1 commit
    • Venkata Sidagam's avatar
      Bug #17297324 GLIBC DOUBLE FREE OR CORRUPTION WHEN KILLING CLIENT; CTRL+C · c20c135a
      Venkata Sidagam authored
      Description: Sometimes when killing the mysql command line client with
      KILL -2(SIGINT), mysql client core dumps as a result of a double free or
      corruption.
      
      Analysis: When we run the mysql client in command line mode it will goes
      to mysql_end() and frees many data structures. At the same time (i.e
      after some data structures are freed), if we give "KILL -2" signal then
      the signal will be handled with function handle_kill_signal() and as
      part of it will again calls mysql_end() and goes with free() to the
      already freed data structure for batch_readline_end() function, which
      causes core dump.
      
      Fix: Ignoring SIGQUIT and SIGINT signals when cleanup process starts.
      This will help in resolving the double free issues, which occurs 
      in case the signal handler function is started in between of the 
      clean up function.
      For 5.6 we need to ignore SIGHUP also.
      c20c135a
  14. 19 Jul, 2014 1 commit
  15. 18 Jul, 2014 1 commit
  16. 17 Jul, 2014 2 commits
    • Ashish Agarwal's avatar
      46cdff8b
    • Praveenkumar Hulakund's avatar
      Bug#14757009: WHEN THE GENERAL_LOG IS A SOCKET AND THE READER · cd4fb2ae
      Praveenkumar Hulakund authored
                    GOES AWAY, MYSQL QUITS WORKING.
      
      Analysis:
      -----------------
      Issue in this bug and in bug 11907705 is, the socket file or
      fifo file is set for general log at command line while starting
      the server. But currently, only regular file can be set for the 
      general log. Instead of reporting any error, the provided files
      are opened for writing and continued. Because of this issues
      mentioned in the bug reports are seen.
      
      As mentioned, only when any non-regular file is set for general
      log at command line while starting the server, these issues are
      seen. If general log file is set to non-regular file from CLI
      using system variable general_log_file then error is reported.
      
      These issues can also be faced with slow query log file, if it is
      set to non-regular file.
      
      Fix:
      -----------------
      Currently while starting the server if we fail to open log file
      then we report an error, disable logging to file and continue.
      To fix issue reported code is modified to check whether file
      is regular file or not before opening it. If file is not a 
      regular file then error is logged to error log and logging to 
      file is disabled.
      cd4fb2ae
  17. 09 Jul, 2014 3 commits
  18. 08 Jul, 2014 3 commits
  19. 07 Jul, 2014 1 commit
  20. 03 Jul, 2014 3 commits
    • Ashish Agarwal's avatar
      WL#7219: Implement audit filter · 61a79e5e
      Ashish Agarwal authored
      61a79e5e
    • Chaithra Reddy's avatar
      Bug#18469276: MOD FOR SMALL DECIMALS FAILS · 57fc0240
      Chaithra Reddy authored
            
      Problem:
      If leading zeroes of fractional part of a decimal
      number exceeds 45, mod operation on the same fails.
            
      Analysis:
      Currently there is a miscalcultion of fractional
      part for very small decimals in do_div_mod.
            
      For ex:
      For 0.000(45 times).....3
      length of the integer part becomes -5 (for a length of one,
      buffer can hold 9 digits. Since number of zeroes are 45, integer
      part becomes 5) and it is negative because of the leading
      zeroes present in the fractional part.
      Fractional part is the number of digits present after the
      point which is 46 and therefore rounded off to the nearest 9
      multiple which is 54. So the length of the resulting fractional
      part becomes 6.
            
      Because of this, the combined length of integer part and fractional
      part exceeds the max length allocated which is 9 and thereby failing.
            
      Solution:
      In case of negative integer value, it indicates there are
      leading zeroes in fractional part. As a result stop1 pointer 
      should be set not just based on frac0 but also intg0. This is
      because the detination buffer will be filled with 0's for the length
      of intg0.
      57fc0240
    • Annamalai Gurusami's avatar
      Bug #19140907 DUPLICATES IN UNIQUE SECONDARY INDEX BECAUSE OF FIX OF BUG#68021 · 76e690fb
      Annamalai Gurusami authored
      Problem:
      
      When a unique secondary index is scanned for duplicate checking, gap locks
      were not taken if the transaction had isolation level <= READ COMMITTED. 
      This change was done while fixing Bug #16133801 UNEXPLAINABLE INNODB UNIQUE
      INDEX LOCKS ON DELETE + INSERT WITH SAME VALUES (rb#2035). Because of this
      the duplicate check logic failed, and resulted in duplicate values in unique
      secondary index.
      
      Solution:
      
      When a unique secondary index is scanned for duplicate checking, gap locks
      must be taken irrespective of the transaction isolation level.  This is
      achieved by reverting rb#2035.
      
      rb#5910 approved by Jimmy
      76e690fb
  21. 02 Jul, 2014 3 commits
    • Arun Kuruvila's avatar
      Bug#17873011 NO DEPRECATION WARNING FOR THREAD_CONCURRENCY · cf50d1e6
      Arun Kuruvila authored
      Description:
      THREAD_CONCURRENCY is deprecated and there is no 
      deprecation warning message while setting this variable
      while starting the server.
      
      Analysis:
      This variable is specific to Solaris 8 and earlier systems
      and is ignored on all other platforms. But since many 
      customers, who uses other than Solaris, still has this 
      variable in their configuration file, it is important to
      have a deprecation warning.
      
      Fix:
      THREAD_CONCURRENCY deprecation warning message is added.
      cf50d1e6
    • Marcin Babij's avatar
      BUG#18779944: MYSQLDUMP BUFFER OVERFLOW · 43268d20
      Marcin Babij authored
      Mysqldump overflows stack buffer when copying table name from commandline arguments resulting in stack corruption and ability to execute arbitrary code.
      
      Fix: Check length of all positional arguments passed to mysqldump is smaller than NAME_LEN.
      Note: Mysqldump heavily depends on that database objects (databases, tablespaces, tables, etc) are limited to small size (now it is 64).
      43268d20
    • Bjorn Munch's avatar
  22. 01 Jul, 2014 1 commit