Commit graph

62,731 commits

Author SHA1 Message Date
Jimmy Yang
4bde58257d Fix bug #54044, Create temporary tables and using innodb crashes. Screen
out NULL type columns, and return without creating the table.

rb://378 approved by Marko
2010-06-22 19:04:31 -07:00
Vasil Dimov
5e6006dd42 Merge mysql-5.1-innodb from bk-internal to my local tree 2010-06-22 20:12:05 +03:00
Vasil Dimov
f763381aae Add ChangeLog entry for the fix of Bug#47991 2010-06-22 20:04:54 +03:00
Vasil Dimov
108ce56e60 Fix Bug#47991 InnoDB Dictionary Cache memory usage increases indefinitely
when renaming tables

Allocate the table name using ut_malloc() instead of table->heap because
the latter cannot be freed.

Adjust dict_sys->size calculations all over the code.

Change dict_table_t::name from const char* to char* because we need to
ut_malloc()/ut_free() it.

Reviewed by:	Inaam, Marko, Heikki (rb://384)
Approved by:	Heikki (rb://384)
2010-06-22 19:30:43 +03:00
Marko Mäkelä
baf5c6edec ChangeLog for Bug#54686 "field->col->mtype == type" assertion error at row/row0sel.c 2010-06-22 14:59:49 +03:00
Marko Mäkelä
ff9ba3e376 Bug#54686 "field->col->mtype == type" assertion error at row/row0sel.c
ha_innobase::index_read(), ha_innobase::records_in_range(): Check that
the index is useable before invoking row_sel_convert_mysql_key_to_innobase().

This fix is based on a suggestion by Yasufumi Kinoshita.
2010-06-22 14:52:15 +03:00
Marko Mäkelä
3e7d05b913 Bug#54658: Add ChangeLog entry 2010-06-21 12:51:48 +03:00
Marko Mäkelä
10c9c12bbf Bug #54658: InnoDB: Warning: allocated tablespace %lu, old maximum was 0
dict_check_tablespaces_and_store_max_id(): Initialize max_space_id
and fil_system->max_assigned_id from DICT_HDR_MAX_SPACE_ID.

fil_space_create(): Suppress the warning unless !recv_recovery_on
(do not complain while applying the redo log).
2010-06-21 12:40:08 +03:00
Vasil Dimov
644692fe83 Merge mysql-5.1-innodb from bk-internal to my local repo 2010-06-18 11:51:55 +03:00
Vasil Dimov
26cc1a4b3d Increment InnoDB Plugin version from 1.0.9 to 1.0.10, after
1.0.9 has been released with MySQL 5.1.48.
2010-06-18 10:00:01 +03:00
Jimmy Yang
35fc730329 Check in fix for Bug #52814 InnoDB: Use the new ha_data interfaces
rb://290, approved by Sunny
2010-06-17 22:38:22 -07:00
Jimmy Yang
573bf50c1e Fix an overly asserted assertion during previous checkin for bug #54330. 2010-06-17 10:33:03 -07:00
Jimmy Yang
9ac63a58fa Fix Bug #54330 Broken fast index creation. Add additional array to
account for each merge run's start offset, so correct offsets are
paired up for multiple merge runs.

rb://377 approved by Marko
2010-06-16 19:12:04 -07:00
Jimmy Yang
9908a1e090 Add checkin description for bug #47622 to ChangeLog. 2010-06-15 02:33:26 -07:00
Vasil Dimov
9f57394ae4 Adjust suite/innodb/r/innodb_mysql.result after the merge 2010-06-14 13:35:15 +03:00
Vasil Dimov
f87cb707d2 Merge mysql-5.1 -> mysql-5.1-innodb
(innodb_mysql.result needs to be adjusted after this commit)
2010-06-14 12:43:02 +03:00
Inaam Rana
b26db07a18 merge from parent 2010-06-10 10:35:39 -04:00
Inaam Rana
27c1213d55 Add a debug assertion. 2010-06-10 10:31:28 -04:00
Inaam Rana
18011f34fe Formatting changes 2010-06-10 09:58:11 -04:00
Marko Mäkelä
8371438494 Bug #38999: Re-enable innodb_multi_update.test 2010-06-10 15:56:23 +03:00
Sergey Glukhov
58f1c5fef3 Bug#38999 valgrind warnings for update statement in function compare_record()
(InnoDB plugin branch)
2010-06-09 16:17:18 +04:00
Sergey Glukhov
d2db80c8d4 Bug#38999 valgrind warnings for update statement in function compare_record()
Valgrind warning happpens because of uninitialized null bytes.
In row_sel_push_cache_row_for_mysql() function we fill fetch cache
with necessary field values, row_sel_store_mysql_rec() is called
for this and leaves null bytes untouched.
Later row_sel_pop_cached_row_for_mysql() rewrites table record
buffer with uninited null bytes. We can see the problem from the
test case:
At 'SELECT...' we call row_sel_push...->row_sel_store...->row_sel_pop_cached...
chain which rewrites table->record[0] buffer with uninitialized null bytes.
When we call 'UPDATE...' statement, compare_record uses this buffer and
valgrind warning occurs.
The fix is to init null bytes with default values.
2010-06-09 16:07:34 +04:00
Inaam Rana
8a94e69e5b Add call to log_free_check() in the DML code paths that were missing
this before.
2010-06-08 14:14:08 -04:00
Marko Mäkelä
d8aada889e Document Bug#54009 in the InnoDB Plugin ChangeLog. 2010-06-08 15:12:15 +03:00
Marko Mäkelä
0b767082e7 Bug#54009: Server crashes when data is selected from non backed up table
for InnoDB plugin

dict_load_table(): Pass the correct tablespace flags to
fil_open_single_table_tablespace(). For ROW_FORMAT=COMPACT and REDUNDANT,
the tablespace flags are 0. The table flags would be 0 or DICT_TF_COMPACT.
2010-06-08 15:10:41 +03:00
Marko Mäkelä
883b16c7f7 buf_page_get_gen(): Pass file,line to rw_lock_x_lock(). 2010-06-08 14:40:55 +03:00
karen.langford@oracle.com
6d3d61ce2a Raise version number after cloning 5.1.48 2010-06-03 16:03:17 +02:00
Jimmy Yang
c570b479e6 Remove unncessary name comapre in innobase_get_mysql_key_number_for_index()
introduced in bug fix #53592, since dict_table_t can sufficiently unique
identify the the table.
2010-06-03 06:44:48 -07:00
Marko Mäkelä
d38ef4e6c2 Move some InnoDB tests to mysql-test/suite/innodb. 2010-06-03 12:50:32 +03:00
Marko Mäkelä
72f68480fc Copy built-in InnoDB tests to mysql-test/suite/innodb_plugin. 2010-06-03 12:48:59 +03:00
Marko Mäkelä
6b15804ce7 Source have_innodb_plugin.inc in the plugin tests. 2010-06-03 12:46:37 +03:00
Marko Mäkelä
1c1dea62fb Add innodb_plugin to mysql-test-run default suites. 2010-06-03 12:45:34 +03:00
Marko Mäkelä
1655656b64 Document the Bug #53674 fix in the InnoDB Plugin 2010-06-02 13:39:03 +03:00
Marko Mäkelä
ac776a69e9 Bug#53674: InnoDB: Error: unlock row could not find a 4 mode lock on the record
In semi-consistent read, only unlock freshly locked non-matching records.

lock_rec_lock_fast(): Return LOCK_REC_SUCCESS,
LOCK_REC_SUCCESS_CREATED, or LOCK_REC_FAIL instead of TRUE/FALSE.

enum db_err: Add DB_SUCCESS_LOCKED_REC for indicating a successful
operation where a record lock was created.

lock_sec_rec_read_check_and_lock(),
lock_clust_rec_read_check_and_lock(), lock_rec_enqueue_waiting(),
lock_rec_lock_slow(), lock_rec_lock(), row_ins_set_shared_rec_lock(),
row_ins_set_exclusive_rec_lock(), sel_set_rec_lock(),
row_sel_get_clust_rec_for_mysql(): Return DB_SUCCESS_LOCKED_REC if a
new record lock was created. Adjust callers.

row_unlock_for_mysql(): Correct the function documentation.

row_prebuilt_t::new_rec_locks: Correct the documentation.
2010-06-02 13:37:14 +03:00
Marko Mäkelä
4a8aa70eb8 Bug#53674: InnoDB: Error: unlock row could not find a 4 mode lock on the record
In semi-consistent read, only unlock freshly locked non-matching records.

Define DB_SUCCESS_LOCKED_REC for indicating a successful operation
where a record lock was created.

lock_rec_lock_fast(): Return LOCK_REC_SUCCESS,
LOCK_REC_SUCCESS_CREATED, or LOCK_REC_FAIL instead of TRUE/FALSE.

lock_sec_rec_read_check_and_lock(),
lock_clust_rec_read_check_and_lock(), lock_rec_enqueue_waiting(),
lock_rec_lock_slow(), lock_rec_lock(), row_ins_set_shared_rec_lock(),
row_ins_set_exclusive_rec_lock(), sel_set_rec_lock(),
row_sel_get_clust_rec_for_mysql(): Return DB_SUCCESS_LOCKED_REC if a
new record lock was created. Adjust callers.

row_unlock_for_mysql(): Correct the function documentation.

row_prebuilt_t::new_rec_locks: Correct the documentation.
2010-06-02 13:26:37 +03:00
Marko Mäkelä
9938680e38 fil_print_orphaned_tablespaces(): Unused function, remove. 2010-06-02 13:19:40 +03:00
Georgi Kodinov
def4e63fb3 merge 2010-06-02 11:44:11 +03:00
Georgi Kodinov
a92adf154c changed the tree name 2010-06-02 11:42:37 +03:00
Marko Mäkelä
54e234a2c9 Document Bug #48197 fix 2010-06-01 16:58:02 +03:00
Marko Mäkelä
06a0882d60 Bug#48197: Concurrent rw_lock_free may cause assertion failure
rw_lock_t: Remove magic_n unless UNIV_DEBUG is defined.
rw_lock_free(): Invalidate magic_n only after removing from rw_lock_list.
2010-06-01 16:43:35 +03:00
Georgi Kodinov
6b101d4ffc Bug#40928 : make main.func_str experimental on Solaris 2010-06-01 15:16:35 +03:00
Georgi Kodinov
8cf7586e43 Bug #54138 : making main.sp and rpl.rpl_row_sp011 experimental on solaris 2010-06-01 15:14:38 +03:00
Marko Mäkelä
831e6d9355 Minor cleanup.
lock_rec_unlock(): Cache first_lock and rewrite while() loops as for().

btr_cur_optimistic_update(): Use common error handling return.

row_create_prebuilt(): Add Valgrind instrumentation.
2010-06-01 15:07:51 +03:00
Marko Mäkelä
0ca5b0f6eb Document the Bug #53812 fix. 2010-06-01 15:05:21 +03:00
Georgi Kodinov
87ea07928a merged mysql-5.0-bugteam -> mysql-5.1-bugteam 2010-06-01 14:48:24 +03:00
Georgi Kodinov
0563526ef8 merge mysql-5.1 -> mysql-5.1-bugteam 2010-06-01 14:44:31 +03:00
Georgi Kodinov
f9823c024e merged mysql-5.0 to mysql-5.0-bugteam 2010-06-01 14:28:58 +03:00
Marko Mäkelä
d99be48c2a Bug#53812: assert row/row0umod.c line 660 in txn rollback after crash recovery
row_undo_mod_upd_exist_sec(): Tolerate a failure to build the index entry
for a DYNAMIC or COMPRESSED table during crash recovery.
2010-06-01 13:37:38 +03:00
Sergey Glukhov
d28369b121 test case fix 2010-06-01 11:54:06 +04:00
Mattias Jonsson
79c30dd0d4 post push fix for bug#49161
result file differs on embedded
2010-06-01 09:02:28 +02:00