1. 03 Nov, 2010 7 commits
  2. 02 Nov, 2010 10 commits
    • unknown's avatar
      Null merge mysql-5.1-innodb to mysql-5.5-innodb" · 2dd52f55
      unknown authored
      2dd52f55
    • unknown's avatar
      In this patch, existing tests innodb_bug54679.test and innodb_bug56632.test are · c49d75fe
      unknown authored
      removed and replaced by the comprehensive innodb-create-options.test.
      It uses the rules listed in the comments at the top of that test.
        
      This patch introduces these differences from previous behavior;
      1)  KEY_BLOCK_SIZE=0 is allowed by Innodb in both strict and non-strict mode
      with no errors or warnings. It was previously used by the server to set 
      KEY_BLOCK_SIZE to undefined.  (Bug#56628)
      2)  An explicit valid non-DEFAULT ROW_FORMAT always takes priority over a
      valid KEY_BLOCK_SIZE. (bug#56632)
      3)  Automatic use of COMPRESSED row format is only done if the ROW_FORMAT
      is DEFAULT or unspecified.
      4)  ROW_FORMAT=FIXED is prevented in strict mode.
      
      This patch also includes various formatting changes for consistency with
      InnoDB coding standards.
      
      Related Bugs
      Bug#54679: ALTER TABLE causes compressed row_format to revert to compact
      Bug#56628: ALTER TABLE .. KEY_BLOCK_SIZE=0 produces untrue warning or unnecessary error
      Bug#56632: ALTER TABLE implicitly changes ROW_FORMAT to COMPRESSED
      c49d75fe
    • unknown's avatar
      In this patch, existing tests innodb_bug54679.test and innodb_bug56632.test are · 3d206d2a
      unknown authored
      removed and replaced by the comprehensive innodb-create-options.test.
      It uses the rules listed in the comments at the top of that test.
        
      This patch introduces these differences from previous behavior;
      1)  KEY_BLOCK_SIZE=0 is allowed by Innodb in both strict and non-strict mode
      with no errors or warnings. It was previously used by the server to set 
      KEY_BLOCK_SIZE to undefined.  (Bug#56628)
      2)  An explicit valid non-DEFAULT ROW_FORMAT always takes priority over a
      valid KEY_BLOCK_SIZE. (bug#56632)
      3)  Automatic use of COMPRESSED row format is only done if the ROW_FORMAT
      is DEFAULT or unspecified.
      4)  ROW_FORMAT=FIXED is prevented in strict mode.
      
      This patch also includes various formatting changes for consistency with
      InnoDB coding standards.
      
      Related Bugs
      Bug#54679: ALTER TABLE causes compressed row_format to revert to compact
      Bug#56628: ALTER TABLE .. KEY_BLOCK_SIZE=0 produces untrue warning or unnecessary error
      Bug#56632: ALTER TABLE implicitly changes ROW_FORMAT to COMPRESSED
      3d206d2a
    • unknown's avatar
      Merge · efe1a699
      unknown authored
      efe1a699
    • unknown's avatar
      Bug#57904 - Only one INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS was displayed · 7e024cfc
      unknown authored
      per table from Innodb
      7e024cfc
    • Vasil Dimov's avatar
      Merge mysql-5.1-innodb -> mysql-5.5-innodb · 4563e697
      Vasil Dimov authored
      4563e697
    • Vasil Dimov's avatar
      Increment InnoDB Plugin version to 1.0.14. · 6eb94aa3
      Vasil Dimov authored
      InnoDB Plugin 1.0.13 has been released with MySQL 5.1.52.
      6eb94aa3
    • Marko Mäkelä's avatar
      8cc94036
    • Marko Mäkelä's avatar
      Bug#57799 READ UNCOMMITTED access failure of off-page DYNAMIC or COMPRESSED · e0422b55
      Marko Mäkelä authored
      columns again
      
      This is follow-up to Bug #54358. Not all occurrences of the bug were fixed.
      We need to check all calls to btr_copy_externally_stored_field_prefix_low()
      and do the right thing when the pointer to the off-page column is null
      (full of zero bytes).
      
      It turns out that only the call to btr_copy_externally_stored_field_prefix()
      in row_sel_sec_rec_is_for_blob() needs to be changed.
      
      For fetching complete off-page columns rather than prefixes, the function
      btr_rec_copy_externally_stored_field() already checks if the pointer
      is null (all-zero).  Two of its callers (row_merge_copy_blobs() and
      row_sel_fetch_columns()) are never executed as READ COMMITTED and can
      rightfully assert that the fetch succeeded.  The third caller,
      row_sel_store_mysql_rec(), already does the right thing.
      
      The calls in row_upd_ext_fetch() and trx_undo_page_fetch_ext() must
      expect that the off-page column exists. Update and rollback are
      locking operations, never READ UNCOMMITTED.
      e0422b55
    • Marko Mäkelä's avatar
      de224c84
  3. 01 Nov, 2010 2 commits
  4. 29 Oct, 2010 1 commit
  5. 28 Oct, 2010 5 commits
    • Vasil Dimov's avatar
      Fix a compilation warning: · 03c278e3
      Vasil Dimov authored
      /export/home/pb2/build/sb_0-2459340-1288264809.63/mysql-5.5.8-ga/storage/innobase/os/os0sync.c: In function 'os_cond_wait_timed':
      /export/home/pb2/build/sb_0-2459340-1288264809.63/mysql-5.5.8-ga/storage/innobase/os/os0sync.c:184: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'time_t'
      gmake[2]: *** [storage/innobase/CMakeFiles/innobase.dir/os/os0sync.c.o] Error 1 
      03c278e3
    • Calvin Sun's avatar
      8c9a6e4e
    • Calvin Sun's avatar
      Bug#52062: Compiler warning in os0file.c on windows 64-bit · a5577e35
      Calvin Sun authored
      On Windows, the parameter for number of bytes passed into WriteFile()
      and ReadFile() is DWORD. Casting is needed to silence the warning on
      64-bit Windows.
      
      Also, adding several asserts to ensure the variable for number of bytes
      is no more than 32 bits, even on 64-bit Windows.
      
      rb://415
      Approved by: Inaam
      a5577e35
    • Calvin Sun's avatar
      Bug#52062: Compiler warning in os0file.c on windows 64-bit · da1e3612
      Calvin Sun authored
      On Windows, the parameter for number of bytes passed into WriteFile()
      and ReadFile() is DWORD. Casting is needed to silence the warning on
      64-bit Windows.
      
      Also, adding several asserts to ensure the variable for number of bytes
      is no more than 32 bits, even on 64-bit Windows.
      
      This is for InnoDB Plugin.
      
      rb://415
      Approved by: Inaam
      da1e3612
    • Calvin Sun's avatar
      Bug#52062: Compiler warning in os0file.c on windows 64-bit · e0e2446d
      Calvin Sun authored
      On Windows, the parameter for number of bytes passed into WriteFile()
      and ReadFile() is DWORD. Casting is needed to silence the warning on
      64-bit Windows.
      
      Also, adding several asserts to ensure the variable for number of bytes
      is no more than 32 bits, even on 64-bit Windows.
      
      This is for built-in InnoDB.
      
      rb://415
      Approved by: Inaam
      e0e2446d
  6. 27 Oct, 2010 9 commits
  7. 26 Oct, 2010 4 commits
    • Inaam Rana's avatar
      Bug #57611 ibdata file and continuous growing undo logs · 153677e4
      Inaam Rana authored
        rb://498
        
        Fix handling of update_undo_logs at trx commit. Previously, when
        rseg->update_undo_list grows beyond 500 the update_undo_logs were
        marked with state TRX_UNDO_TO_FREE which should have been
        TRX_UNDO_TO_PURGE.
        In 5.5 we don't need the heuristic as we support multiple rollback
        segments.
        
        Approved by: Sunny Bains
      153677e4
    • Inaam Rana's avatar
      3a041b98
    • Inaam Rana's avatar
      Bug #57611 ibdata file and continuous growing undo logs · ae1d6c3e
      Inaam Rana authored
      rb://498
      
      Fix handling of update_undo_logs at trx commit. Previously, when
      rseg->update_undo_list grows beyond 500 the update_undo_logs were
      marked with state TRX_UNDO_TO_FREE which should have been
      TRX_UNDO_TO_PURGE.
      
      Approved by: Sunny Bains
      ae1d6c3e
    • unknown's avatar
      Bug#57720 - Windows Vista and possibly Windows 7 can return ERROR_TIMEOUT... · d093b159
      unknown authored
      Bug#57720 - Windows Vista and possibly Windows 7 can return ERROR_TIMEOUT instead of WAIT_TIMEOUT from calls to SleepConditionVariableCS() which is used in os0sync.c; os_cond_wait_timeout() where it is mapped to sleep_condition_variable().   
      
      Consider ERROR_TIMEOUT to be a timeout just like WAIT_TIMEOUT.  
      
      In addition, test for EINTR as a possible return value from pthread_cond_timeout() in the posix section of os_cond_wait_timeout(), even though it is not supposed to be returned, but just to be safe.
      d093b159
  8. 25 Oct, 2010 1 commit
    • Georgi Kodinov's avatar
      Bug #57689: mysql_change_user() breaks user connection on older clients · 819607e8
      Georgi Kodinov authored
      COM_CHANGE_USER was always handled like an implicit request to change the
      client plugin, so that the client can re-use the same code path for both normal 
      login and COM_CHANGE_USER. However this doesn't really work well with old 
      clients because they don't understand the request to change a client plugin.
      
      Fixed by implementing a special state in the code (and old client issuing 
      COM_CHANGE_USER). In this state the server parses the COM_CHANGE_USER 
      package and pushes back the password hash, the user name and the database 
      to the input stream in the same order that the native password server side plugin 
      expects. As a result it replies with an OK/FAIL just like the old server does thus
      making the new server compatible with older clients.
      
      No test case added, since it would requre an old client binary. Tested using 
      accounts with and without passwords. Tested with a correct and incorrect 
      password.
      819607e8
  9. 27 Oct, 2010 1 commit