1. 04 Aug, 2010 3 commits
    • Michael Widenius's avatar
      Fixes bug when we run bcmp() on row when the storage engine hasn't filled in all fields in the row. · cd9706b2
      Michael Widenius authored
      This was triggered by innodb.innodb_multi_update, where we had a static length row without nulls and xtradb didn't fill in the delete-marker byte
      
      
      include/my_bitmap.h:
        Added prototype for bitmap_union_is_set_all()
      mysys/my_bitmap.c:
        Added function to check if union of two bit maps covers all bits.
      sql/mysql_priv.h:
        Updated protype for compare_record()
      sql/sql_insert.cc:
        Send to compare_record() flag if all fields are used.
      sql/sql_select.cc:
        Set share->null_bytes_for_compare.
      sql/sql_update.cc:
        In compare_record() don't use the fast cmp_record() (which is basically memcmp) if we don't know that all fields exists.
        Don't compare the null_bytes if there is no data there.
      sql/table.cc:
        Store in share->null_bytes_for_compare the number of bytes that has null or bit fields (but not delete marker)
        Store in can_cmp_whole_record if we can use memcmp() (assuming all rows are read) to compare rows in compare_record()
      sql/table.h:
        Added two elements in table->share to speed up checking how updated rows can be compared.
      cd9706b2
    • unknown's avatar
      34e0c8f4
    • unknown's avatar
      3f1c763a
  2. 03 Aug, 2010 1 commit
  3. 02 Aug, 2010 4 commits
    • Michael Widenius's avatar
      Fixed warnings and build failures after last push · a74d0467
      Michael Widenius authored
      Speed up some PBXT tests by adding begin...commit around creating of testing tables.
      
      include/my_base.h:
        Fixed wrong constant
      mysql-test/mysql-test-run.pl:
        Print MariaDB instead of MySQL
      mysql-test/r/range.result:
        Move test that required partitions to parts.optimizer
      mysql-test/suite/innodb_plugin/t/disabled.def:
        Disable test that causes valgrind warning about not released memory in xtradb
      mysql-test/suite/parts/r/optimizer.result:
        Moved from range.result
      mysql-test/suite/parts/t/optimizer.test:
        Moved from range.test
      mysql-test/suite/pbxt/r/join_nested.result:
        Updated results after optimizer changes
      mysql-test/suite/pbxt/r/renamedb.result:
        Updated test for new error message
      mysql-test/suite/pbxt/t/check.test:
        Speed up test
      mysql-test/suite/pbxt/t/count_distinct2.test:
        Speed up test
      mysql-test/suite/pbxt/t/derived.test:
        Speed up test
      mysql-test/suite/pbxt/t/renamedb.test:
        Updated test for new error message
      mysql-test/suite/rpl/r/rpl_log_pos.result:
        Updated results
      mysql-test/suite/rpl/t/rpl_log_pos.test:
        Update test to read from a position that has 'known wrong' data.
        The orignal test read a timestamp, so the error message could differ between runs.
      mysql-test/suite/rpl/t/rpl_temporary_errors.test:
        Sync to slave to make test predictable
      mysql-test/t/events_time_zone.test:
        Extend wait to make test predictable
      mysql-test/t/range.test:
        Move test that required partitions to parts.optimizer
      sql/sql_list.h:
        Fixed compiler warning
      sql/sql_load.cc:
        buffer was not freed in some error conditions
      tests/mysql_client_test.c:
        Fixed compiler warning
      a74d0467
    • Michael Widenius's avatar
      Merge with MariaDB main · 80204e05
      Michael Widenius authored
      80204e05
    • Michael Widenius's avatar
      Disable some tests that is waiting for next merge with xtradb · 8cacc59e
      Michael Widenius authored
      Added 'Aria' as an alias for the Maria storage engine. Real rename is happening in 5.2
      
      sql/handler.cc:
        Added 'Aria' as an alias for the Maria storage engine.
      8cacc59e
    • Michael Widenius's avatar
      Merge with MySQL 5.1.49 · e0a6b02c
      Michael Widenius authored
      Fixed Bug#52005 'JOIN_TAB->dependent' may be incorrectly propageted for multilevel outer joins' in a better way (patch from Sergey Petrunya)
      e0a6b02c
  4. 30 Jul, 2010 1 commit
    • Michael Widenius's avatar
      Fix for LP#602604: RQG: ma_blockrec.c:6187:... · d2f8b7d0
      Michael Widenius authored
      Fix for LP#602604: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery
      More DBUG_PRINT (to simplify future debugging)
      Aria: Added STATE_IN_REPAIR, which is set on start of repair. This allows us to see if 'crashed' flag was set intentionally.
      Aria: Some trivial speedup optimization
      Aria: Better warning if table was marked crashed by unfinnished repair
      
      
      mysql-test/lib/v1/mysql-test-run.pl:
        Fix so one can run RQG
      mysql-test/suite/maria/r/maria-recovery2.result:
        Update for new error message.
      mysys/stacktrace.c:
        Fixed compiler warning
      storage/maria/ha_maria.cc:
        More DBUG_PRINT
        Added STATE_IN_REPAIR flag, which is set on start of repair. This allows us to see if 'crashed' flag was set intentionally.
        Don't log query for dropping temporary table.
      storage/maria/ha_maria.h:
        Added prototype for drop_table()
      storage/maria/ma_blockrec.c:
        More DBUG_PRINT
        Make read_long_data() inline for most cases. (Trivial speedup optimization)
      storage/maria/ma_check.c:
        Better warning if table was marked crashed by unfinnished repair
      storage/maria/ma_open.c:
        More DBUG_PRINT
      storage/maria/ma_recovery.c:
        Give warning if found crashed table.
        Changed warning for tables that can't be opened.
      storage/maria/ma_recovery_util.c:
        Write warnings to DBUG file
      storage/maria/maria_chk.c:
        Added STATE_IN_REPAIR flag, which is set on start of repair. This allows us to see if 'crashed' flag was set intentionally.
      storage/maria/maria_def.h:
        Added maria_mark_in_repair(x)
      storage/maria/maria_read_log.c:
        Added option: --character-sets-dir
      storage/maria/trnman.c:
        By default set min_read_from to max value.
        This allows us to remove TRN:s from rows during recovery to get more space.
        This fixes bug LP#602604: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery
      d2f8b7d0
  5. 24 Jul, 2010 1 commit
  6. 23 Jul, 2010 1 commit
  7. 16 Jul, 2010 2 commits
    • Michael Widenius's avatar
      Fixed wrong error message from federatedx (which could lead to assert in DBUG code) · 24c08f52
      Michael Widenius authored
      mysql-test/suite/federated/federated_server.result:
        Update to new error message
      mysql-test/suite/federated/federated_server.test:
        Update to new error message
      storage/federatedx/ha_federatedx.cc:
        Return real error code, not 0, as in some cases before.
      24c08f52
    • Michael Widenius's avatar
      mysql client: Ignore --comments at start of command line. This allows one to... · 9f96097a
      Michael Widenius authored
      mysql client: Ignore --comments at start of command line. This allows one to more easily run mysqltest tests trough the command line.
      Fixed bug: LP#603026 RQG: pagecache_read: Assertion `pageno < ((1ULL) << 40)' on OPTIMIZE TABLE of a Maria table  
      
      client/mysql.cc:
        Removed Oracle copyright from stdout, as Oracle doesn't have copyright to all code in this file.
        Ignore --comments at start of command line. This allows one to more easily run mysqltest tests trough the command line.
      mysql-test/suite/maria/r/optimize.result:
        Added test for LP#603026
      mysql-test/suite/maria/t/optimize.test:
        Added test for LP#603026
      sql/net_serv.cc:
        Removed DBUG_ASSERT(), as this code can happen during testing.
      storage/maria/ma_check.c:
        Fixed bug: LP#603026 RQG: pagecache_read: Assertion `pageno < ((1ULL) << 40)' on OPTIMIZE TABLE of a Maria table  
        The problem was duplicated memory usage with long packed keys.
      9f96097a
  8. 09 Jul, 2010 1 commit
  9. 07 Jul, 2010 2 commits
  10. 04 Jul, 2010 1 commit
    • Vasil Dimov's avatar
      Merge mysql-5.1-innodb -> mysql-5.1-security · f219357a
      Vasil Dimov authored
      Merge up to sunny.bains@oracle.com-20100625081841-ppulnkjk1qlazh82 .
      There are 8 more changesets in mysql-5.1-innodb, but PB2 shows a
      failure for a test added in one of them. If that is resolved quickly
      then those 8 more changesets will be merged too.
      f219357a
  11. 02 Jul, 2010 9 commits
  12. 01 Jul, 2010 6 commits
  13. 30 Jun, 2010 3 commits
    • Sergey Glukhov's avatar
      Bug#51431 Wrong sort order after import of dump file · 1c538876
      Sergey Glukhov authored
      The problem is that QUICK_SELECT_DESC behaviour depends
      on used_key_parts value which can be bigger than selected
      best_key_parts value if an engine supports clustered key.
      But used_key_parts is overwritten with best_key_parts
      value that prevents from correct selection of index
      access method. The fix is to preserve used_key_parts
      value for further use in QUICK_SELECT_DESC.
      
      
      mysql-test/r/innodb_mysql.result:
        test case
      mysql-test/t/innodb_mysql.test:
        test case
      sql/sql_select.cc:
        preserve used_key_parts value for further use in QUICK_SELECT_DESC
      1c538876
    • Bo Thorsen's avatar
      ccdbcaeb
    • Staale Smedseng's avatar
      Bug #53899 Wrong mysql_stmt_errno() after connection loss with · 18388d21
      Staale Smedseng authored
      automatic reconnect
      
      A client with automatic reconnect enabled will see the error
      message "Lost connection to MySQL server during query" if the
      connection is lost between mysql_stmt_prepare() and
      mysql_stmt_execute(). The mysql_stmt_errno() number, however,
      is 0 -- not the corresponding value 2013.
      
      This patch checks for the case where the prepared statement
      has been pruned due to a connection loss (i.e., stmt->mysql
      has been set to NULL) during a call to cli_advanced_command(),
      and avoids changing the last_errno to the result of the last
      reconnect attempt.
      18388d21
  14. 29 Jun, 2010 3 commits
  15. 28 Jun, 2010 2 commits