1
2008-10-31 The InnoDB Team
3
* dict/dict0mem.c, include/dict0mem.h, include/lock0lock.h,
4
include/row0mysql.h, include/trx0trx.h, include/univ.i,
5
include/ut0vec.h, include/ut0vec.ic, lock/lock0lock.c,
6
row/row0mysql.c, trx/trx0trx.c:
7
Fix Bug#26316 Triggers create duplicate entries on auto-increment
10
2008-10-30 The InnoDB Team
12
* handler/ha_innodb.cc, handler/handler0vars.h,
13
handler/win_delay_loader.cc, mysql-test/innodb_bug40360.result,
14
mysql-test/innodb_bug40360.test:
15
Fix Bug#40360 Binlog related errors with binlog off
17
2008-10-29 The InnoDB Team
19
* include/data0type.ic:
20
Fix Bug#40369 dtype_get_sql_null_size() returns 0 or 1, not the size
22
2008-10-29 The InnoDB Team
24
* handler/ha_innodb.cc, include/srv0srv.h, srv/srv0srv.c:
25
Fix Bug#38189 innodb_stats_on_metadata missing
27
2008-10-28 The InnoDB Team
29
* CMakeLists.txt, ha_innodb.def, handler/ha_innodb.cc,
30
handler/handler0alter.cc, handler/handler0vars.h, handler/i_s.cc,
31
handler/win_delay_loader.cc, win-plugin/*:
32
Implemented the delayloading of externals for the plugin on Windows.
33
This makes it possible to build a dynamic plugin (ha_innodb.dll) on
36
2008-10-27 The InnoDB Team
39
Fix Bug#19424 InnoDB: Possibly a memory overrun of the buffer being
40
freed (64-bit Visual C)
42
2008-10-23 The InnoDB Team
45
ibuf_delete_rec(): When the cursor to the insert buffer record
46
cannot be restored, do not complain if the tablespace does not
47
exist, because the insert buffer record may have been discarded by
48
some other thread. This bug has existed in MySQL/InnoDB since
49
version 4.1, when innodb_file_per_table was implemented.
50
This may fix Bug#27276 InnoDB Error: ibuf cursor restoration fails.
52
2008-10-22 The InnoDB Team
54
* dict/dict0dict.c, dict/dict0mem.c, handler/ha_innodb.cc,
55
handler/ha_innodb.h, include/dict0dict.h, include/dict0mem.h,
57
Fix Bug#39830 Table autoinc value not updated on first insert
58
Fix Bug#35498 Cannot get table test/table1 auto-inccounter value in
60
Fix Bug#36411 "Failed to read auto-increment value from storage
61
engine" in 5.1.24 auto-inc
63
2008-10-22 The InnoDB Team
65
* handler/ha_innodb.cc, include/row0mysql.h, row/row0mysql.c:
66
Fix Bug#40224 New AUTOINC changes mask reporting of deadlock/timeout
69
2008-10-16 The InnoDB Team
71
* dict/dict0dict.c, mysql-test/innodb-index.result,
72
mysql-test/innodb-index.test:
73
Skip the undo log size check when creating REDUNDANT and COMPACT
74
tables. In ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED, column
75
prefix indexes require that prefixes of externally stored columns
76
be written to the undo log. This may make the undo log record
77
bigger than the record on the B-tree page. The maximum size of an
78
undo log record is the page size. That must be checked for, in
79
dict_index_add_to_cache(). However, this restriction must not
80
be enforced on REDUNDANT or COMPACT tables.
82
2008-10-15 The InnoDB Team
84
* btr/btr0cur.c, include/btr0cur.h, row/row0ext.c, row/row0sel.c,
86
When the server crashes while freeing an externally stored column
87
of a compressed table, the BTR_EXTERN_LEN field in the BLOB
88
pointer will be written as 0. Tolerate this in the functions that
89
deal with externally stored columns. This fixes problems after
90
crash recovery, in the rollback of incomplete transactions, and in
91
the purge of delete-marked records.
93
2008-10-15 The InnoDB Team
95
* btr/btr0btr.c, include/page0zip.h, page/page0zip.c, include/univ.i:
96
When a B-tree node of a compressed table is split or merged, the
97
compression may fail. In this case, the entire compressed page
98
will be copied and the excess records will be deleted. However,
99
page_zip_copy(), now renamed to page_zip_copy_recs(), copied too
100
many fields in the page header, overwriting PAGE_BTR_SEG_LEAF and
101
PAGE_BTR_SEG_TOP when splitting the B-tree root. This caused
102
corruption of compressed tables. Furthermore, the lock table and
103
the adaptive hash index would be corrupted, because we forgot to
104
update them when invoking page_zip_copy_recs().
106
Introduce the symbol UNIV_ZIP_DEBUG for triggering the copying of
107
compressed pages more often, for debugging purposes.
109
2008-10-10 The InnoDB Team
111
* handler/handler0alter.cc, include/row0merge.h, row/row0merge.c,
113
Fix some locking issues, mainly in fast index creation. The
114
InnoDB data dictionary cache should be latched whenever a
115
transaction is holding locks on any data dictionary tables.
116
Otherwise, lock waits or deadlocks could occur. Furthermore, the
117
data dictionary transaction must be committed (and the locks
118
released) before the data dictionary latch is released.
120
ha_innobase::add_index(): Lock the data dictionary before renaming
121
or dropping the created indexes, because neither operation will
122
commit the data dictionary transaction.
124
ha_innobase::final_drop_index(): Commit the transactions before
125
unlocking the data dictionary.
127
2008-10-09 The InnoDB Team
130
Fix Bug#39939 DROP TABLE/DISCARD TABLESPACE takes long time in
131
buf_LRU_invalidate_tablespace()
133
2008-10-08 The InnoDB Team
135
* dict/dict0crea.c, trx/trx0roll.c, include/row0mysql.h,
136
row/row0merge.c, row/row0mysql.c:
137
When dropping a table, hold the data dictionary latch until the
138
transaction has been committed. The data dictionary latch is
139
supposed to prevent lock waits and deadlocks in the data
140
dictionary tables. Due to this bug, DROP TABLE could cause a
141
deadlock or hang. Note that because of Bug#33650 and Bug#39833,
142
MySQL may also drop a (temporary) table when executing CREATE INDEX
143
or ALTER TABLE ... ADD INDEX.
145
2008-10-04 The InnoDB Team
147
* handler/ha_innodb.cc, mysql-test/innodb_bug39438-master.opt,
148
mysql-test/innodb_bug39438.result, mysql-test/innodb_bug39438.test:
149
Fix Bug#39438 Testcase for Bug#39436 crashes on 5.1 in
152
2008-10-04 The InnoDB Team
154
* include/lock0lock.h, lock/lock0lock.c,
155
mysql-test/innodb_bug38231.result, mysql-test/innodb_bug38231.test,
157
Fix Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE +
160
2008-10-04 The InnoDB Team
162
* handler/ha_innodb.cc:
163
Fix Bug#35498 Cannot get table test/table1 auto-inccounter value in
166
2008-10-04 The InnoDB Team
168
* handler/ha_innodb.cc, handler/ha_innodb.h:
169
Fix Bug#37788 InnoDB Plugin: AUTO_INCREMENT wrong for compressed
172
2008-10-04 The InnoDB Team
174
* dict/dict0dict.c, handler/ha_innodb.cc, handler/ha_innodb.h,
175
include/dict0dict.h, include/dict0mem.h, row/row0mysql.c:
176
Fix Bug#39830 Table autoinc value not updated on first insert
178
2008-10-03 The InnoDB Team
180
* mysql-test/innodb-index.test, mysql-test/innodb-index.result,
181
mysql-test/innodb-timeout.test, mysql-test/innodb-timeout.result,
182
srv/srv0srv.c, include/srv0srv.h, handler/ha_innodb.cc,
183
include/ha_prototypes.h:
184
Fix Bug#36285 innodb_lock_wait_timeout is not dynamic, not per session
186
2008-09-19 The InnoDB Team
189
Fix a memory leak on Windows. The memory leak was due to wrong
190
parameters passed into VirtualFree() call. As the result, the
191
call fails with Windows error 87.
193
2008-09-17 The InnoDB Team
195
* mysql-test/innodb.result, mysql-test/innodb-zip.result,
196
mysql-test/innodb-zip.test, mysql-test/innodb.test, ibuf/ibuf0ibuf.c,
197
dict/dict0crea.c, dict/dict0load.c, dict/dict0boot.c,
198
include/dict0dict.h, include/trx0trx.h, dict/dict0dict.c,
199
trx/trx0trx.c, include/ha_prototypes.h, handler/ha_innodb.cc:
200
When creating an index in innodb_strict_mode, check that the
201
maximum record size will never exceed the B-tree page size limit.
202
For uncompressed tables, there should always be enough space for
203
two records in an empty B-tree page. For compressed tables, there
204
should be enough space for storing two node pointer records or one
205
data record in an empty page in uncompressed format.
206
The purpose of this check is to guarantee that INSERT or UPDATE
207
will never fail due to too big record size.
209
2008-09-17 The InnoDB Team
211
* btr/btr0cur.c, data/data0data.c, include/page0zip.h,
212
include/page0zip.ic, page/page0zip.c, mysql-test/innodb_bug36172.test:
213
Prevent infinite B-tree page splits in compressed tables by
214
ensuring that there will always be enough space for two node
215
pointer records in an empty B-tree page. Also, require that at
216
least one data record will fit in an empty compressed page. This
217
will reduce the maximum size of records in compressed tables.
219
2008-09-09 The InnoDB Team
221
* mysql-test/innodb.result:
222
Fix the failing innodb test by merging changes that MySQL made to
223
that file (r2646.12.1 in MySQL BZR repository)
225
2008-09-09 The InnoDB Team
227
* handler/ha_innodb.cc, mysql-test/innodb-autoinc.result,
228
mysql-test/innodb-autoinc.test:
229
Fix Bug#38839 auto increment does not work properly with InnoDB after
232
2008-09-09 The InnoDB Team
234
* dict/dict0dict.c, handler/handler0alter.cc, include/dict0dict.h,
235
mysql-test/innodb-index.result, mysql-test/innodb-index.test:
236
Fix Bug#38786 InnoDB plugin crashes on drop table/create table with FK
238
2008-08-21 The InnoDB Team
240
* handler/ha_innodb.cc, include/ha_prototypes.h, row/row0sel.c:
241
Fix Bug#37885 row_search_for_mysql may gap lock unnecessarily with SQL
244
2008-08-21 The InnoDB Team
246
* handler/ha_innodb.cc:
247
Fix Bug#38185 ha_innobase::info can hold locks even when called with
250
2008-08-18 The InnoDB Team
252
* buf/buf0buf.c, buf/buf0lru.c, include/buf0buf.ic, include/univ.i:
253
Introduce UNIV_LRU_DEBUG for debugging the LRU buffer pool cache
255
2008-08-08 The InnoDB Team
257
* buf/buf0lru.c, include/buf0buf.h:
258
Fix two recovery bugs that could lead to a crash in debug builds with
261
2008-08-07 The InnoDB Team
263
* btr/btr0cur.c, handler/ha_innodb.cc, include/srv0srv.h,
265
Add a parameter innodb_stats_sample_pages to allow users to control
266
the number of index dives when InnoDB estimates the cardinality of
267
an index (ANALYZE TABLE, SHOW TABLE STATUS etc)
269
2008-08-07 The InnoDB Team
272
Fix a bug that would lead to a crash if a SELECT was issued from the
273
INFORMATION_SCHEMA tables and there are rolling back transactions at
276
2008-08-06 The InnoDB Team
278
* btr/btr0btr.c, btr/btr0cur.c, ibuf/ibuf0ibuf.c, include/btr0cur.h,
279
include/trx0roll.h, include/trx0types.h, row/row0purge.c,
280
row/row0uins.c, row/row0umod.c, trx/trx0roll.c:
281
In the rollback of incomplete transactions after crash recovery,
282
tolerate clustered index records whose externally stored columns
283
have not been written.
285
2008-07-30 The InnoDB Team
288
Fixes a race in recovery where the recovery thread recovering a
289
PREPARED trx and the background rollback thread can both try
290
to free the trx after its status is set to COMMITTED_IN_MEMORY.
292
2008-07-29 The InnoDB Team
294
* include/trx0rec.h, row/row0purge.c, row/row0vers.c, trx/trx0rec.c:
295
Fix a BLOB corruption bug
297
2008-07-15 The InnoDB Team
299
* btr/btr0sea.c, dict/dict0dict.c, include/btr0sea.h:
300
Fixed a timing hole where a thread dropping an index can free the
301
in-memory index struct while another thread is still using that
302
structure to remove entries from adaptive hash index belonging
303
to one of the pages that belongs to the index being dropped.
305
2008-07-04 The InnoDB Team
307
* mysql-test/innodb-index.result:
308
Fix the failing innodb-index test by adjusting the result to a new
309
MySQL behavior (the change occured in BZR-r2667)
311
2008-07-03 The InnoDB Team
313
* mysql-test/innodb-zip.result, mysql-test/innodb-zip.test:
314
Remove the negative test cases that produce warnings
316
2008-07-02 The InnoDB Team
318
* mysql-test/innodb-replace.result, mysql-test/innodb-index.test:
319
Disable part of innodb-index test because MySQL changed its behavior
320
and is not calling ::add_index() anymore when adding primary index on
323
2008-07-01 The InnoDB Team
325
* mysql-test/innodb-replace.result, mysql-test/innodb-replace.test:
326
Fix the failing innodb-replace test by merging changes that MySQL
327
made to that file (r2659 in MySQL BZR repository)
329
2008-07-01 The InnoDB Team
332
Fix Bug#36942 Performance problem in lock_get_n_rec_locks (SHOW INNODB
335
2008-07-01 The InnoDB Team
338
Fix Bug#36941 Performance problem in ha_print_info (SHOW INNODB
341
2008-07-01 The InnoDB Team
343
* handler/ha_innodb.cc, mysql-test/innodb-autoinc.result,
344
mysql-test/innodb-autoinc.test:
345
Fix Bug#37531 After truncate, auto_increment behaves incorrectly for
348
2008-06-19 The InnoDB Team
350
* handler/ha_innodb.cc:
351
Rewrite the function innodb_plugin_init() to support parameters in
352
different order (in static and dynamic InnoDB) and to support more
353
parameters in the static InnoDB
355
2008-06-19 The InnoDB Team
357
* handler/handler0alter.cc:
358
Fix a bug in ::add_index() which set the transaction state to "active"
359
but never restored it to the original value. This bug caused warnings
360
to be printed by the rpl.rpl_ddl mysql-test.
362
2008-06-19 The InnoDB Team
364
* mysql-test/patches:
365
Add a directory which contains patches, which need to be applied to
366
MySQL source in order to get some mysql-tests to succeed. The patches
367
cannot be committed in MySQL repository because they are specific to
370
2008-06-19 The InnoDB Team
372
* mysql-test/innodb-zip.result, mysql-test/innodb-zip.test,
374
Fix an anomaly when updating a record with BLOB prefix
376
2008-06-18 The InnoDB Team
378
* include/trx0sys.h, srv/srv0start.c, trx/trx0sys.c:
379
Fix a bug in recovery which was a side effect of the file_format_check
382
2008-06-09 The InnoDB Team
384
* mysql-test/innodb.result:
385
Fix the failing innodb test by merging changes that MySQL made to that
388
2008-06-06 The InnoDB Team
390
* buf/buf0buf.c, handler/ha_innodb.cc, include/buf0buf.h,
391
include/srv0srv.h, srv/srv0srv.c:
392
Fix Bug#36600 SHOW STATUS takes a lot of CPU in
393
buf_get_latched_pages_number
395
* handler/ha_innodb.cc, os/os0file.c:
396
Fix Bug#11894 innodb_file_per_table crashes w/ Windows .sym symbolic
399
* include/ut0ut.h, srv/srv0srv.c, ut/ut0ut.c:
400
Fix Bug#36819 ut_usectime does not handle errors from gettimeofday
402
* handler/ha_innodb.cc:
403
Fix Bug#35602 Failed to read auto-increment value from storage engine
406
Fix Bug#36149 Read buffer overflow in srv0start.c found during "make
409
2008-05-08 The InnoDB Team
411
* btr/btr0btr.c, mysql-test/innodb_bug36172.result,
412
mysql-test/innodb_bug36172.test:
413
Fix Bug#36172 insert into compressed innodb table crashes
415
2008-05-08 The InnoDB Team
417
InnoDB Plugin 1.0.1 released
419
2008-05-06 The InnoDB Team
421
* handler/ha_innodb.cc, include/srv0srv.h, include/sync0sync.h,
422
include/trx0sys.h, mysql-test/innodb-zip.result,
423
mysql-test/innodb-zip.test, srv/srv0srv.c, srv/srv0start.c,
424
sync/sync0sync.c, trx/trx0sys.c:
425
Implement the system tablespace tagging
427
* handler/ha_innodb.cc, handler/i_s.cc, include/univ.i,
429
Add InnoDB version in INFORMATION_SCHEMA.PLUGINS.PLUGIN_VERSION,
430
in the startup message and in a server variable innodb_version.
433
Fix a bug in the sync debug code where a lock with level
434
SYNC_LEVEL_VARYING would cause an assertion failure when a thread
437
2008-04-30 The InnoDB Team
440
Fix Bug#36434 ha_innodb.so is installed in the wrong directory
442
* handler/ha_innodb.cc:
443
Merge change from MySQL (Fix Bug#35406 5.1-opt crashes on select from
444
I_S.REFERENTIAL_CONSTRAINTS):
445
ChangeSet@1.2563, 2008-03-18 19:42:04+04:00, gluh@mysql.com +1 -0
447
* scripts/install_innodb_plugins.sql:
450
* mysql-test/innodb.result:
451
Merge change from MySQL (this fixes the failing innodb test):
452
ChangeSet@1.1810.3601.4, 2008-02-07 02:33:21+04:00
455
Fix Bug#35226 RBR event crashes slave
457
* handler/ha_innodb.cc:
458
Change the fix for Bug#32440 to show bytes instead of kilobytes in
459
INFORMATION_SCHEMA.TABLES.DATA_FREE
461
* handler/ha_innodb.cc, mysql-test/innodb.result,
462
mysql-test/innodb.test:
463
Fix Bug#29507 TRUNCATE shows to many rows effected
465
* handler/ha_innodb.cc, mysql-test/innodb.result,
466
mysql-test/innodb.test:
467
Fix Bug#35537 Innodb doesn't increment handler_update and
470
2008-04-29 The InnoDB Team
472
* handler/i_s.cc, include/srv0start.h, srv/srv0start.c:
473
Fix Bug#36310 InnoDB plugin crash
475
2008-04-23 The InnoDB Team
477
* mysql-test/innodb_bug36169.result, mysql-test/innodb_bug36169.test,
479
Fix Bug#36169 create innodb compressed table with too large row size
482
* (outside the source tree):
483
Fix Bug#36222 New InnoDB plugin 1.0 has wrong MKDIR_P defined in
486
2008-04-15 The InnoDB Team
488
InnoDB Plugin 1.0.0 released