When row_merge_drop_temp_indexes() was reworked to drop the indexes
via the data dictionary cache, the code was broken because it would
read the index name from the wrong field.
btr_page_tuple_smaller(): New function, refactored from
btr_page_split_and_insert().
btr_page_get_split_rec(): Renamed from btr_page_get_sure_split_rec().
Note that a NULL return may mean that the tuple is to be inserted into
either the lower or upper page, to be determined by btr_page_tuple_smaller().
btr_page_split_and_insert(): When btr_page_get_split_rec() returns NULL,
invoke btr_page_tuple_smaller() to determine which half-page the tuple
belongs to.
Reviewed by Sunny Bains
indexed BLOBs for ROW_FORMAT=DYNAMIC and ROW_FORMAT_COMPRESSED tables
(Bug #52746). In these tables, the locally stored prefix of a BLOB can
be as small as 20 bytes (BTR_EXTERN_FIELD_REF_SIZE). ROW_FORMAT=REDUNDANT
and ROW_FORMAT=COMPACT store a prefix of 768 bytes (REC_MAX_INDEX_COL_LEN).
trx_undo_rec_get_col_val(): Relax the ut_ad() assertion and add a
reference to dtuple_convert_big_rec().
trx_undo_rec_get_partial_row(): Relax the ut_a() assertion that
prompted Bug #52746.
Detailed revision comments:
r6873 | vdimov | 2010-03-25 17:06:56 +0200 (Thu, 25 Mar 2010) | 4 lines
branches/zip:
Use Bug#N instead of Bug #N to be consistent with the rest of the fil.
Detailed revision comments:
r6871 | vdimov | 2010-03-25 16:39:44 +0200 (Thu, 25 Mar 2010) | 4 lines
branches/zip:
Whitespace fixup to be consistent with the rest of the file.
Detailed revision comments:
r6830 | marko | 2010-03-18 09:48:18 +0200 (Thu, 18 Mar 2010) | 3 lines
branches/zip: buf_page_peek_if_too_old(): Use 32-bit arithmetics
when comparing the age of access_time to buf_LRU_old_threshold_ms.
This fixes a bug on 64-bit systems.
Detailed revision comments:
r6798 | marko | 2010-03-11 09:53:01 +0200 (Thu, 11 Mar 2010) | 14 lines
branches/zip: Fix and clarify the latching of some buf_block_t members.
buf_block_t::check_index_page_at_flush: Note that this field is not
protected by any mutex. Make it a separate field, not a bitfield that
could share the machine word with other fields.
buf_block_t::lock_hash_val: Note that this field is protected by
buf_block_t::lock (or during block creation, by buf_pool_mutex and
buf_block_t::mutex).
buf_block_get_lock_hash_val(): Assert that block->lock is held by the
current thread.
Issue #465, rb://267 approved by Inaam Rana
Detailed revision comments:
r6792 | marko | 2010-03-10 13:56:41 +0200 (Wed, 10 Mar 2010) | 1 line
branches/zip: Copy tests from branches/5.1 that were lost in some merge.
r6793 | marko | 2010-03-10 14:02:19 +0200 (Wed, 10 Mar 2010) | 60 lines
branches/zip: Merge revisions 6669:6788 from branches/5.1:
------------------------------------------------------------------------
r6774 | calvin | 2010-03-03 23:56:10 +0200 (Wed, 03 Mar 2010) | 2 lines
Changed paths:
M /branches/5.1/trx/trx0sys.c
branches/5.1: fix bug#51653: outdated reference to set-variable
Non functional change.
------------------------------------------------------------------------
r6780 | vasil | 2010-03-08 19:13:20 +0200 (Mon, 08 Mar 2010) | 4 lines
Changed paths:
M /branches/5.1/plug.in
branches/5.1:
Whitespace fixup.
------------------------------------------------------------------------
r6783 | jyang | 2010-03-09 17:54:14 +0200 (Tue, 09 Mar 2010) | 9 lines
Changed paths:
M /branches/5.1/handler/ha_innodb.cc
M /branches/5.1/mysql-test/innodb_bug21704.result
A /branches/5.1/mysql-test/innodb_bug47621.result
A /branches/5.1/mysql-test/innodb_bug47621.test
branches/5.1: Fix bug #47621 "MySQL and InnoDB data dictionaries
will become out of sync when renaming columns". MySQL does not
provide new column name information to storage engine to
update the system table. To avoid column name mismatch, we shall
just request a table copy for now.
rb://246 approved by Marko.
------------------------------------------------------------------------
r6785 | vasil | 2010-03-10 09:04:38 +0200 (Wed, 10 Mar 2010) | 11 lines
Changed paths:
M /branches/5.1/mysql-test/innodb_bug38231.test
branches/5.1:
Add the missing --reap statements in innodb_bug38231.test. Probably MySQL
enforced the presence of those recently and the test started failing like:
main.innodb_bug38231 [ fail ]
Test ended at 2010-03-10 08:48:32
CURRENT_TEST: main.innodb_bug38231
mysqltest: At line 49: Cannot run query on connection between send and reap
------------------------------------------------------------------------
r6788 | vasil | 2010-03-10 10:53:21 +0200 (Wed, 10 Mar 2010) | 8 lines
Changed paths:
M /branches/5.1/mysql-test/innodb_bug38231.test
branches/5.1:
In innodb_bug38231.test: replace the fragile sleep 0.2 that depends on timing
with a more robust condition which waits for the TRUNCATE and LOCK commands
to appear in information_schema.processlist. This could also break if there
are other sessions executing the same SQL commands, but there are none during
the execution of the mysql test.
------------------------------------------------------------------------
Detailed revision comments:
r6787 | marko | 2010-03-10 10:35:06 +0200 (Wed, 10 Mar 2010) | 10 lines
branches/zip: recv_parse_log_rec(): Remove a bogus assertion about page_no.
TODO: We might also consider removing recv_max_parsed_page_no, because
it does not make much sense with *.ibd files.
recv_report_corrupt_log(), recv_scan_log_recs(): Abort when a
corrupted log record has been found, unless innodb_force_recovery has
been set.
This fixes Issue #464.
rb://265 approved by Heikki Tuuri
Detailed revision comments:
r6781 | marko | 2010-03-09 09:41:08 +0200 (Tue, 09 Mar 2010) | 4 lines
branches/zip: Make SHOW ENGINE INNODB MUTEX display SUM(os_waits)
for block mutexes and blocks.
Designed by Michael and Marko. rb://188, Issue #358
Detailed revision comments:
r6779 | marko | 2010-03-08 14:35:42 +0200 (Mon, 08 Mar 2010) | 6 lines
branches/zip: Fix IMPORT TABLESPACE of compressed tables. Previously,
a wrong parameter was passed to buf_flush_init_for_writing().
fil_reset_too_high_lsns(): Set up page_zip and use it if needed.
rb://264, Issue #352
Detailed revision comments:
r6633 | marko | 2010-02-10 10:40:55 +0200 (Wed, 10 Feb 2010) | 31 lines
branches/zip: Merge revisions 6538:6613 from branches/5.1:
------------------------------------------------------------------------
r6545 | jyang | 2010-02-03 03:57:32 +0200 (Wed, 03 Feb 2010) | 8 lines
Changed paths:
M /branches/5.1/lock/lock0lock.c
branches/5.1: Fix bug #49001, "SHOW INNODB STATUS deadlock info
incorrect when deadlock detection aborts". Print the correct
lock owner when recursive function lock_deadlock_recursive()
exceeds its maximum depth LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK.
rb://217, approved by Marko.
------------------------------------------------------------------------
r6613 | inaam | 2010-02-09 20:23:09 +0200 (Tue, 09 Feb 2010) | 11 lines
Changed paths:
M /branches/5.1/buf/buf0buf.c
M /branches/5.1/buf/buf0rea.c
M /branches/5.1/include/buf0rea.h
branches/5.1: Fix Bug #38901
InnoDB logs error repeatedly when trying to load page into buffer pool
In buf_page_get_gen() if we are unable to read a page (because of
corruption or some other reason) we keep on retrying. This fills up
error log with millions of entries in no time and we'd eventually run
out of disk space. This patch limits the number of attempts that we
make (currently set to 100) and after that we abort with a message.
rb://241 Approved by: Heikki
------------------------------------------------------------------------
Detailed revision comments:
r6559 | marko | 2010-02-04 13:21:18 +0200 (Thu, 04 Feb 2010) | 14 lines
branches/zip: Pass the file name and line number of the caller of the
b-tree cursor functions to the buffer pool requests, in order to make
the latch diagnostics more accurate.
buf_page_optimistic_get_func(): Renamed to buf_page_optimistic_get().
btr_page_get_father_node_ptr(), btr_insert_on_non_leaf_level(),
btr_pcur_open(), btr_pcur_open_with_no_init(), btr_pcur_open_on_user_rec(),
btr_pcur_open_at_rnd_pos(), btr_pcur_restore_position(),
btr_cur_open_at_index_side(), btr_cur_open_at_rnd_pos():
Rename the function to _func and add the parameters file, line.
Define wrapper macros with __FILE__, __LINE__.
btr_cur_search_to_nth_level(): Add the parameters file, line.
Detailed revision comments:
r6548 | marko | 2010-02-03 15:01:39 +0200 (Wed, 03 Feb 2010) | 11 lines
branches/zip: buf_LRU_invalidate_tablespace(): Ensure that prev_bpage
is not relocated when freeing a compressed block. This avoids the
costly rescan of the LRU list. (Bug #35077, Issue #449)
At most one buffer-fix will be active at a time, affecting two blocks:
the buf_page_t and the compressed page frame. This should not block
the memory defragmentation in buf0buddy.c too much. In fact, it may
avoid unnecessary copying if also prev_bpage belongs to the tablespace
that is being invalidated.
rb://240
Detailed revision comments:
r6547 | marko | 2010-02-03 14:43:38 +0200 (Wed, 03 Feb 2010) | 14 lines
branches/zip: Clean up CHECK TABLE error handling. (Issue #220)
ha_innobase::change_active_index(): Clean up code formatting.
ha_innobase::check(): Incorporate the code from
row_check_table_for_mysql(). Report errors to the client connection
instead of writing them to the error log.
row_check_table_for_mysql(): Remove.
row_check_index_for_mysql(): Renamed from row_scan_and_check_index().
Let the caller initialize prebuilt, and assume that the index is usable.
rb://178 approved by Sunny Bains
Detailed revision comments:
r6540 | marko | 2010-02-01 11:35:13 +0200 (Mon, 01 Feb 2010) | 1 line
branches/zip: ChangeLog: Document the merge of 6471:6538 from branches/5.1.
Detailed revision comments:
r6521 | marko | 2010-01-27 10:49:01 +0200 (Wed, 27 Jan 2010) | 17 lines
branches/zip: Drop temporary tables at startup.
This addresses the third aspect of Bug #41609.
row_mysql_drop_temp_tables(): New function, to drop all temporary
tables. These can be distinguished by the least significant bit of
MIX_LEN. However, we will skip ROW_FORMAT=REDUNDANT tables, because in
the records for those tables, that bit may be garbage.
recv_recovery_from_checkpoint_finish(): Invoke
row_mysql_drop_temp_tables(). Normally, if the .frm files for the
temporary tables exist at startup, MySQL will ask InnoDB to drop the
temporary tables. However, if the files are deleted, for instance, by
the boot scripts of the operating system, the tables would remain in
the InnoDB data dictionary unless someone digs them up by
innodb_table_monitor and creates .frm files for dropping the tables.
rb://221 approved by Sunny Bains.
Detailed revision comments:
r6498 | marko | 2010-01-21 11:22:52 +0200 (Thu, 21 Jan 2010) | 15 lines
branches/zip: buf_page_get_gen(): Obey recv_no_ibuf_operations
and do not call ibuf_merge_or_delete_for_page() in crash recovery,
before the redo log has been applied.
This could cure some hard-to-repeat, hard-to-explain bugs
related to secondary indexes.
A possible recipe to repeat the bug:
1. update a secondary index leaf page on a compressed table
2. evict the page from the buffer pool while it is still dirty
3. ibuf_insert() something for the page
4. crash
5. crash recovery; ibuf merge would be done too early,
before applying redo log to the sec index page or the ibuf pages
Detailed revision comments:
r6447 | marko | 2010-01-13 17:43:44 +0200 (Wed, 13 Jan 2010) | 5 lines
branches/zip: row_sel_get_clust_rec_for_mysql(): On the READ UNCOMMITTED
isolation level, do not attempt to access a clustered index record
that has been marked for deletion. This fixes Issue #433.
Approved by Heikki over the IM.
Detailed revision comments:
r6445 | marko | 2010-01-13 17:15:29 +0200 (Wed, 13 Jan 2010) | 3 lines
branches/zip: buf_pool_drop_hash_index(): Check block->page.state
before checking block->is_hashed, because the latter may be uninitialized
right after server startup.
Detailed revision comments:
r6425 | marko | 2010-01-12 13:47:11 +0200 (Tue, 12 Jan 2010) | 45 lines
branches/zip: Merge revisions 6350:6424 from branches/5.1:
------------------------------------------------------------------------
r6421 | jyang | 2010-01-12 07:59:16 +0200 (Tue, 12 Jan 2010) | 8 lines
Changed paths:
M /branches/5.1/row/row0mysql.c
branches/5.1: Fix bug #49238: Creating/Dropping a temporary table
while at 1023 transactions will cause assert. Handle possible
DB_TOO_MANY_CONCURRENT_TRXS when deleting metadata in
row_drop_table_for_mysql().
rb://220, approved by Marko
------------------------------------------------------------------------
r6422 | marko | 2010-01-12 11:34:27 +0200 (Tue, 12 Jan 2010) | 3 lines
Changed paths:
M /branches/5.1/handler/ha_innodb.cc
M /branches/5.1/handler/ha_innodb.h
branches/5.1: Non-functional change:
Make innobase_get_int_col_max_value() a static function.
It does not access any fields of class ha_innobase.
------------------------------------------------------------------------
r6424 | marko | 2010-01-12 12:22:19 +0200 (Tue, 12 Jan 2010) | 16 lines
Changed paths:
M /branches/5.1/handler/ha_innodb.cc
M /branches/5.1/handler/ha_innodb.h
branches/5.1: In innobase_initialize_autoinc(), do not attempt to read
the maximum auto-increment value from the table if
innodb_force_recovery is set to at least 4, so that writes are
disabled. (Bug #46193)
innobase_get_int_col_max_value(): Move the function definition before
ha_innobase::innobase_initialize_autoinc(), because that function now
calls this function.
ha_innobase::innobase_initialize_autoinc(): Change the return type to
void. Do not attempt to read the maximum auto-increment value from
the table if innodb_force_recovery is set to at least 4. Issue
ER_AUTOINC_READ_FAILED to the client when the auto-increment value
cannot be read.
rb://144 by Sunny, revised by Marko
------------------------------------------------------------------------
Detailed revision comments:
r6271 | marko | 2009-12-02 11:43:49 +0200 (Wed, 02 Dec 2009) | 2 lines
branches/zip: ChangeLog: Document that since r6270, the zlib version number
will be displayed at start-up.
Detailed revision comments:
r6252 | marko | 2009-11-30 12:50:11 +0200 (Mon, 30 Nov 2009) | 23 lines
branches/zip: Suppress errors about non-found temporary tables.
Write the is_temp flag to SYS_TABLES.MIX_LEN.
dict_table_t:🎏 Add a flag for is_temporary, DICT_TF2_TEMPORARY.
Unlike other flags, this will not be written to the tablespace flags
or SYS_TABLES.TYPE, but only to SYS_TABLES.MIX_LEN.
dict_build_table_def_step(): Only pass DICT_TF_BITS to tablespaces.
dict_check_tablespaces_and_store_max_id(), dict_load_table():
Suppress errors about temporary tables not being found.
dict_create_sys_tables_tuple(): Write the DICT_TF2_TEMPORARY flag
to SYS_TABLES.MIX_LEN.
fil_space_create(), fil_create_new_single_table_tablespace(): Add assertions
about space->flags.
row_drop_table_for_mysql(): Do not complain about non-found temporary tables.
rb://160 approved by Heikki Tuuri. This addresses the second part of
Bug #41609 Crash recovery does not work for InnoDB temporary tables.
Detailed revision comments:
r6248 | marko | 2009-11-30 12:19:50 +0200 (Mon, 30 Nov 2009) | 1 line
branches/zip: ChangeLog: Document r4922 that was forgotten.
applied revisions: r6201, r6202, r6207, r6208, r6210
r6202 - port fix for BUG#48469 to plugin
Detailed revision comments:
r6201 | marko | 2009-11-19 14:09:11 +0200 (Thu, 19 Nov 2009) | 2 lines
branches/zip: ha_innobase::add_index(): Clarify the comment
on orphaned tables when creating a primary key.
r6202 | jyang | 2009-11-19 15:01:00 +0200 (Thu, 19 Nov 2009) | 8 lines
branches/zip: Function fseg_free() is no longer defined
in branches/zip. To port fix for bug #48469 to zip,
we can use btr_free_root() which frees the page,
and also does not require mini-transaction.
Approved by Marko.
r6207 | vasil | 2009-11-20 10:19:14 +0200 (Fri, 20 Nov 2009) | 54 lines
branches/zip: Merge r6198:6206 from branches/5.1:
(r6203 was skipped as it is already in branches/zip)
------------------------------------------------------------------------
r6200 | vasil | 2009-11-19 12:14:23 +0200 (Thu, 19 Nov 2009) | 4 lines
Changed paths:
M /branches/5.1/btr/btr0btr.c
branches/5.1:
White space fixup - indent under the opening (
------------------------------------------------------------------------
r6203 | jyang | 2009-11-19 15:12:22 +0200 (Thu, 19 Nov 2009) | 8 lines
Changed paths:
M /branches/5.1/btr/btr0btr.c
branches/5.1: Use btr_free_root() instead of fseg_free() for
the fix of bug #48469, because fseg_free() is not defined
in the zip branch. And we could save one mini-trasaction started
by fseg_free().
Approved by Marko.
------------------------------------------------------------------------
r6205 | jyang | 2009-11-20 07:55:48 +0200 (Fri, 20 Nov 2009) | 11 lines
Changed paths:
M /branches/5.1/handler/ha_innodb.cc
branches/5.1: Add a special case to handle the Duplicated Key error
and return DB_ERROR instead. This is to avoid a possible SIGSEGV
by mysql error handling re-entering the storage layer for dup key
info without proper table handle.
This is to prevent a server crash when error situation in bug
#45961 "DDL on partitioned innodb tables leaves data dictionary
in an inconsistent state" happens.
rb://157 approved by Sunny Bains.
------------------------------------------------------------------------
r6206 | jyang | 2009-11-20 09:38:43 +0200 (Fri, 20 Nov 2009) | 5 lines
Changed paths:
M /branches/5.1/handler/ha_innodb.cc
branches/5.1: Fix a minor code formating issue for
the parenthesis iplacement of the if condition in
rename_table().
------------------------------------------------------------------------
r6208 | vasil | 2009-11-20 10:49:24 +0200 (Fri, 20 Nov 2009) | 4 lines
branches/zip:
Add ChangeLog entry for c6207.
r6210 | vasil | 2009-11-20 23:39:48 +0200 (Fri, 20 Nov 2009) | 3 lines
branches/zip:
Whitespace fixup.
applied revisions: r6197, r6198, r6199
r6197 - BUG#48317
r6199 - BUG#48526
Detailed revision comments:
r6197 | calvin | 2009-11-19 09:32:55 +0200 (Thu, 19 Nov 2009) | 6 lines
branches/zip: merge the fix of bug#48317 (CMake file)
Due to MySQL changes to the CMake, it is no longer able
to build InnoDB plugin as a static library on Windows.
The fix is proposed by Vlad of MySQL.
r6198 | vasil | 2009-11-19 09:44:31 +0200 (Thu, 19 Nov 2009) | 4 lines
branches/zip:
Add ChangeLog entry for r6197.
r6199 | vasil | 2009-11-19 12:10:12 +0200 (Thu, 19 Nov 2009) | 31 lines
branches/zip: Merge r6159:6198 from branches/5.1:
------------------------------------------------------------------------
r6187 | jyang | 2009-11-18 05:27:30 +0200 (Wed, 18 Nov 2009) | 9 lines
Changed paths:
M /branches/5.1/btr/btr0btr.c
branches/5.1: Fix bug #48469 "when innodb tablespace is
configured too small, crash and corruption!". Function
btr_create() did not check the return status of fseg_create(),
and continue the index creation even there is no sufficient
space.
rb://205 Approved by Marko
------------------------------------------------------------------------
r6188 | jyang | 2009-11-18 07:14:23 +0200 (Wed, 18 Nov 2009) | 8 lines
Changed paths:
M /branches/5.1/data/data0type.c
branches/5.1: Fix bug #48526 "Data type for float and
double is incorrectly reported in InnoDB table monitor".
Certain datatypes are not printed correctly in
dtype_print().
rb://204 Approved by Marko.
------------------------------------------------------------------------
applied revisions: r6185, r6186, r6189, r6194
r6185 - only code changes incorporated, changesets which change
innodb tests in the main mysql suite are discarded
r61889 - Fixes BUG#48782
Detailed revision comments:
r6185 | marko | 2009-11-17 16:44:20 +0200 (Tue, 17 Nov 2009) | 16 lines
branches/zip: Report duplicate table names
to the client connection, not to the error log. This change will allow
innodb-index.test to be re-enabled. It was previously disabled, because
mysql-test-run does not like output in the error log.
row_create_table_for_mysql(): Do not output anything to the error log
when reporting DB_DUPLICATE_KEY. Let the caller report the error.
Add a TODO comment that the dict_table_t object is apparently not freed
when an error occurs.
create_table_def(): Convert InnoDB table names to the character set
of the client connection for reporting. Use my_error(ER_WRONG_COLUMN_NAME)
for reporting reserved column names. Report my_error(ER_TABLE_EXISTS_ERROR)
when row_create_table_for_mysql() returns DB_DUPLICATE_KEY.
rb://206
r6186 | vasil | 2009-11-17 16:48:14 +0200 (Tue, 17 Nov 2009) | 4 lines
branches/zip:
Add ChangeLog entry for r6185.
r6189 | marko | 2009-11-18 11:36:18 +0200 (Wed, 18 Nov 2009) | 5 lines
branches/zip: ha_innobase::add_index(): When creating the primary key
and the table is being locked by another transaction,
do not attempt to drop the table. (Bug #48782)
Approved by Sunny Bains over IM
r6194 | vasil | 2009-11-19 09:24:45 +0200 (Thu, 19 Nov 2009) | 5 lines
branches/zip:
Increment version number from 1.0.5 to 1.0.6 since 1.0.5 was just released
by MySQL and we will soon release 1.0.6.
1. add testcase for BUG#46676
2. Allow CREATE INDEX to be interrupted
3. ha_innobase::change_active_index(): When the history is
missing, report it to the client, not to the error log
4. ChangeLog entries
appplied revisions:r6169, r6170, r6175, r6177, r6179
Detailed revision comments:
r6169 | calvin | 2009-11-12 14:40:43 +0200 (Thu, 12 Nov 2009) | 6 lines
branches/zip: add test case for bug#46676
This crash is reproducible with InnoDB plugin 1.0.4 + MySQL 5.1.37.
But no longer reproducible after MySQL 5.1.38 (with plugin 1.0.5).
Add test case to catch future regression.
r6170 | marko | 2009-11-12 15:49:08 +0200 (Thu, 12 Nov 2009) | 4 lines
branches/zip: Allow CREATE INDEX to be interrupted. (Issue #354)
rb://183 approved by Heikki Tuuri
r6175 | vasil | 2009-11-16 20:07:39 +0200 (Mon, 16 Nov 2009) | 4 lines
branches/zip:
Wrap line at 78th char in the ChangeLog
r6177 | calvin | 2009-11-16 20:20:38 +0200 (Mon, 16 Nov 2009) | 2 lines
branches/zip: add an entry to ChangeLog for r6065
r6179 | marko | 2009-11-17 10:19:34 +0200 (Tue, 17 Nov 2009) | 2 lines
branches/zip: ha_innobase::change_active_index(): When the history is
missing, report it to the client, not to the error log.
applied revisions: r6161, r6162, r6163
Detailed revision comments:
r6161 | vasil | 2009-11-11 15:36:16 +0200 (Wed, 11 Nov 2009) | 4 lines
branches/zip:
Add changelog entry for r6160.
r6162 | vasil | 2009-11-11 16:00:12 +0200 (Wed, 11 Nov 2009) | 4 lines
branches/zip:
Add ChangeLog for r6157.
r6163 | calvin | 2009-11-11 17:53:20 +0200 (Wed, 11 Nov 2009) | 8 lines
branches/zip: Exclude thd_binlog_filter_ok() when building
with older version of MySQL.
thd_binlog_filter_ok() is introduced in MySQL 5.1.41. But the
plugin can be built with MySQL prior to 5.1.41.
Approved by Heikki (on IM).
Enable partition_innodb_plugin.test for BUG#32430
applied revisions: r6134, r6137, r6153
Detailed revision comments:
r6134 | marko | 2009-11-04 09:57:29 +0200 (Wed, 04 Nov 2009) | 5 lines
branches/zip: innobase_convert_identifier(): Convert table names with
explain_filename() to address Bug #32430: 'show innodb status'
causes errors Invalid (old?) table or database name in logs.
rb://134 approved by Sunny Bains
r6137 | marko | 2009-11-04 15:24:28 +0200 (Wed, 04 Nov 2009) | 1 line
branches/zip: dict_index_too_big_for_undo(): Correct a typo.
r6153 | vasil | 2009-11-10 15:33:22 +0200 (Tue, 10 Nov 2009) | 145 lines
branches/zip: Merge r6125:6152 from branches/5.1:
(everything except the last white-space change was skipped as it is already
in branches/zip)
------------------------------------------------------------------------
r6127 | vasil | 2009-10-30 11:18:25 +0200 (Fri, 30 Oct 2009) | 18 lines
Changed paths:
M /branches/5.1/Makefile.am
M /branches/5.1/mysql-test/innodb-autoinc.result
M /branches/5.1/mysql-test/innodb-autoinc.test
branches/5.1:
Backport c6121 from branches/zip:
------------------------------------------------------------------------
r6121 | sunny | 2009-10-30 01:42:11 +0200 (Fri, 30 Oct 2009) | 7 lines
Changed paths:
M /branches/zip/mysql-test/innodb-autoinc.result
branches/zip: This test has been problematic for sometime now. The underlying
bug is that the data dictionaries get out of sync. In the AUTOINC code we
try and apply salve to the symptoms. In the past MySQL made some unrelated
change and the dictionaries stopped getting out of sync and this test started
to fail. Now, it seems they have reverted that changed and the test is
passing again. I suspect this is not he last time that this test will change.
------------------------------------------------------------------------
------------------------------------------------------------------------
r6129 | vasil | 2009-10-30 17:14:22 +0200 (Fri, 30 Oct 2009) | 4 lines
Changed paths:
M /branches/5.1/Makefile.am
branches/5.1:
Revert a change to Makefile.am that sneaked unnoticed in c6127.
------------------------------------------------------------------------
r6136 | marko | 2009-11-04 12:28:10 +0200 (Wed, 04 Nov 2009) | 15 lines
Changed paths:
M /branches/5.1/handler/ha_innodb.cc
M /branches/5.1/include/ha_prototypes.h
M /branches/5.1/ut/ut0ut.c
branches/5.1: Port r6134 from branches/zip:
------------------------------------------------------------------------
r6134 | marko | 2009-11-04 07:57:29 +0000 (Wed, 04 Nov 2009) | 5 lines
branches/zip: innobase_convert_identifier(): Convert table names with
explain_filename() to address Bug #32430: 'show innodb status'
causes errors Invalid (old?) table or database name in logs.
rb://134 approved by Sunny Bains
------------------------------------------------------------------------
innobase_print_identifier(): Replace with innobase_convert_name().
innobase_convert_identifier(): New function, called by innobase_convert_name().
------------------------------------------------------------------------
r6149 | vasil | 2009-11-09 11:15:01 +0200 (Mon, 09 Nov 2009) | 5 lines
Changed paths:
M /branches/5.1/CMakeLists.txt
branches/5.1:
Followup to r5700: Adjust the changes so they are the same as in the BZR
repository.
------------------------------------------------------------------------
r6150 | vasil | 2009-11-09 11:43:31 +0200 (Mon, 09 Nov 2009) | 58 lines
Changed paths:
M /branches/5.1/handler/ha_innodb.cc
branches/5.1:
Merge a part of r2911.5.5 from MySQL:
(the other part of this was merged in c5700)
------------------------------------------------------------
revno: 2911.5.5
committer: Vladislav Vaintroub <vvaintroub@mysql.com>
branch nick: 5.1-innodb_plugin
timestamp: Wed 2009-06-10 10:59:49 +0200
message:
Backport WL#3653 to 5.1 to enable bundled innodb plugin.
Remove custom DLL loader code from innodb plugin code, use
symbols exported from mysqld.
removed:
storage/innodb_plugin/handler/handler0vars.h
storage/innodb_plugin/handler/win_delay_loader.cc
added:
storage/mysql_storage_engine.cmake
win/create_def_file.js
modified:
CMakeLists.txt
include/m_ctype.h
include/my_global.h
include/my_sys.h
include/mysql/plugin.h
libmysqld/CMakeLists.txt
mysql-test/mysql-test-run.pl
mysql-test/t/plugin.test
mysql-test/t/plugin_load-master.opt
mysys/charset.c
sql/CMakeLists.txt
sql/handler.h
sql/mysql_priv.h
sql/mysqld.cc
sql/sql_class.cc
sql/sql_class.h
sql/sql_list.h
sql/sql_profile.h
storage/Makefile.am
storage/archive/CMakeLists.txt
storage/blackhole/CMakeLists.txt
storage/csv/CMakeLists.txt
storage/example/CMakeLists.txt
storage/federated/CMakeLists.txt
storage/heap/CMakeLists.txt
storage/innobase/CMakeLists.txt
storage/innobase/handler/ha_innodb.cc
storage/innodb_plugin/CMakeLists.txt
storage/innodb_plugin/handler/ha_innodb.cc
storage/innodb_plugin/handler/handler0alter.cc
storage/innodb_plugin/handler/i_s.cc
storage/innodb_plugin/plug.in
storage/myisam/CMakeLists.txt
storage/myisammrg/CMakeLists.txt
win/Makefile.am
win/configure.js
------------------------------------------------------------------------
r6152 | vasil | 2009-11-10 15:30:20 +0200 (Tue, 10 Nov 2009) | 4 lines
Changed paths:
M /branches/5.1/handler/ha_innodb.cc
branches/5.1:
White space fixup.
------------------------------------------------------------------------
Detailed revision comments:
r6130 | marko | 2009-11-02 11:42:56 +0200 (Mon, 02 Nov 2009) | 9 lines
branches/zip: Free all resources at shutdown. Set pointers to NULL, so
that Valgrind will not complain about freed data structures that are
reachable via pointers. This addresses Bug #45992 and Bug #46656.
This patch is mostly based on changes copied from branches/embedded-1.0,
mainly c5432, c3439, c3134, c2994, c2978, but also some other code was
copied. Some added cleanup code is specific to MySQL/InnoDB.
rb://199 approved by Sunny Bains
Detailed revision comments:
r6121 | sunny | 2009-10-30 01:42:11 +0200 (Fri, 30 Oct 2009) | 7 lines
branches/zip: This test has been problematic for sometime now. The underlying
bug is that the data dictionaries get out of sync. In the AUTOINC code we
try and apply salve to the symptoms. In the past MySQL made some unrelated
change and the dictionaries stopped getting out of sync and this test started
to fail. Now, it seems they have reverted that changed and the test is
passing again. I suspect this is not he last time that this test will change.
r6124 | jyang | 2009-10-30 10:02:31 +0200 (Fri, 30 Oct 2009) | 5 lines
branches/zip: Correct the bug number for -r6109 change
from # 48273 to #48237
Detailed revision comments:
r6114 | vasil | 2009-10-29 18:43:51 +0200 (Thu, 29 Oct 2009) | 6 lines
branches/zip:
* Add ChangeLog entries for latest changes
* Obey alphabetical order in the list of the files
* White-space fixup
Detailed revision comments:
r6110 | marko | 2009-10-29 12:44:57 +0200 (Thu, 29 Oct 2009) | 2 lines
branches/zip: Makefile.am (INCLUDES): Merge a change from MySQL:
Use $(srcdir)/include instead of $(top_srcdir)/storage/innobase/include.
r6111 | marko | 2009-10-29 13:04:11 +0200 (Thu, 29 Oct 2009) | 33 lines
branches/zip: Fix corruption of buf_pool->LRU_old and improve debug assertions.
This was reported as Issue #381.
buf_page_set_old(): Assert that blocks may only be set old if
buf_pool->LRU_old is initialized and buf_pool->LRU_old_len is nonzero.
Assert that buf_pool->LRU_old points to the block at the old/new boundary.
buf_LRU_old_adjust_len(): Invoke buf_page_set_old() after adjusting
buf_pool->LRU_old and buf_pool->LRU_old_len, in order not to violate
the added assertions.
buf_LRU_old_init(): Replace buf_page_set_old() with a direct
assignment to bpage->old, because these loops that initialize all the
blocks would temporarily violate the assertions about
buf_pool->LRU_old.
buf_LRU_remove_block(): When setting buf_pool->LRU_old = NULL, also
clear all bpage->old flags and set buf_pool->LRU_old_len = 0.
buf_LRU_add_block_to_end_low(), buf_LRU_add_block_low(): Move the
buf_page_set_old() call later in order not to violate the debug
assertions. If buf_pool->LRU_old is NULL, set old=FALSE.
buf_LRU_free_block(): Replace the UNIV_LRU_DEBUG assertion with a
dummy buf_page_set_old() call that performs more thorough checks.
buf_LRU_validate(): Do not tolerate garbage in buf_pool->LRU_old_len
even if buf_pool->LRU_old is NULL. Check that bpage->old is monotonic.
buf_relocate(): Make the UNIV_LRU_DEBUG checks stricter.
buf0buf.h: Revise the documentation of buf_page_t::old and
buf_pool_t::LRU_old_len.