mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 11:31:51 +01:00
d118d29eb3
------------------------------------------------------------------------ r4008 | vasil | 2009-01-20 17:01:08 +0200 (Tue, 20 Jan 2009) | 4 lines branches/zip: Add ChangeLog entries for the bugfixes in r4004 and r4005. ------------------------------------------------------------------------ r4027 | marko | 2009-01-23 11:04:49 +0200 (Fri, 23 Jan 2009) | 1 line branches/zip: Remove some redundant #include statements. ------------------------------------------------------------------------ r4028 | marko | 2009-01-23 11:26:10 +0200 (Fri, 23 Jan 2009) | 13 lines branches/zip: Enclose some more unused code in #ifdef UNIV_LOG_ARCHIVE. This will help trim the dependencies of InnoDB Hot Backup. recv_recovery_from_checkpoint_start(): Rename to recv_recovery_from_checkpoint_start_func(), and remove the two first parameters unless UNIV_LOG_ARCHIVE is defined. Define and use the auxiliary macros TYPE_CHECKPOINT and LIMIT_LSN in the function. struct recv_sys_struct: Remove archive_group unless UNIV_LOG_ARCHIVE is defined. Do not define LOG_ARCHIVE unless UNIV_LOG_ARCHIVE is defined. ------------------------------------------------------------------------ r4029 | marko | 2009-01-23 14:07:38 +0200 (Fri, 23 Jan 2009) | 1 line branches/zip: Remove some redundant #include directives. ------------------------------------------------------------------------ r4030 | marko | 2009-01-23 15:31:36 +0200 (Fri, 23 Jan 2009) | 2 lines branches/zip: buf_page_get_gen(): Remove the unused mode BUF_GET_NOWAIT. This was noticed while investigating Issue #160. ------------------------------------------------------------------------ r4033 | marko | 2009-01-23 15:49:04 +0200 (Fri, 23 Jan 2009) | 16 lines branches/zip: Merge revisions 4005:4032 from branches/5.1: ------------------------------------------------------------------------ r4032 | marko | 2009-01-23 15:43:51 +0200 (Fri, 23 Jan 2009) | 10 lines branches/5.1: Merge r4031 from branches/5.0: btr_search_drop_page_hash_when_freed(): Check if buf_page_get_gen() returns NULL. The page may have been evicted from the buffer pool between buf_page_peek_if_search_hashed() and buf_page_get_gen(), because the buffer pool mutex will be released between these two calls. (Bug #42279, Issue #160) rb://82 approved by Heikki Tuuri ------------------------------------------------------------------------ ------------------------------------------------------------------------ r4034 | marko | 2009-01-26 16:16:39 +0200 (Mon, 26 Jan 2009) | 2 lines branches/zip: buf_page_get_gen(): Fix a "possibly uninitialized" warning that was introduced in r4030. ------------------------------------------------------------------------ r4036 | marko | 2009-01-26 22:33:20 +0200 (Mon, 26 Jan 2009) | 22 lines branches/zip: In r988, the function buf_block_align() was enclosed within UNIV_DEBUG. The two remaining callers in non-debug builds, btr_search_guess_on_hash() and btr_search_validate(), were rewritten to call buf_page_hash_get(). To implement support for a resizeable buffer pool, the function buf_block_align() had been rewritten to perform a page hash lookup in the buffer pool. The caller was also made responsible for holding the buffer pool mutex. Because the page hash lookup is expensive and it has to be done while holding the buffer pool mutex, implement buf_block_align() by pointer arithmetics again, and make btr_search_guess_on_hash() call it. Note that this will have to be adjusted if the interface to the resizeable buffer pool is actually implemented. rb://83 approved by Heikki Tuuri, to address Issue #161. As a deviation from the approved patch, this patch also makes btr_search_validate() (invoked by CHECK TABLE) check that buf_pool->page_hash is consistent with buf_block_align(). ------------------------------------------------------------------------ r4039 | vasil | 2009-01-27 08:04:17 +0200 (Tue, 27 Jan 2009) | 5 lines branches/zip: Adjust the paths in innodb_file_per_table.diff with a recent rename of the test/result files in the MySQL tree. ------------------------------------------------------------------------ r4042 | marko | 2009-01-27 10:05:24 +0200 (Tue, 27 Jan 2009) | 2 lines branches/zip: buf_LRU_invalidate_tablespace(): Fix a race condition: read zip_size while still holding block_mutex. ------------------------------------------------------------------------ r4045 | marko | 2009-01-28 00:31:17 +0200 (Wed, 28 Jan 2009) | 8 lines branches/zip: btr_search_validate(): Fix a bogus UNIV_DEBUG assertion failure that was accidentally introduced in r4036. Instead of calling buf_block_get_frame(), which asserts that the block must be buffer-fixed, access block->frame directly. That is safe, because changes of block->page.state are protected by the buffer pool mutex, which we are holding. This bug was reported by Michael. ------------------------------------------------------------------------ r4046 | marko | 2009-01-28 00:33:20 +0200 (Wed, 28 Jan 2009) | 2 lines branches/zip: Revert the change to univ.i that was accidentally committed in r4045. ------------------------------------------------------------------------ r4047 | marko | 2009-01-28 00:46:13 +0200 (Wed, 28 Jan 2009) | 6 lines branches/zip: btr_search_validate(): Fix an assertion failure that was introduced in r4036. Do not call buf_block_get_space(), buf_block_get_page_no() unless the block state is BUF_BLOCK_FILE_PAGE. This bug was reported by Michael. ------------------------------------------------------------------------ r4050 | vasil | 2009-01-28 08:21:44 +0200 (Wed, 28 Jan 2009) | 5 lines branches/zip: Adjust the paths in innodb_lock_wait_timeout.diff with a recent rename of the test/result files in the MySQL tree. ------------------------------------------------------------------------ r4051 | marko | 2009-01-28 14:35:49 +0200 (Wed, 28 Jan 2009) | 1 line branches/zip: trx0sys.ic: Remove unnecessary #include <data0type.h>. ------------------------------------------------------------------------ r4052 | marko | 2009-01-28 15:21:45 +0200 (Wed, 28 Jan 2009) | 5 lines branches/zip: Enclose some functions inside #ifdef UNIV_HOTBACKUP: ut_sprintf_timestamp_without_extra_chars(), ut_get_year_month_day(), log_reset_first_header_and_checkpoint(): These functions are only used in InnoDB Hot Backup. ------------------------------------------------------------------------ r4056 | calvin | 2009-01-29 03:06:41 +0200 (Thu, 29 Jan 2009) | 33 lines branches/zip: Merge revisions 4032:4035 from branches/5.1 All InnoDB related tests passed on Windows, except known failure in partition_innodb_semi_consistent. The inadvertent change to btr0sea.c in this commit is reverted in r4060. ------------------------------------------------------------------------ r4035 | vasil | 2009-01-26 09:26:25 -0600 (Mon, 26 Jan 2009) | 23 lines branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2646.161.4 committer: Tatiana A. Nurnberg <azundris@mysql.com> branch nick: 51-31177v2 timestamp: Mon 2009-01-12 06:32:49 +0100 message: Bug#31177: Server variables can't be set to their current values Bounds-checks and blocksize corrections were applied to user-input, but constants in the server were trusted implicitly. If these values did not actually meet the requirements, the user could not set change a variable, then set it back to the (wonky) factory default or maximum by explicitly specifying it (SET <var>=<value> vs SET <var>=DEFAULT). Now checks also apply to the server's presets. Wonky values and maxima get corrected at startup. Consequently all non-offsetted values the user sees are valid, and users can set the variable to that exact value if they so desire. ------------------------------------------------------------------------ r4060 | marko | 2009-01-29 09:39:04 +0200 (Thu, 29 Jan 2009) | 1 line branches/zip: btr0sea.c: Revert the inadvertent change made in r4056. ------------------------------------------------------------------------
692 lines
23 KiB
Text
692 lines
23 KiB
Text
2009-01-27 The InnoDB Team
|
|
|
|
* buf/buf0lru.c:
|
|
Fix a race condition in buf_LRU_invalidate_tablespace():
|
|
The compressed page size (zip_size) was read while the block
|
|
descriptor was no longer protected by a mutex. This could lead to
|
|
corruption when a table is dropped on a busy system that contains
|
|
compressed tables.
|
|
|
|
2009-01-26 The InnoDB Team
|
|
|
|
* include/buf0buf.h, include/buf0buf.ic, buf/buf0buf.c,
|
|
include/mtr0log.ic, include/row0upd.ic, mtr/mtr0mtr.c,
|
|
btr/btr0sea.c:
|
|
Implement buf_block_align() with pointer arithmetics, as it is in
|
|
the built-in InnoDB distributed with MySQL. Do not acquire the
|
|
buffer pool mutex before buf_block_align(). This removes a
|
|
scalability bottleneck in the adaptive hash index lookup. In
|
|
CHECK TABLE, check that buf_pool->page_hash is consistent with
|
|
buf_block_align().
|
|
|
|
2009-01-23 The InnoDB Team
|
|
|
|
* btr/btr0sea.c:
|
|
Fix Bug#42279 Race condition in btr_search_drop_page_hash_when_freed()
|
|
|
|
2009-01-23 The InnoDB Team
|
|
|
|
* include/buf0buf.h, buf/buf0buf.c:
|
|
Remove the unused mode BUF_GET_NOWAIT of buf_page_get_gen()
|
|
|
|
2009-01-20 The InnoDB Team
|
|
|
|
* include/rem0rec.h, include/rem0rec.ic:
|
|
Fix Bug#41571 MySQL segfaults after innodb recovery
|
|
|
|
2009-01-20 The InnoDB Team
|
|
|
|
* lock/lock0lock.c:
|
|
Fix Bug#42152 Race condition in lock_is_table_exclusive()
|
|
|
|
2009-01-14 The InnoDB Team
|
|
|
|
* include/trx0roll.h, trx/trx0roll.c, trx/trx0trx.c:
|
|
Fix Bug#38187 Error 153 when creating savepoints
|
|
|
|
2009-01-14 The InnoDB Team
|
|
|
|
* dict/dict0load.c:
|
|
Fix Bug#42075 dict_load_indexes failure in dict_load_table will
|
|
corrupt the dictionary cache
|
|
|
|
2009-01-13 The InnoDB Team
|
|
|
|
* include/hash0hash.h, include/dict0dict.ic, dict/dict0dict.c,
|
|
include/buf0buf.ic, buf/buf0buddy.c, trx/trx0i_s.c,
|
|
handler/ha_innodb.cc, handler/win_delay_loader.cc,
|
|
dict/dict0mem.c, ha/ha0storage.c, thr/thr0loc.c, fil/fil0fil.c:
|
|
Add the parameter ASSERTION to HASH_SEARCH() macro, and use it for
|
|
light validation of the traversed items in hash table lookups when
|
|
UNIV_DEBUG is enabled.
|
|
|
|
2009-01-09 The InnoDB Team
|
|
|
|
* include/buf0flu.h, include/buf0flu.ic, buf/buf0flu.c:
|
|
Remove unused code from the functions
|
|
buf_flush_insert_into_flush_list() and
|
|
buf_flush_insert_sorted_into_flush_list().
|
|
|
|
2009-01-09 The InnoDB Team
|
|
|
|
* buf/buf0flu.c: Simplify the functions buf_flush_try_page() and
|
|
buf_flush_batch(). Add debug assertions and an explanation to
|
|
buf_flush_write_block_low().
|
|
|
|
2009-01-07 The InnoDB Team
|
|
|
|
* row/row0merge.c:
|
|
Fix a bug in recovery when dropping temporary indexes
|
|
|
|
2009-01-07 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, handler/ha_innodb.h, handler/handler0alter.cc:
|
|
Fix Bug#41680 calls to trx_allocate_for_mysql are not consistent
|
|
|
|
2009-01-07 The InnoDB Team
|
|
|
|
* mysql-test/innodb_bug41904.result, mysql-test/innodb_bug41904.test,
|
|
row/row0merge.c:
|
|
Fix Bug#41904 create unique index problem
|
|
|
|
2009-01-02 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, include/srv0srv.h, srv/srv0srv.c,
|
|
srv/srv0start.c, mem/mem0pool.c,
|
|
mysql-test/innodb-use-sys-malloc-master.opt,
|
|
mysql-test/innodb-use-sys-malloc.result,
|
|
mysql-test/innodb-use-sys-malloc.test:
|
|
Implement the configuration parameter innodb_use_sys_malloc
|
|
(false by default), for disabling InnoDB's internal memory allocator
|
|
and using system malloc/free instead.
|
|
|
|
2008-12-30 The InnoDB Team
|
|
|
|
* btr/btr0btr.c:
|
|
When setting the PAGE_LEVEL of a compressed B-tree page from or to
|
|
0, compress the page at the same time. This is necessary, because
|
|
the column information stored on the compressed page will differ
|
|
between leaf and non-leaf pages. Leaf pages are identified by
|
|
PAGE_LEVEL=0. This bug can make InnoDB crash when all rows of a
|
|
compressed table are deleted.
|
|
|
|
2008-12-17 The InnoDB Team
|
|
|
|
* include/row0upd.h, include/row0sel.h, pars/pars0pars.c,
|
|
row/row0upd.c, row/row0sel.c, row/row0mysql.c:
|
|
Remove update-in-place 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
|
|
when acquiring latches on insert buffer bitmap pages.
|
|
|
|
2008-12-17 The InnoDB Team
|
|
|
|
* include/univ.i, include/buf0buf.h, include/hash0hash.h,
|
|
include/ha0ha.h, include/ha0ha.ic, ha/ha0ha.c, ha/hash0hash.c,
|
|
btr/btr0sea.c, buf/buf0lru.c, buf/buf0buf.c:
|
|
Introduce the preprocessor symbol UNIV_AHI_DEBUG for enabling
|
|
adaptive hash index debugging independently of UNIV_DEBUG.
|
|
|
|
2008-12-16 The InnoDB Team
|
|
|
|
* btr/btr0cur.c:
|
|
Do not update the free bits in the insert buffer bitmap when
|
|
inserting or deleting from the insert buffer B-tree. Assert that
|
|
records in the insert buffer B-tree are never updated.
|
|
|
|
2008-12-12 The InnoDB Team
|
|
|
|
* include/fil0fil.h, include/ibuf0ibuf.h, include/ibuf0types.h,
|
|
include/ibuf0ibuf.ic, ibuf/ibuf0ibuf.c,
|
|
buf/buf0buf.c, fil/fil0fil.c, fsp/fsp0fsp.c:
|
|
Clean up the insert buffer subsystem so that only one insert
|
|
buffer B-tree exists.
|
|
|
|
Originally, there were provisions in InnoDB for multiple insert
|
|
buffer B-trees, apparently one for each tablespace.
|
|
|
|
When Heikki Tuuri implemented multiple InnoDB tablespaces in
|
|
MySQL/InnoDB 4.1, he made the insert buffer live only in the
|
|
system tablespace (space 0) but left the provisions in the code.
|
|
|
|
2008-12-11 The InnoDB Team
|
|
|
|
* include/srv0srv.h, srv/srv0srv.c, os/os0proc.c:
|
|
Fix the issue that the InnoDB plugin fails if
|
|
innodb_buffer_pool_size is defined bigger than 4096M on 64-bit
|
|
Windows. This bug should not have affected other 64-bit systems.
|
|
|
|
2008-12-09 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc:
|
|
Fix Bug#40386 Not flushing query cache after truncate.
|
|
|
|
ha_statistics.records cannot be 0 unless the table is empty, set
|
|
to 1 instead. The original problem of Bug#29507 has been fixed in
|
|
the server.
|
|
|
|
2008-12-09 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, srv/srv0srv.c, trx/trx0trx.c:
|
|
Fix Bug#40760 Getting database deadlocks on simultaneous inserts.
|
|
|
|
The config param innodb_thread_concurrency is dynamically set and
|
|
is read when a thread enters/exits innodb. If the value is
|
|
changed between the enter and exit time the behaviour becomes
|
|
erratic. The fix is not to use srv_thread_concurrency when
|
|
exiting, instead use the flag trx->declared_to_be_inside_innodb.
|
|
|
|
2008-12-04 The InnoDB Team
|
|
|
|
* include/mysql_addons.h, handler/mysql_addons.cc,
|
|
handler/ha_innodb.cc, trx/trx0i_s.c, win-plugin/win-plugin.diff:
|
|
Remove dependencies to MySQL internals (defining MYSQL_SERVER).
|
|
|
|
2008-12-02 The InnoDB Team
|
|
|
|
* page/page0cur.c:
|
|
When allocating space for a record from the free list of
|
|
previously purged records, zero out the DB_TRX_ID and DB_ROLL_PTR
|
|
of the purged record if the new record would not overwrite these
|
|
fields. This fixes a harmless content mismatch reported by
|
|
page_zip_validate().
|
|
|
|
2008-12-02 The InnoDB Team
|
|
|
|
* row/row0merge.c:
|
|
Replace the WHILE 1 with WHILE 1=1 in the SQL procedure, so that
|
|
the loop will actually be entered and temporary indexes be dropped
|
|
during crash recovery.
|
|
|
|
2008-12-01 The InnoDB Team
|
|
|
|
InnoDB Plugin 1.0.2 released
|
|
|
|
2008-10-31 The InnoDB Team
|
|
|
|
* dict/dict0mem.c, include/dict0mem.h, include/lock0lock.h,
|
|
include/row0mysql.h, include/trx0trx.h, include/univ.i,
|
|
include/ut0vec.h, include/ut0vec.ic, lock/lock0lock.c,
|
|
row/row0mysql.c, trx/trx0trx.c:
|
|
Fix Bug#26316 Triggers create duplicate entries on auto-increment
|
|
columns
|
|
|
|
2008-10-30 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, handler/handler0vars.h,
|
|
handler/win_delay_loader.cc, mysql-test/innodb_bug40360.result,
|
|
mysql-test/innodb_bug40360.test:
|
|
Fix Bug#40360 Binlog related errors with binlog off
|
|
|
|
2008-10-29 The InnoDB Team
|
|
|
|
* include/data0type.ic:
|
|
Fix Bug#40369 dtype_get_sql_null_size() returns 0 or 1, not the size
|
|
|
|
2008-10-29 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, include/srv0srv.h, srv/srv0srv.c:
|
|
Fix Bug#38189 innodb_stats_on_metadata missing
|
|
|
|
2008-10-28 The InnoDB Team
|
|
|
|
* CMakeLists.txt, ha_innodb.def, handler/ha_innodb.cc,
|
|
handler/handler0alter.cc, handler/handler0vars.h, handler/i_s.cc,
|
|
handler/win_delay_loader.cc, win-plugin/*:
|
|
Implemented the delayloading of externals for the plugin on Windows.
|
|
This makes it possible to build a dynamic plugin (ha_innodb.dll) on
|
|
Windows.
|
|
|
|
2008-10-27 The InnoDB Team
|
|
|
|
* CMakeLists.txt:
|
|
Fix Bug#19424 InnoDB: Possibly a memory overrun of the buffer being
|
|
freed (64-bit Visual C)
|
|
|
|
2008-10-23 The InnoDB Team
|
|
|
|
* ibuf/ibuf0ibuf.c:
|
|
ibuf_delete_rec(): When the cursor to the insert buffer record
|
|
cannot be restored, do not complain if the tablespace does not
|
|
exist, because the insert buffer record may have been discarded by
|
|
some other thread. This bug has existed in MySQL/InnoDB since
|
|
version 4.1, when innodb_file_per_table was implemented.
|
|
This may fix Bug#27276 InnoDB Error: ibuf cursor restoration fails.
|
|
|
|
2008-10-22 The InnoDB Team
|
|
|
|
* dict/dict0dict.c, dict/dict0mem.c, handler/ha_innodb.cc,
|
|
handler/ha_innodb.h, include/dict0dict.h, include/dict0mem.h,
|
|
row/row0mysql.c:
|
|
Fix Bug#39830 Table autoinc value not updated on first insert
|
|
Fix Bug#35498 Cannot get table test/table1 auto-inccounter value in
|
|
::info
|
|
Fix Bug#36411 "Failed to read auto-increment value from storage
|
|
engine" in 5.1.24 auto-inc
|
|
|
|
2008-10-22 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, include/row0mysql.h, row/row0mysql.c:
|
|
Fix Bug#40224 New AUTOINC changes mask reporting of deadlock/timeout
|
|
errors
|
|
|
|
2008-10-16 The InnoDB Team
|
|
|
|
* dict/dict0dict.c, mysql-test/innodb-index.result,
|
|
mysql-test/innodb-index.test:
|
|
Skip the undo log size check when creating REDUNDANT and COMPACT
|
|
tables. In ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED, column
|
|
prefix indexes require that prefixes of externally stored columns
|
|
be written to the undo log. This may make the undo log record
|
|
bigger than the record on the B-tree page. The maximum size of an
|
|
undo log record is the page size. That must be checked for, in
|
|
dict_index_add_to_cache(). However, this restriction must not
|
|
be enforced on REDUNDANT or COMPACT tables.
|
|
|
|
2008-10-15 The InnoDB Team
|
|
|
|
* btr/btr0cur.c, include/btr0cur.h, row/row0ext.c, row/row0sel.c,
|
|
row/row0upd.c:
|
|
When the server crashes while freeing an externally stored column
|
|
of a compressed table, the BTR_EXTERN_LEN field in the BLOB
|
|
pointer will be written as 0. Tolerate this in the functions that
|
|
deal with externally stored columns. This fixes problems after
|
|
crash recovery, in the rollback of incomplete transactions, and in
|
|
the purge of delete-marked records.
|
|
|
|
2008-10-15 The InnoDB Team
|
|
|
|
* btr/btr0btr.c, include/page0zip.h, page/page0zip.c, include/univ.i:
|
|
When a B-tree node of a compressed table is split or merged, the
|
|
compression may fail. In this case, the entire compressed page
|
|
will be copied and the excess records will be deleted. However,
|
|
page_zip_copy(), now renamed to page_zip_copy_recs(), copied too
|
|
many fields in the page header, overwriting PAGE_BTR_SEG_LEAF and
|
|
PAGE_BTR_SEG_TOP when splitting the B-tree root. This caused
|
|
corruption of compressed tables. Furthermore, the lock table and
|
|
the adaptive hash index would be corrupted, because we forgot to
|
|
update them when invoking page_zip_copy_recs().
|
|
|
|
Introduce the symbol UNIV_ZIP_DEBUG for triggering the copying of
|
|
compressed pages more often, for debugging purposes.
|
|
|
|
2008-10-10 The InnoDB Team
|
|
|
|
* handler/handler0alter.cc, include/row0merge.h, row/row0merge.c,
|
|
row/row0mysql.c:
|
|
Fix some locking issues, mainly in fast index creation. The
|
|
InnoDB data dictionary cache should be latched whenever a
|
|
transaction is holding locks on any data dictionary tables.
|
|
Otherwise, lock waits or deadlocks could occur. Furthermore, the
|
|
data dictionary transaction must be committed (and the locks
|
|
released) before the data dictionary latch is released.
|
|
|
|
ha_innobase::add_index(): Lock the data dictionary before renaming
|
|
or dropping the created indexes, because neither operation will
|
|
commit the data dictionary transaction.
|
|
|
|
ha_innobase::final_drop_index(): Commit the transactions before
|
|
unlocking the data dictionary.
|
|
|
|
2008-10-09 The InnoDB Team
|
|
|
|
* buf/buf0lru.c:
|
|
Fix Bug#39939 DROP TABLE/DISCARD TABLESPACE takes long time in
|
|
buf_LRU_invalidate_tablespace()
|
|
|
|
2008-10-08 The InnoDB Team
|
|
|
|
* dict/dict0crea.c, trx/trx0roll.c, include/row0mysql.h,
|
|
row/row0merge.c, row/row0mysql.c:
|
|
When dropping a table, hold the data dictionary latch until the
|
|
transaction has been committed. The data dictionary latch is
|
|
supposed to prevent lock waits and deadlocks in the data
|
|
dictionary tables. Due to this bug, DROP TABLE could cause a
|
|
deadlock or hang. Note that because of Bug#33650 and Bug#39833,
|
|
MySQL may also drop a (temporary) table when executing CREATE INDEX
|
|
or ALTER TABLE ... ADD INDEX.
|
|
|
|
2008-10-04 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, mysql-test/innodb_bug39438-master.opt,
|
|
mysql-test/innodb_bug39438.result, mysql-test/innodb_bug39438.test:
|
|
Fix Bug#39438 Testcase for Bug#39436 crashes on 5.1 in
|
|
fil_space_get_latch
|
|
|
|
2008-10-04 The InnoDB Team
|
|
|
|
* include/lock0lock.h, lock/lock0lock.c,
|
|
mysql-test/innodb_bug38231.result, mysql-test/innodb_bug38231.test,
|
|
row/row0mysql.c:
|
|
Fix Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE +
|
|
LOCK / UNLOCK
|
|
|
|
2008-10-04 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc:
|
|
Fix Bug#35498 Cannot get table test/table1 auto-inccounter value in
|
|
::info
|
|
|
|
2008-10-04 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, handler/ha_innodb.h:
|
|
Fix Bug#37788 InnoDB Plugin: AUTO_INCREMENT wrong for compressed
|
|
tables
|
|
|
|
2008-10-04 The InnoDB Team
|
|
|
|
* dict/dict0dict.c, handler/ha_innodb.cc, handler/ha_innodb.h,
|
|
include/dict0dict.h, include/dict0mem.h, row/row0mysql.c:
|
|
Fix Bug#39830 Table autoinc value not updated on first insert
|
|
|
|
2008-10-03 The InnoDB Team
|
|
|
|
* mysql-test/innodb-index.test, mysql-test/innodb-index.result,
|
|
mysql-test/innodb-timeout.test, mysql-test/innodb-timeout.result,
|
|
srv/srv0srv.c, include/srv0srv.h, handler/ha_innodb.cc,
|
|
include/ha_prototypes.h:
|
|
Fix Bug#36285 innodb_lock_wait_timeout is not dynamic, not per session
|
|
|
|
2008-09-19 The InnoDB Team
|
|
|
|
* os/os0proc.c:
|
|
Fix a memory leak on Windows. The memory leak was due to wrong
|
|
parameters passed into VirtualFree() call. As the result, the
|
|
call fails with Windows error 87.
|
|
|
|
2008-09-17 The InnoDB Team
|
|
|
|
* mysql-test/innodb.result, mysql-test/innodb-zip.result,
|
|
mysql-test/innodb-zip.test, mysql-test/innodb.test, ibuf/ibuf0ibuf.c,
|
|
dict/dict0crea.c, dict/dict0load.c, dict/dict0boot.c,
|
|
include/dict0dict.h, include/trx0trx.h, dict/dict0dict.c,
|
|
trx/trx0trx.c, include/ha_prototypes.h, handler/ha_innodb.cc:
|
|
When creating an index in innodb_strict_mode, check that the
|
|
maximum record size will never exceed the B-tree page size limit.
|
|
For uncompressed tables, there should always be enough space for
|
|
two records in an empty B-tree page. For compressed tables, there
|
|
should be enough space for storing two node pointer records or one
|
|
data record in an empty page in uncompressed format.
|
|
The purpose of this check is to guarantee that INSERT or UPDATE
|
|
will never fail due to too big record size.
|
|
|
|
2008-09-17 The InnoDB Team
|
|
|
|
* btr/btr0cur.c, data/data0data.c, include/page0zip.h,
|
|
include/page0zip.ic, page/page0zip.c, mysql-test/innodb_bug36172.test:
|
|
Prevent infinite B-tree page splits in compressed tables by
|
|
ensuring that there will always be enough space for two node
|
|
pointer records in an empty B-tree page. Also, require that at
|
|
least one data record will fit in an empty compressed page. This
|
|
will reduce the maximum size of records in compressed tables.
|
|
|
|
2008-09-09 The InnoDB Team
|
|
|
|
* mysql-test/innodb.result:
|
|
Fix the failing innodb test by merging changes that MySQL made to
|
|
that file (r2646.12.1 in MySQL BZR repository)
|
|
|
|
2008-09-09 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, mysql-test/innodb-autoinc.result,
|
|
mysql-test/innodb-autoinc.test:
|
|
Fix Bug#38839 auto increment does not work properly with InnoDB after
|
|
update
|
|
|
|
2008-09-09 The InnoDB Team
|
|
|
|
* dict/dict0dict.c, handler/handler0alter.cc, include/dict0dict.h,
|
|
mysql-test/innodb-index.result, mysql-test/innodb-index.test:
|
|
Fix Bug#38786 InnoDB plugin crashes on drop table/create table with FK
|
|
|
|
2008-08-21 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, include/ha_prototypes.h, row/row0sel.c:
|
|
Fix Bug#37885 row_search_for_mysql may gap lock unnecessarily with SQL
|
|
comments in query
|
|
|
|
2008-08-21 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc:
|
|
Fix Bug#38185 ha_innobase::info can hold locks even when called with
|
|
HA_STATUS_NO_LOCK
|
|
|
|
2008-08-18 The InnoDB Team
|
|
|
|
* buf/buf0buf.c, buf/buf0lru.c, include/buf0buf.ic, include/univ.i:
|
|
Introduce UNIV_LRU_DEBUG for debugging the LRU buffer pool cache
|
|
|
|
2008-08-08 The InnoDB Team
|
|
|
|
* buf/buf0lru.c, include/buf0buf.h:
|
|
Fix two recovery bugs that could lead to a crash in debug builds with
|
|
small buffer size
|
|
|
|
2008-08-07 The InnoDB Team
|
|
|
|
* btr/btr0cur.c, handler/ha_innodb.cc, include/srv0srv.h,
|
|
srv/srv0srv.c:
|
|
Add a parameter innodb_stats_sample_pages to allow users to control
|
|
the number of index dives when InnoDB estimates the cardinality of
|
|
an index (ANALYZE TABLE, SHOW TABLE STATUS etc)
|
|
|
|
2008-08-07 The InnoDB Team
|
|
|
|
* trx/trx0i_s.c:
|
|
Fix a bug that would lead to a crash if a SELECT was issued from the
|
|
INFORMATION_SCHEMA tables and there are rolling back transactions at
|
|
the same time
|
|
|
|
2008-08-06 The InnoDB Team
|
|
|
|
* btr/btr0btr.c, btr/btr0cur.c, ibuf/ibuf0ibuf.c, include/btr0cur.h,
|
|
include/trx0roll.h, include/trx0types.h, row/row0purge.c,
|
|
row/row0uins.c, row/row0umod.c, trx/trx0roll.c:
|
|
In the rollback of incomplete transactions after crash recovery,
|
|
tolerate clustered index records whose externally stored columns
|
|
have not been written.
|
|
|
|
2008-07-30 The InnoDB Team
|
|
|
|
* trx/trx0trx.c:
|
|
Fixes a race in recovery where the recovery thread recovering a
|
|
PREPARED trx and the background rollback thread can both try
|
|
to free the trx after its status is set to COMMITTED_IN_MEMORY.
|
|
|
|
2008-07-29 The InnoDB Team
|
|
|
|
* include/trx0rec.h, row/row0purge.c, row/row0vers.c, trx/trx0rec.c:
|
|
Fix a BLOB corruption bug
|
|
|
|
2008-07-15 The InnoDB Team
|
|
|
|
* btr/btr0sea.c, dict/dict0dict.c, include/btr0sea.h:
|
|
Fixed a timing hole where a thread dropping an index can free the
|
|
in-memory index struct while another thread is still using that
|
|
structure to remove entries from adaptive hash index belonging
|
|
to one of the pages that belongs to the index being dropped.
|
|
|
|
2008-07-04 The InnoDB Team
|
|
|
|
* mysql-test/innodb-index.result:
|
|
Fix the failing innodb-index test by adjusting the result to a new
|
|
MySQL behavior (the change occured in BZR-r2667)
|
|
|
|
2008-07-03 The InnoDB Team
|
|
|
|
* mysql-test/innodb-zip.result, mysql-test/innodb-zip.test:
|
|
Remove the negative test cases that produce warnings
|
|
|
|
2008-07-02 The InnoDB Team
|
|
|
|
* mysql-test/innodb-replace.result, mysql-test/innodb-index.test:
|
|
Disable part of innodb-index test because MySQL changed its behavior
|
|
and is not calling ::add_index() anymore when adding primary index on
|
|
non-NULL column
|
|
|
|
2008-07-01 The InnoDB Team
|
|
|
|
* mysql-test/innodb-replace.result, mysql-test/innodb-replace.test:
|
|
Fix the failing innodb-replace test by merging changes that MySQL
|
|
made to that file (r2659 in MySQL BZR repository)
|
|
|
|
2008-07-01 The InnoDB Team
|
|
|
|
* lock/lock0lock.c:
|
|
Fix Bug#36942 Performance problem in lock_get_n_rec_locks (SHOW INNODB
|
|
STATUS)
|
|
|
|
2008-07-01 The InnoDB Team
|
|
|
|
* ha/ha0ha.c:
|
|
Fix Bug#36941 Performance problem in ha_print_info (SHOW INNODB
|
|
STATUS)
|
|
|
|
2008-07-01 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, mysql-test/innodb-autoinc.result,
|
|
mysql-test/innodb-autoinc.test:
|
|
Fix Bug#37531 After truncate, auto_increment behaves incorrectly for
|
|
InnoDB
|
|
|
|
2008-06-19 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc:
|
|
Rewrite the function innodb_plugin_init() to support parameters in
|
|
different order (in static and dynamic InnoDB) and to support more
|
|
parameters in the static InnoDB
|
|
|
|
2008-06-19 The InnoDB Team
|
|
|
|
* handler/handler0alter.cc:
|
|
Fix a bug in ::add_index() which set the transaction state to "active"
|
|
but never restored it to the original value. This bug caused warnings
|
|
to be printed by the rpl.rpl_ddl mysql-test.
|
|
|
|
2008-06-19 The InnoDB Team
|
|
|
|
* mysql-test/patches:
|
|
Add a directory which contains patches, which need to be applied to
|
|
MySQL source in order to get some mysql-tests to succeed. The patches
|
|
cannot be committed in MySQL repository because they are specific to
|
|
the InnoDB plugin.
|
|
|
|
2008-06-19 The InnoDB Team
|
|
|
|
* mysql-test/innodb-zip.result, mysql-test/innodb-zip.test,
|
|
row/row0row.c:
|
|
Fix an anomaly when updating a record with BLOB prefix
|
|
|
|
2008-06-18 The InnoDB Team
|
|
|
|
* include/trx0sys.h, srv/srv0start.c, trx/trx0sys.c:
|
|
Fix a bug in recovery which was a side effect of the file_format_check
|
|
changes
|
|
|
|
2008-06-09 The InnoDB Team
|
|
|
|
* mysql-test/innodb.result:
|
|
Fix the failing innodb test by merging changes that MySQL made to that
|
|
file
|
|
|
|
2008-06-06 The InnoDB Team
|
|
|
|
* buf/buf0buf.c, handler/ha_innodb.cc, include/buf0buf.h,
|
|
include/srv0srv.h, srv/srv0srv.c:
|
|
Fix Bug#36600 SHOW STATUS takes a lot of CPU in
|
|
buf_get_latched_pages_number
|
|
|
|
* handler/ha_innodb.cc, os/os0file.c:
|
|
Fix Bug#11894 innodb_file_per_table crashes w/ Windows .sym symbolic
|
|
link hack
|
|
|
|
* include/ut0ut.h, srv/srv0srv.c, ut/ut0ut.c:
|
|
Fix Bug#36819 ut_usectime does not handle errors from gettimeofday
|
|
|
|
* handler/ha_innodb.cc:
|
|
Fix Bug#35602 Failed to read auto-increment value from storage engine
|
|
|
|
* srv/srv0start.c:
|
|
Fix Bug#36149 Read buffer overflow in srv0start.c found during "make
|
|
test"
|
|
|
|
2008-05-08 The InnoDB Team
|
|
|
|
* btr/btr0btr.c, mysql-test/innodb_bug36172.result,
|
|
mysql-test/innodb_bug36172.test:
|
|
Fix Bug#36172 insert into compressed innodb table crashes
|
|
|
|
2008-05-08 The InnoDB Team
|
|
|
|
InnoDB Plugin 1.0.1 released
|
|
|
|
2008-05-06 The InnoDB Team
|
|
|
|
* handler/ha_innodb.cc, include/srv0srv.h, include/sync0sync.h,
|
|
include/trx0sys.h, mysql-test/innodb-zip.result,
|
|
mysql-test/innodb-zip.test, srv/srv0srv.c, srv/srv0start.c,
|
|
sync/sync0sync.c, trx/trx0sys.c:
|
|
Implement the system tablespace tagging
|
|
|
|
* handler/ha_innodb.cc, handler/i_s.cc, include/univ.i,
|
|
srv/srv0start.c:
|
|
Add InnoDB version in INFORMATION_SCHEMA.PLUGINS.PLUGIN_VERSION,
|
|
in the startup message and in a server variable innodb_version.
|
|
|
|
* sync/sync0sync.c:
|
|
Fix a bug in the sync debug code where a lock with level
|
|
SYNC_LEVEL_VARYING would cause an assertion failure when a thread
|
|
tried to release it.
|
|
|
|
2008-04-30 The InnoDB Team
|
|
|
|
* Makefile.am:
|
|
Fix Bug#36434 ha_innodb.so is installed in the wrong directory
|
|
|
|
* handler/ha_innodb.cc:
|
|
Merge change from MySQL (Fix Bug#35406 5.1-opt crashes on select from
|
|
I_S.REFERENTIAL_CONSTRAINTS):
|
|
ChangeSet@1.2563, 2008-03-18 19:42:04+04:00, gluh@mysql.com +1 -0
|
|
|
|
* scripts/install_innodb_plugins.sql:
|
|
Added
|
|
|
|
* mysql-test/innodb.result:
|
|
Merge change from MySQL (this fixes the failing innodb test):
|
|
ChangeSet@1.1810.3601.4, 2008-02-07 02:33:21+04:00
|
|
|
|
* row/row0sel.c:
|
|
Fix Bug#35226 RBR event crashes slave
|
|
|
|
* handler/ha_innodb.cc:
|
|
Change the fix for Bug#32440 to show bytes instead of kilobytes in
|
|
INFORMATION_SCHEMA.TABLES.DATA_FREE
|
|
|
|
* handler/ha_innodb.cc, mysql-test/innodb.result,
|
|
mysql-test/innodb.test:
|
|
Fix Bug#29507 TRUNCATE shows to many rows effected
|
|
|
|
* handler/ha_innodb.cc, mysql-test/innodb.result,
|
|
mysql-test/innodb.test:
|
|
Fix Bug#35537 Innodb doesn't increment handler_update and
|
|
handler_delete
|
|
|
|
2008-04-29 The InnoDB Team
|
|
|
|
* handler/i_s.cc, include/srv0start.h, srv/srv0start.c:
|
|
Fix Bug#36310 InnoDB plugin crash
|
|
|
|
2008-04-23 The InnoDB Team
|
|
|
|
* mysql-test/innodb_bug36169.result, mysql-test/innodb_bug36169.test,
|
|
row/row0mysql.c:
|
|
Fix Bug#36169 create innodb compressed table with too large row size
|
|
crashed
|
|
|
|
* (outside the source tree):
|
|
Fix Bug#36222 New InnoDB plugin 1.0 has wrong MKDIR_P defined in
|
|
Makefile.in
|
|
|
|
2008-04-15 The InnoDB Team
|
|
|
|
InnoDB Plugin 1.0.0 released
|