------------------------------------------------------------------------
r3572 | marko | 2008-12-17 11:19:56 +0200 (Wed, 17 Dec 2008) | 3 lines
Changed paths:
M /branches/zip/ChangeLog
M /branches/zip/btr/btr0sea.c
M /branches/zip/buf/buf0buf.c
M /branches/zip/buf/buf0lru.c
M /branches/zip/ha/ha0ha.c
M /branches/zip/ha/hash0hash.c
M /branches/zip/include/buf0buf.h
M /branches/zip/include/ha0ha.h
M /branches/zip/include/ha0ha.ic
M /branches/zip/include/hash0hash.h
M /branches/zip/include/univ.i
branches/zip: Introduce UNIV_AHI_DEBUG for debugging the adaptive hash
index without enabling UNIV_DEBUG.
------------------------------------------------------------------------
r3574 | marko | 2008-12-17 12:44:31 +0200 (Wed, 17 Dec 2008) | 2 lines
Changed paths:
M /branches/zip/ChangeLog
branches/zip: ChangeLog: Document recent changes that were not included in
InnoDB Plugin 1.0.2, except changes to source code comments.
------------------------------------------------------------------------
r3575 | marko | 2008-12-17 14:40:58 +0200 (Wed, 17 Dec 2008) | 12 lines
Changed paths:
M /branches/zip/ChangeLog
M /branches/zip/include/row0sel.h
M /branches/zip/include/row0upd.h
M /branches/zip/pars/pars0pars.c
M /branches/zip/row/row0mysql.c
M /branches/zip/row/row0sel.c
M /branches/zip/row/row0upd.c
branches/zip: Remove update-in-place-in-select from the internal SQL
interpreter. It was only used for updating the InnoDB internal data
dictionary when renaming or dropping tables. It could have caused
deadlocks after acquiring latches on insert buffer bitmap pages.
This and r3544 should fix Issue #135.
Furthermore, the update-in-place-in-select does not account for
compression failure. That was not a problem yet, since the InnoDB SQL
interpreter has so far assumed ROW_FORMAT=REDUNDANT.
rb://63 approved by Heikki Tuuri
------------------------------------------------------------------------
symbols. Use it for all definitions of non-static variables and functions.
lexyy.c, make_flex.sh: Declare yylex as UNIV_INTERN, not static. It is
referenced from pars0grm.c.
Actually, according to
nm .libs/ha_innodb.so|grep -w '[ABCE-TVXYZ]'
the following symbols are still global:
* The vtable for class ha_innodb
* pars0grm.c: The function yyparse() and the variables yychar, yylval, yynerrs
The required changes to the Bison-generated file pars0grm.c will be addressed
in a separate commit, which will add a script similar to make_flex.sh.
The class ha_innodb is renamed from class ha_innobase by a #define. Thus,
there will be no clash with the builtin InnoDB. However, there will be some
overhead for invoking virtual methods of class ha_innodb. Ideas for making
the vtable hidden are welcome. -fvisibility=hidden is not available in GCC 3.
when assigning node->data.
ha_delete(), ha_search_and_delete_if_found(), ha_remove_all_nodes_to_page():
Remove the parameter buf_block_t* block, now that it is stored within the
hash data structure in debug builds.
an assertion failure in debug builds when a context switch occurred in
buf_LRU_search_and_free_block() before the call to
btr_search_drop_page_hash_index() managed to acquire the mutexes again.
ha_node_t: Add the field buf_block_t* block.
ha_search_and_update_if_found(): Rename to ha_search_and_update_if_found_func()
with added buf_block_t* parameter in debug builds. Define the wrapper macro
ha_search_and_update_if_found() that always takes the buf_block_t* parameter.
ha_insert_for_fold(): Rename to ha_insert_for_fold_func()
with added buf_block_t* parameter in debug builds. Define the wrapper macro
ha_insert_for_fold() that always takes the buf_block_t* parameter.
Instead, get buf_block_t* as a parameter.
Without this patch, buf_page_hash_get() would return NULL in
buf_block_align(). The function buf_LRU_search_and_free_block()
invokes buf_LRU_block_remove_hashed_page(), which removes the
hash mapping needed by buf_page_hash_get().