1. 07 Nov, 2007 9 commits
    • vasil's avatar
      branches/zip: · e3c2d271
      vasil authored
      Fix comment: sync variable name in comment with the actual variable name.
      e3c2d271
    • vasil's avatar
      branches/zip: · 8424daa6
      vasil authored
      Add mysql_addons.(cc|h) to Makefile.am, forgotten in r2072.
      
      Pointyhat to:	Vasil
      8424daa6
    • marko's avatar
      branches/zip: Improve Valgrind instrumentation. · 96c6fe18
      marko authored
      page_zip_get_trailer_len(), page_zip_write_header(): Correct the
      UNIV_MEM_ASSERT_RW() assertions.
      
      page_zip_validate(): Read the validity bits of page, page_zip, and
      page_zip->data.
      96c6fe18
    • marko's avatar
      branches/zip: Improve Valgrind instrumentation. · cf7d4071
      marko authored
      page_zip_decompress(): Assert that the uncompressed page is completely defined.
      
      page_zip_validate(): Assert that the compressed and uncompressed pages are
      completely defined.  Fetch the "valid" bits, so that they can be examined
      when run under valgrind --db-attach=yes.
      cf7d4071
    • vasil's avatar
      branches/zip: · 193e2376
      vasil authored
      Introduce a generic soultion to the common problem that MySQL do not add
      functions needed by us in a reasonable time.
      
      Start with a function that retrieves THD::thread_id, this is needed for
      the information_schema.innodb_trx.mysql_thread_id column.
      
      Approved by:	Marko
      193e2376
    • marko's avatar
      branches/zip: row_insert_for_mysql(), row_update_for_mysql(), · 23d99475
      marko authored
      row_prebuilt_free(): Add UNIV_UNLIKELY hints around tests for
      ROW_PREBUILT_OBSOLETE and some other tests.
      23d99475
    • marko's avatar
      branches/zip: page_zip_apply_log(): Write the status bits of the record · 98546caa
      marko authored
      before invoking rec_get_offsets().
      98546caa
    • marko's avatar
      branches/zip: Return a meaningful error message when refusing to create · 9a9a952c
      marko authored
      a compressed table in the system tablespace.
      
      db0err.h: Introduce the error code DB_TABLE_ZIP_NO_IBD.  Replace the
      #define directives with an enum, to ease future code merges.  These
      error codes are never written out to files or displayed to the user.
      Thus they need not remain constant.
      
      dict_build_table_def_step(): Return DB_TABLE_ZIP_NO_IBD instead of DB_ERROR.
      
      create_table_def(): Report ER_ILLEGAL_HA_CREATE_OPTION "KEY_BLOCK_SIZE"
      when the table creation fails with DB_TABLE_ZIP_NO_IBD.
      9a9a952c
    • marko's avatar
      branches/zip: Deny non-superuser access to the INFORMATION_SCHEMA · 2a106e0f
      marko authored
      tables INNODB_ZIP and INNODB_ZIP_RESET.
      2a106e0f
  2. 06 Nov, 2007 1 commit
    • vasil's avatar
      branches/zip: · f0e3f1f3
      vasil authored
      Bugfix: In row_raw_format() - fix the return value when printing in
      hex; do not forget to count the 2 extra characters "0x" that we wrote
      at the beginning of the output.
      f0e3f1f3
  3. 05 Nov, 2007 6 commits
  4. 02 Nov, 2007 1 commit
  5. 01 Nov, 2007 4 commits
    • marko's avatar
      branches/zip: sync0sync.h: Define mutex_free as mutex0_free, because symbols · 7187686b
      marko authored
      defined in innodb_redefine.h must not be undefined.  After this change,
      innodb_redefine.h will define mutex0_free instead of mutex_free, and
      everything is fine.
      7187686b
    • marko's avatar
      branches/zip: Allow the symbols in the dynamic InnoDB plugin to be · cf98f660
      marko authored
      redefined so that the dynamic plugin can replace the builtin InnoDB
      in MySQL 5.1.
      
      ha_innodb.cc, handler0alter.cc: #include "univ.i" before any other InnoDB
      header files or before defining any symbols
      
      innodb_redefine.h: New file, to contain a mapping of symbols.  The idea
      is that this file will be replaced in the build process; because this
      is a large file that can be generated automatically, it does not make sense
      to keep it under version control.
      
      univ.i: #include "innodb_redefine.h" and #define ha_innobase ha_innodb
      
      Makefile.am (ha_innodb_la_CXXFLAGS): Remove -Dha_innobase=ha_innodb
      
      NOTE: there are still some issues in the source code.  One known issue is
      the #undef mutex_free in sync0sync.h, which will cause the plugin to call the
      function mutex_free in the builtin InnoDB.  The preprocessor symbols defined
      in innodb_redefine.h must not be undefined or redefined anywhere in the code.
      cf98f660
    • marko's avatar
      branches/zip: Remove the parameter innodb_dynamic, and always call the · 418d050f
      marko authored
      plugin "InnoDB", not "InnoDBzip".
      
      We can disable the builtin InnoDB by mysqld --skip-innodb.  If the
      builtin InnoDB is not disabled, installing the InnoDB plugin by the same
      name will not work.
      
      innodb_plugin_init(): Ignore differences in the PLUGIN_VAR_READONLY flag.
      418d050f
    • marko's avatar
      branches/zip: Remove warnings for BUILD/compile-... --warning-mode=pedantic. · 1bfa27fb
      marko authored
      ha_innobase::write_row(): The printf format %p expects const void*.
      
      STRUCT_FLD: Do not use the GCC extension when __STRICT_ANSI__ is defined.
      
      row_merge_read_clustered_index(): Compound initializers must not contain
      variables.  Assign to struct fields instead.
      1bfa27fb
  6. 31 Oct, 2007 11 commits
  7. 30 Oct, 2007 3 commits
  8. 29 Oct, 2007 4 commits
    • marko's avatar
      branches/zip: trx_rollback_or_clean_all_without_sess(): Distinguish · 7d5f2f84
      marko authored
      recovered transactions from new ones.  Until r1594, they were distinguished
      by trx->sess == NULL.
      
      trx_t: Add the bitfield is_recovered.
      
      trx_lists_init_at_db_start(): Set trx->is_recovered.
      
      trx_create(): Initialize trx->is_recovered = 0.
      
      trx_print(): Display information about trx->is_recovered.
      
      trx_rollback_or_clean_all_without_sess(): Skip new transactions.
      Protect all accesses of trx_sys->trx_list with kernel_mutex.
      
      trx_roll_crash_recv_trx, trx_roll_max_undo_no, trx_roll_progress_printed_pct:
      Made these variables static.
      7d5f2f84
    • marko's avatar
      branches/zip: row_merge_drop_temp_indexes(): Use COMMIT WORK instead of · b1d3192f
      marko authored
      trx_commit_for_mysql().
      b1d3192f
    • marko's avatar
      a877fffc
    • vasil's avatar
      branches/zip: · 0028e8d1
      vasil authored
      Add innodb_locks.lock_data column and some relevant tests.
      For record locks this column represents the ordering fields of the
      locked row in a human readable, SQL-valid, format.
      
      Approved by:	Marko
      0028e8d1
  9. 26 Oct, 2007 1 commit
    • marko's avatar
      branches/zip: Minor performance tuning based on measurement data · ef91b93e
      marko authored
      on mispredicted branches: opcontrol --event=BR_CND_MISSP_EXEC:45000
      
      UT_SORT_FUNCTION_BODY(): Copy the array with memcpy(3).
      
      cmp_dtuple_rec_with_match(), cmp_rec_rec_with_match(),
      cmp_debug_dtuple_rec_with_match(): Add UNIV_UNLIKELY hints around
      tests for REC_INFO_MIN_REC_FLAG.
      ef91b93e