~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to storage/innobase/ChangeLog

Tags: innodb-plugin-1.0.2
InnoDB Plugin 1.0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2008-10-31      The InnoDB Team
 
2
 
 
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
 
8
        columns
 
9
 
 
10
2008-10-30      The InnoDB Team
 
11
 
 
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
 
16
 
 
17
2008-10-29      The InnoDB Team
 
18
 
 
19
        * include/data0type.ic:
 
20
        Fix Bug#40369 dtype_get_sql_null_size() returns 0 or 1, not the size
 
21
 
 
22
2008-10-29      The InnoDB Team
 
23
 
 
24
        * handler/ha_innodb.cc, include/srv0srv.h, srv/srv0srv.c:
 
25
        Fix Bug#38189 innodb_stats_on_metadata missing
 
26
 
 
27
2008-10-28      The InnoDB Team
 
28
 
 
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
 
34
        Windows.
 
35
 
 
36
2008-10-27      The InnoDB Team
 
37
 
 
38
        * CMakeLists.txt:
 
39
        Fix Bug#19424 InnoDB: Possibly a memory overrun of the buffer being
 
40
        freed (64-bit Visual C)
 
41
 
 
42
2008-10-23      The InnoDB Team
 
43
 
 
44
        * ibuf/ibuf0ibuf.c:
 
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.
 
51
 
 
52
2008-10-22      The InnoDB Team
 
53
 
 
54
        * dict/dict0dict.c, dict/dict0mem.c, handler/ha_innodb.cc,
 
55
        handler/ha_innodb.h, include/dict0dict.h, include/dict0mem.h,
 
56
        row/row0mysql.c:
 
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
 
59
        ::info
 
60
        Fix Bug#36411 "Failed to read auto-increment value from storage
 
61
        engine" in 5.1.24 auto-inc
 
62
 
 
63
2008-10-22      The InnoDB Team
 
64
 
 
65
        * handler/ha_innodb.cc, include/row0mysql.h, row/row0mysql.c:
 
66
        Fix Bug#40224 New AUTOINC changes mask reporting of deadlock/timeout
 
67
        errors
 
68
 
 
69
2008-10-16      The InnoDB Team
 
70
 
 
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.
 
81
 
 
82
2008-10-15      The InnoDB Team
 
83
 
 
84
        * btr/btr0cur.c, include/btr0cur.h, row/row0ext.c, row/row0sel.c,
 
85
        row/row0upd.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.
 
92
 
 
93
2008-10-15      The InnoDB Team
 
94
 
 
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().
 
105
 
 
106
        Introduce the symbol UNIV_ZIP_DEBUG for triggering the copying of
 
107
        compressed pages more often, for debugging purposes.
 
108
 
 
109
2008-10-10      The InnoDB Team
 
110
 
 
111
        * handler/handler0alter.cc, include/row0merge.h, row/row0merge.c,
 
112
        row/row0mysql.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.
 
119
 
 
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.
 
123
 
 
124
        ha_innobase::final_drop_index(): Commit the transactions before
 
125
        unlocking the data dictionary.
 
126
 
 
127
2008-10-09      The InnoDB Team
 
128
 
 
129
        * buf/buf0lru.c:
 
130
        Fix Bug#39939 DROP TABLE/DISCARD TABLESPACE takes long time in
 
131
        buf_LRU_invalidate_tablespace()
 
132
 
 
133
2008-10-08      The InnoDB Team
 
134
 
 
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.
 
144
 
 
145
2008-10-04      The InnoDB Team
 
146
 
 
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
 
150
        fil_space_get_latch
 
151
 
 
152
2008-10-04      The InnoDB Team
 
153
 
 
154
        * include/lock0lock.h, lock/lock0lock.c,
 
155
        mysql-test/innodb_bug38231.result, mysql-test/innodb_bug38231.test,
 
156
        row/row0mysql.c:
 
157
        Fix Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE +
 
158
        LOCK / UNLOCK
 
159
 
 
160
2008-10-04      The InnoDB Team
 
161
 
 
162
        * handler/ha_innodb.cc:
 
163
        Fix Bug#35498 Cannot get table test/table1 auto-inccounter value in
 
164
        ::info
 
165
 
 
166
2008-10-04      The InnoDB Team
 
167
 
 
168
        * handler/ha_innodb.cc, handler/ha_innodb.h:
 
169
        Fix Bug#37788 InnoDB Plugin: AUTO_INCREMENT wrong for compressed
 
170
        tables
 
171
 
 
172
2008-10-04      The InnoDB Team
 
173
 
 
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
 
177
 
 
178
2008-10-03      The InnoDB Team
 
179
 
 
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
 
185
 
 
186
2008-09-19      The InnoDB Team
 
187
 
 
188
        * os/os0proc.c:
 
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.
 
192
 
 
193
2008-09-17      The InnoDB Team
 
194
 
 
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.
 
208
 
 
209
2008-09-17      The InnoDB Team
 
210
 
 
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.
 
218
 
 
219
2008-09-09      The InnoDB Team
 
220
 
 
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)
 
224
 
 
225
2008-09-09      The InnoDB Team
 
226
 
 
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
 
230
        update
 
231
 
 
232
2008-09-09      The InnoDB Team
 
233
 
 
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
 
237
 
 
238
2008-08-21      The InnoDB Team
 
239
 
 
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
 
242
        comments in query
 
243
 
 
244
2008-08-21      The InnoDB Team
 
245
 
 
246
        * handler/ha_innodb.cc:
 
247
        Fix Bug#38185 ha_innobase::info can hold locks even when called with
 
248
        HA_STATUS_NO_LOCK
 
249
 
 
250
2008-08-18      The InnoDB Team
 
251
 
 
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
 
254
 
 
255
2008-08-08      The InnoDB Team
 
256
 
 
257
        * buf/buf0lru.c, include/buf0buf.h:
 
258
        Fix two recovery bugs that could lead to a crash in debug builds with
 
259
        small buffer size
 
260
 
 
261
2008-08-07      The InnoDB Team
 
262
 
 
263
        * btr/btr0cur.c, handler/ha_innodb.cc, include/srv0srv.h,
 
264
        srv/srv0srv.c:
 
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)
 
268
 
 
269
2008-08-07      The InnoDB Team
 
270
 
 
271
        * trx/trx0i_s.c:
 
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
 
274
        the same time
 
275
 
 
276
2008-08-06      The InnoDB Team
 
277
 
 
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.
 
284
 
 
285
2008-07-30      The InnoDB Team
 
286
 
 
287
        * trx/trx0trx.c:
 
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.
 
291
 
 
292
2008-07-29      The InnoDB Team
 
293
 
 
294
        * include/trx0rec.h, row/row0purge.c, row/row0vers.c, trx/trx0rec.c:
 
295
        Fix a BLOB corruption bug
 
296
 
 
297
2008-07-15      The InnoDB Team
 
298
 
 
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.
 
304
 
 
305
2008-07-04      The InnoDB Team
 
306
 
 
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)
 
310
 
 
311
2008-07-03      The InnoDB Team
 
312
 
 
313
        * mysql-test/innodb-zip.result, mysql-test/innodb-zip.test:
 
314
        Remove the negative test cases that produce warnings
 
315
 
 
316
2008-07-02      The InnoDB Team
 
317
 
 
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
 
321
        non-NULL column
 
322
 
 
323
2008-07-01      The InnoDB Team
 
324
 
 
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)
 
328
 
 
329
2008-07-01      The InnoDB Team
 
330
 
 
331
        * lock/lock0lock.c:
 
332
        Fix Bug#36942 Performance problem in lock_get_n_rec_locks (SHOW INNODB
 
333
        STATUS)
 
334
 
 
335
2008-07-01      The InnoDB Team
 
336
 
 
337
        * ha/ha0ha.c:
 
338
        Fix Bug#36941 Performance problem in ha_print_info (SHOW INNODB
 
339
        STATUS)
 
340
 
 
341
2008-07-01      The InnoDB Team
 
342
 
 
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
 
346
        InnoDB
 
347
 
 
348
2008-06-19      The InnoDB Team
 
349
 
 
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
 
354
 
 
355
2008-06-19      The InnoDB Team
 
356
 
 
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.
 
361
 
 
362
2008-06-19      The InnoDB Team
 
363
 
 
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
 
368
        the InnoDB plugin.
 
369
 
 
370
2008-06-19      The InnoDB Team
 
371
 
 
372
        * mysql-test/innodb-zip.result, mysql-test/innodb-zip.test,
 
373
        row/row0row.c:
 
374
        Fix an anomaly when updating a record with BLOB prefix
 
375
 
 
376
2008-06-18      The InnoDB Team
 
377
 
 
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
 
380
        changes
 
381
 
 
382
2008-06-09      The InnoDB Team
 
383
 
 
384
        * mysql-test/innodb.result:
 
385
        Fix the failing innodb test by merging changes that MySQL made to that
 
386
        file
 
387
 
 
388
2008-06-06      The InnoDB Team
 
389
 
 
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
 
394
 
 
395
        * handler/ha_innodb.cc, os/os0file.c:
 
396
        Fix Bug#11894 innodb_file_per_table crashes w/ Windows .sym symbolic
 
397
        link hack
 
398
 
 
399
        * include/ut0ut.h, srv/srv0srv.c, ut/ut0ut.c:
 
400
        Fix Bug#36819 ut_usectime does not handle errors from gettimeofday
 
401
 
 
402
        * handler/ha_innodb.cc:
 
403
        Fix Bug#35602 Failed to read auto-increment value from storage engine
 
404
 
 
405
        * srv/srv0start.c:
 
406
        Fix Bug#36149 Read buffer overflow in srv0start.c found during "make
 
407
        test"
 
408
 
 
409
2008-05-08      The InnoDB Team
 
410
 
 
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
 
414
 
 
415
2008-05-08      The InnoDB Team
 
416
 
 
417
        InnoDB Plugin 1.0.1 released
 
418
 
1
419
2008-05-06      The InnoDB Team
2
420
 
3
421
        * handler/ha_innodb.cc, include/srv0srv.h, include/sync0sync.h,
51
469
 
52
470
2008-04-29      The InnoDB Team
53
471
 
54
 
        * handler/i_s.cc, include/srv0start.h, srv/srv0start.c: 
 
472
        * handler/i_s.cc, include/srv0start.h, srv/srv0start.c:
55
473
        Fix Bug#36310 InnoDB plugin crash
56
474
 
57
475
2008-04-23      The InnoDB Team