- 12 Feb, 2008 1 commit
-
-
marko authored
the dynamic InnoDB plugin, ha_innodb.so. This libtool option cannot be used on every target platform. For instance, the AMD64 (x86_64) ABI mandates position-independent code (PIC) in dynamic shared objects. Makefile.am: Use $(INNODB_CFLAGS) and $(INNODB_DYNAMIC_CFLAGS) in target-specific CFLAGS and CXXFLAGS variable definitions. plug.in: Instead of appending to the MySQL-wide CFLAGS, introduce the variables INNODB_CFLAGS and INNODB_DYNAMIC_CFLAGS. Depending on $target_cpu, append -prefer-non-pic to INNODB_DYNAMIC_CFLAGS.
-
- 11 Feb, 2008 1 commit
-
-
marko authored
position-independent code in the compilation of ha_innodb.so. ha_innodb_la_CXXFLAGS, ha_innodb_la_CFLAGS: Add -prefer-non-pic. This flag is interpreted by the ../../libtool script that acts as a front-end to the compiler and linker.
-
- 08 Feb, 2008 6 commits
-
-
marko authored
unapproved change r2290.
-
vasil authored
Do not include univ.i in mysql_addons.h, it was included for the sole purpose of innodb_redefine.h to work and now innodb_redefine.h has been removed. See r2251 and r2288.
-
marko authored
At present, the script only accepts one command line parameter. Append newline to some die messages, so that the Perl interpreter will not print the file name and line number of the failing statement.
-
marko authored
file has been redundant since r2278. include/innodb_redefine.h: Remove. include/sync0sync.h: Remove the definition of mutex_free that was added because of innodb_redefine.h. include/univ.i: Remove references to innodb_redefine.h. Explain why the C++ classes need to be renamed. scripts/build-plugin.sh: Build InnoDB only once. The file innodb_redefine.h is no longer needed.
-
marko authored
-
marko authored
space identifier in the corruption message.
-
- 07 Feb, 2008 3 commits
-
-
inaam authored
srv_log_file_size is misspelled as srv_log_filen_size in r2276 reviewed by: non-functional change.
-
marko authored
static symbol definitions. yy_scan_buffer, yy_scan_string, yy_scan_bytes: Leave these unused extern function declarations alone. yypush_buffer_state, yypop_buffer_state, yyswitch_to_buffer, yyget*, yyset*, yylex_destroy: Add __attribute__((unused)). This closes Mantis issue #8.
-
marko authored
about undo_rec possibly being uninitialized. When trx_undo_get_undo_rec() leaves undo_rec uninitialized, both functions will return DB_MISSING_HISTORY without dereferencing undo_rec. This closes Mantis issue #7.
-
- 06 Feb, 2008 5 commits
-
-
marko authored
in r2276. Now the following symbols will be exported when InnoDB is built as a dynamic plugin: * the virtual method pointer table of class ha_innodb * the three variables that MySQL will reference when linking at runtime: _mysql_plugin_declarations_ _mysql_plugin_interface_version_ _mysql_sizeof_struct_st_plugin_ Furthermore, the following symbols are weak globals, to allow us to access the built-in InnoDB in the mysqld executable, in case it contains a statically linked InnoDB: builtin_innobase_plugin innodb_hton_ptr
-
marko authored
pars/pars0grm.h: Remove. The primary file is include/pars0grm.h. pars/make_bison.sh: Add from trunk. Somehow, this file was not merged at the same time with make_flex.sh. Add sed magic for replacing the file name and for hiding yychars, yynerrs, yylval, and yyparse. pars/pars0grm.c: Apply the changes made by make_bison.sh.
-
marko authored
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.
-
marko authored
lexical analyzer of the InnoDB SQL parser.
-
marko authored
-
- 04 Feb, 2008 1 commit
-
-
marko authored
btr_cur_pessimistic_update(): Note why the externally stored columns of a record on a latched page cannot have been purged. trx_undo_get_undo_rec(): Clarify that the stack of versions is locked all the way down to the purge view. trx_undo_prev_version_build(): Set *old_vers = NULL also when the record could have been purged already. Add some clarifying comments.
-
- 30 Jan, 2008 1 commit
-
-
marko authored
-
- 29 Jan, 2008 1 commit
-
-
vasil authored
Require PROCESS privileges instead of SUPER to view INFORMATION_SCHEMA tables. Suggested by: Sergei Golubchik <serg@mysql.com> (in a private email, pointed http://bugs.mysql.com/32710)
-
- 28 Jan, 2008 1 commit
-
-
marko authored
-
- 25 Jan, 2008 3 commits
-
-
marko authored
is not indexed. btr_search_update_hash_ref(), btr_search_drop_page_hash_index(), btr_search_build_page_hash_index(), btr_search_update_hash_on_delete(), btr_search_update_hash_node_on_insert(), btr_search_update_hash_on_insert(), btr_search_validate(): Assert that hashed blocks do not belong to the insert buffer tree. btr_search_move_or_delete_hash_entries(): When invoked on the insert buffer tree, assert that neither block is hashed.
-
marko authored
creating indexes. Lock the user table inside the user transaction. enum trx_dict_op: Remove TRX_OP_INDEX_MAY_WAIT. ha_innobase::add_index(): Lock the user tables within prebuilt->trx. Commit the data dictionary transaction before creating indexes. ha_innobase::final_drop_index(): Lock the user table within prebuilt->trx.
-
marko authored
for determining if an index is the insert buffer B-tree.
-
- 24 Jan, 2008 2 commits
- 23 Jan, 2008 2 commits
-
-
marko authored
to the undo log, also store the original length of the column, so that the changes will be correctly undone in transaction rollback or when fetching previous versions of the row. innodb-zip.test: New file, for tests of the compression. upd_field_t: Add orig_len, the original length of new_val. btr_push_update_extern_fields(): Restore the original prefix of the column. Add the parameter heap where memory will be allocated if necessary. trx_undo_rec_get_col_val(): Add the output parameter orig_len. trx_undo_page_report_modify_ext(): New function: Write an externally stored column to the undo log. This is only called from trx_undo_page_report_modify(), and this is the only caller of trx_undo_page_fetch_ext(). trx_undo_update_rec_get_update(): Read the original length of the column prefix to upd_field->orig_len.
-
vasil authored
Include univ.i in mysql_addons.h because univ.i includes innodb_redefine.h which is needed to rename the functions in this file with ibd_ prefix in the dynamic InnoDB plugin. Aka the renaming magic, required for the dynamic plugin to work. Approved by: Marko
-
- 22 Jan, 2008 1 commit
-
-
inaam authored
Cast to ib_uint64_t the mask for align down before doing the '~' operation on it. Reviewed by: Heikki
-
- 21 Jan, 2008 1 commit
-
-
marko authored
row_sel_get_clust_rec(), return if a previous version of the clustered index record does not exist in the read view. This bug was made and found by Heikki. It was harmless as long as the clustered index record contained a long enough local prefix of externally stored columns, to allow secondary index records to be built without fetching BLOBs. InnoDB transactions should never look at a clustered index record whose transaction identifier (DB_TRX_ID) is not visible in the transaction's read view.
-
- 17 Jan, 2008 1 commit
-
-
marko authored
btr_page_get_sure_split_rec(): Remove the check if insert_size exceeds free_space. btr_page_split_and_insert(): If a compressed page has already been split, avoid further splits by inserting the record to an empty page. As a performance optimization, avoid invoking btr_page_insert_fits() on compressed tables.
-
- 16 Jan, 2008 7 commits
-
-
marko authored
is not guaranteed to fit on a compressed page, instead of letting an assertion fail.
-
marko authored
Update ut_total_allocated_memory.
-
marko authored
buf_pool_free(): New function: Free all chunks of the buffer pool. innobase_shutdown_for_mysql(): Call buf_pool_free() right before ut_free_all_mem().
-
marko authored
stored columns (BLOBs). btr_copy_blob_prefix(), btr_copy_zblob_prefix(), btr_copy_externally_stored_field_prefix_low(), btr_copy_externally_stored_field_prefix(), btr_copy_externally_stored_field(), btr_rec_copy_externally_stored_field(): Note that the page containing the clustered index record that points to the BLOB must be latched. btr_copy_zblob_prefix(): Note that there is no latch on the page, and thus all accesses to a given page via this function must be covered by the same set of locks or latches. btr_copy_zblob_prefix(): Note that the block acquired by buf_page_get_zip() is protected by an exclusive table lock or or by a latch on the clustered index record.
-
marko authored
record is protected by a latch or a lock. dtuple_copy(): New function: Copy a data tuple. row_upd_replace(): New function: Apply on a row an update vector that was built for the clustered index. Set up a cache of externally stored column prefixes if needed. undo_node_t: Add the fields undo_row, undo_ext. row_undo_search_clust_to_pcur(): Initialize undo_row and undo_ext. row_undo_mod_upd_exist_sec(): Instead of fetching prefixes of externally stored columns, use the undo_row and undo_ext that were initialized in row_undo_search_clust_to_pcur(). upd_node_t: Remove the field n_ext. Add the fields upd_row and upd_ext. row_upd_store_row(): Initialize the upd_row and upd_ext fields of upd_node_t. row_upd_sec_index_entry(), row_upd_clust_rec_by_insert(): Instead of fetching prefixes of externally stored columns, use the upd_row and upd_ext that were initialized in row_upd_store_row().
-
marko authored
so that it will not be uninitialized when the undo record is being processed.
-
vasil authored
Move the column trx_weight near the end in the information_schema.innodb_trx table. Suggested by: Ken Approved by: Marko
-
- 15 Jan, 2008 2 commits
-
-
marko authored
acquiring buf_pool_mutex. This avoids triggering the debug assertion that was added in r2227.
-
inaam authored
Forward port of r2236 Introduce retry/sleep logic as a workaround for a transient bug where ::open fails for partitioned tables randomly if we are using one file per table. (Bug #33349) Reviewed by: Heikki
-
- 14 Jan, 2008 1 commit
-
-
marko authored
-