1. 16 Nov, 2007 2 commits
    • marko's avatar
      branches/zip: Merge 2015:2093 from trunk. · a7344bc8
      marko authored
      a7344bc8
    • vasil's avatar
      branches/zip: · f72d0e66
      vasil authored
      Implement a limit on the memory used by the INNODB_TRX, INNODB_LOCKS and
      INNODB_LOCK_WAITS tables. The maximum allowed memory is defined with the
      macro TRX_I_S_MEM_LIMIT.
      
      Approved by:	Marko (via IM)
      f72d0e66
  2. 15 Nov, 2007 1 commit
    • marko's avatar
      branches/zip: Introduce the function page_zip_fail_func() and · e63bbb3f
      marko authored
      the wrapper macro page_zip_fail() for displaying error messages.
      When the error output is enabled (at compile-time), a breakpoint
      may be set in page_zip_fail_func to easily debug all decompression
      errors in the context where they occur.
      e63bbb3f
  3. 13 Nov, 2007 2 commits
    • vasil's avatar
      branches/zip: · 83e20f90
      vasil authored
      Remove unnecessary code. Environment variables are passed to children anyway,
      no need to export them.
      
      Approved by:	Sunny (via IM)
      83e20f90
    • vasil's avatar
      branches/zip: · 669ec871
      vasil authored
      Fix typos in comment.
      669ec871
  4. 12 Nov, 2007 3 commits
  5. 09 Nov, 2007 4 commits
  6. 07 Nov, 2007 10 commits
    • vasil's avatar
      branches/zip: · bae2063a
      vasil authored
      Add the query in information_schema.innodb_trx.trx_query. Add it even
      though it is available in information_schema.processlist.info to make
      inconsistencies between those two tables obvious.
      
      It is rather confusting to see a transaction shown in innodb_trx and
      innodb_locks that holds a lock on one table and the corresponding query
      in processlist executing INSERT on another table. We do not want users
      to contact us asking to explain that. It is caused by the fact that the
      data for innodb_* tables and processlist is fetched at different time.
      
      Approved by:	Marko
      bae2063a
    • vasil's avatar
      branches/zip: · dfe8f574
      vasil authored
      Fix comment: sync variable name in comment with the actual variable name.
      dfe8f574
    • vasil's avatar
      branches/zip: · faf929eb
      vasil authored
      Add mysql_addons.(cc|h) to Makefile.am, forgotten in r2072.
      
      Pointyhat to:	Vasil
      faf929eb
    • marko's avatar
      branches/zip: Improve Valgrind instrumentation. · 751934dd
      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.
      751934dd
    • marko's avatar
      branches/zip: Improve Valgrind instrumentation. · 9df65876
      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.
      9df65876
    • vasil's avatar
      branches/zip: · 83f47098
      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
      83f47098
    • marko's avatar
      branches/zip: row_insert_for_mysql(), row_update_for_mysql(), · bc6db1bc
      marko authored
      row_prebuilt_free(): Add UNIV_UNLIKELY hints around tests for
      ROW_PREBUILT_OBSOLETE and some other tests.
      bc6db1bc
    • marko's avatar
      branches/zip: page_zip_apply_log(): Write the status bits of the record · b11ac473
      marko authored
      before invoking rec_get_offsets().
      b11ac473
    • marko's avatar
      branches/zip: Return a meaningful error message when refusing to create · fe48c366
      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.
      fe48c366
    • marko's avatar
      branches/zip: Deny non-superuser access to the INFORMATION_SCHEMA · 789165e2
      marko authored
      tables INNODB_ZIP and INNODB_ZIP_RESET.
      789165e2
  7. 06 Nov, 2007 1 commit
    • vasil's avatar
      branches/zip: · 5479d85d
      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.
      5479d85d
  8. 05 Nov, 2007 6 commits
  9. 02 Nov, 2007 1 commit
  10. 01 Nov, 2007 4 commits
    • marko's avatar
      branches/zip: sync0sync.h: Define mutex_free as mutex0_free, because symbols · f3fc38d8
      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.
      f3fc38d8
    • marko's avatar
      branches/zip: Allow the symbols in the dynamic InnoDB plugin to be · 17fc32fb
      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.
      17fc32fb
    • marko's avatar
      branches/zip: Remove the parameter innodb_dynamic, and always call the · 3037cca0
      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.
      3037cca0
    • marko's avatar
      branches/zip: Remove warnings for BUILD/compile-... --warning-mode=pedantic. · 2dbf0fda
      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.
      2dbf0fda
  11. 31 Oct, 2007 6 commits
    • marko's avatar
      bcd672ca
    • marko's avatar
      branches/zip: page_zip_compress(): Flag the compressed stream completely · d81da462
      marko authored
      initialized, although Valgrind believes that some bits in the 7th or 8th
      bytes from the end are uninitialized.  (They might be, but the decompressor
      should not care about those bits after encountering the end-of-stream marker
      in the compressed bit stream.)
      d81da462
    • marko's avatar
    • marko's avatar
      branches/zip: Improve Valgrind instrumentation. · 6b2c92e1
      marko authored
      btr_cur_optimistic_insert(): On compressed tablespaces, check that both
      the compressed and the uncompressed page are completely initialized in
      the beginning of the function.
      
      page_zip_compress(): After successful compression, check that the compressed
      page is completely initialized.
      6b2c92e1
    • marko's avatar
      branches/zip: Add some more Valgrind instrumentation. · 0a0f1720
      marko authored
      page_zip_write_rec(), page_zip_write_blob_ptr(), page_zip_write_node_ptr(),
      page_zip_write_trx_id_and_roll_ptr(), page_zip_clear_rec(),
      page_zip_rec_set_deleted(), page_zip_rec_set_owned(), page_zip_dir_insert(),
      page_zip_dir_delete(), page_zip_dir_add_slot(), page_zip_reorganize(),
      page_zip_copy(), page_zip_get_trailer_len(), page_zip_write_header():
      Assert that the complete contents of the compressed page is defined.
      0a0f1720
    • marko's avatar
      branches/zip: Improve Valgrind instrumentation. · aebd74e2
      marko authored
      page_zip_compress(): Assert that the contents of the uncompressed page
      is entirely initialized.
      
      page_zip_decompress(): Assert that the contents of the compressed page
      is entirely initialized.  Assert that the uncompressed page is entirely
      writeable.  Flag the uncompressed page uninitialized in the beginning.
      aebd74e2