- 07 Nov, 2007 7 commits
-
-
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.
-
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.
-
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
-
marko authored
row_prebuilt_free(): Add UNIV_UNLIKELY hints around tests for ROW_PREBUILT_OBSOLETE and some other tests.
-
marko authored
before invoking rec_get_offsets().
-
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.
-
marko authored
tables INNODB_ZIP and INNODB_ZIP_RESET.
-
- 06 Nov, 2007 1 commit
-
-
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.
-
- 05 Nov, 2007 6 commits
-
-
vasil authored
Deny access to TRX INFORMATION_SCHEMA tables to non-superusers. Approved by: Marko
-
marko authored
update page_zip, because rec may be on a different page.
-
marko authored
rec == NULL.
-
marko authored
unless more than 6 bytes are available for the output. This should remove the possibility that deflate() returns Z_OK without consuming all input.
-
marko authored
buf_pool->chunks[]->blocks[]. buf_block_is_uncompressed(): New function, to detect if a block points to buf_pool->chunks[]->blocks[].
-
marko authored
accidentally negated in r2043.
-
- 02 Nov, 2007 1 commit
-
-
marko authored
kernel_mutex in the beginning of each loop, as was the case until r2040. The bug was spotted by Heikki.
-
- 01 Nov, 2007 4 commits
-
-
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.
-
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.
-
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.
-
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.
-
- 31 Oct, 2007 11 commits
-
-
marko authored
-
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.)
-
marko authored
-
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.
-
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.
-
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.
-
marko authored
-
marko authored
Use UNIV_MEM_ASSERT_RW() instead of UNIV_MEM_VALID(). The latter flags memory defined; the former checks that it is defined.
-
marko authored
instrumentation.
-
marko authored
Remove the Valgrind check about it.
-
marko authored
buf_buddy_relocate(): Allow the source block to contain uninitialized data. buf0buddy.c: Replace the remaining VALGRIND_CHECK_ macros with the wrappers defined in univ.i.
-
- 30 Oct, 2007 3 commits
-
-
marko authored
buf_LRU_free_block(): Check that the block descriptor contains valid data. buf_buddy_relocate(): Check that the source block contains valid data. buf_page_get_gen(): Do not dereference bpage after calling buf_relocate(). This avoids a bogus Valgrind warning; the memory itself was valid. buf_page_hash_get(): Check that the returned block descriptor contains valid data.
-
marko authored
trx_rollback_or_clean_all_recovered().
-
marko authored
-
- 29 Oct, 2007 4 commits
-
-
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.
-
marko authored
trx_commit_for_mysql().
-
marko authored
-
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
-
- 26 Oct, 2007 3 commits
-
-
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.
-
marko authored
to the time in which modern disks can serve a random disk read.
-
marko authored
-