641.2.2
by Monty Taylor
InnoDB Plugin 1.0.3 |
1 |
2009-03-05 The InnoDB Team |
2 |
||
3 |
* handler/ha_innodb.cc, mysql-test/innodb-autoinc.result, |
|
4 |
mysql-test/innodb-autoinc.test: |
|
5 |
Fix Bug#43203 Overflow from auto incrementing causes server segv |
|
6 |
||
7 |
2009-02-25 The InnoDB Team |
|
8 |
||
9 |
* handler/ha_innodb.cc, mysql-test/innodb-autoinc.result, |
|
10 |
mysql-test/innodb-autoinc.test: |
|
11 |
Fix Bug#42714 AUTO_INCREMENT errors in 5.1.31 |
|
12 |
||
13 |
2009-02-23 The InnoDB Team |
|
14 |
||
15 |
* btr/btr0cur.c: |
|
16 |
Fix Bug#43043 Crash on BLOB delete operation |
|
17 |
||
18 |
2009-02-20 The InnoDB Team |
|
19 |
||
20 |
* handler/ha_innodb.cc: |
|
21 |
Make innodb_use_sys_malloc=ON the default. |
|
22 |
||
23 |
2009-02-20 The InnoDB Team |
|
24 |
||
25 |
* handler/ha_innodb.cc, mysql-test/innodb-autoinc.result, |
|
26 |
mysql-test/innodb-autoinc.test: |
|
27 |
Fix Bug#42400 InnoDB autoinc code can't handle floating-point columns |
|
28 |
||
29 |
2009-02-18 The InnoDB Team
|
|
30 |
||
31 |
* include/ut0mem.h, os/os0proc.c, ut/ut0mem.c:
|
|
32 |
Protect ut_total_allocated_memory with ut_list_mutex in
|
|
33 |
os_mem_alloc_large() and os_mem_free_large(). The lack of this mutex
|
|
34 |
protection could cause an assertion failure during fast index
|
|
35 |
creation. Also, add UNIV_MEM_ALLOC and UNIV_MEM_FREE instrumentation
|
|
36 |
to os_mem_alloc_large() and os_mem_free_large(), so that Valgrind can
|
|
37 |
detect more errors.
|
|
38 |
||
39 |
2009-02-11 The InnoDB Team
|
|
40 |
||
41 |
* handler/ha_innodb.cc:
|
|
42 |
Make innodb_thread_concurrency=0 the default. The old default value
|
|
43 |
was 8. A non-zero setting may be useful when InnoDB is showing severe
|
|
44 |
scalability problems under multiple concurrent connections.
|
|
45 |
||
46 |
2009-02-10 The InnoDB Team
|
|
47 |
||
48 |
* handler/ha_innodb.cc, handler/ha_innodb.h:
|
|
49 |
Fix Bug#41676 Table names are case insensitive in locking
|
|
50 |
||
51 |
2009-02-10 The InnoDB Team
|
|
52 |
||
53 |
* mem/mem0dbg.c, mem/mem0mem.c, mem/mem0pool.c:
|
|
54 |
When innodb_use_sys_malloc is set, ignore
|
|
55 |
innodb_additional_mem_pool_size, because nothing will be allocated
|
|
56 |
from mem_comm_pool.
|
|
57 |
||
58 |
2009-02-10 The InnoDB Team
|
|
59 |
||
60 |
* ut/ut0mem.c:
|
|
61 |
Map ut_malloc_low(), ut_realloc(), and ut_free() directly to malloc(),
|
|
62 |
realloc(), and free() when innodb_use_sys_malloc is set. As a side
|
|
63 |
effect, ut_total_allocated_memory ("Total memory allocated" in the
|
|
64 |
"BUFFER POOL AND MEMORY" section of SHOW ENGINE INNODB STATUS) will
|
|
65 |
exclude any memory allocated by these functions when
|
|
66 |
innodb_use_sys_malloc is set.
|
|
67 |
||
68 |
2009-02-10 The InnoDB Team
|
|
69 |
||
70 |
* btr/btr0cur.c, btr/btr0sea.c, buf/buf0buf.c, handler/ha_innodb.cc,
|
|
71 |
include/buf0buf.ic, include/os0sync.h, include/srv0srv.h,
|
|
72 |
include/sync0rw.h, include/sync0rw.ic, include/sync0sync.h,
|
|
73 |
include/sync0sync.ic, include/univ.i, row/row0sel.c, srv/srv0srv.c,
|
|
74 |
srv/srv0start.c, sync/sync0arr.c, sync/sync0rw.c, sync/sync0sync.c:
|
|
75 |
On those platforms that support it, implement the synchronization
|
|
76 |
primitives of InnoDB mutexes and read/write locks with GCC atomic
|
|
77 |
builtins instead of Pthreads mutexes and InnoDB mutexes. These changes
|
|
78 |
are based on a patch supplied by Mark Callaghan of Google under a BSD
|
|
79 |
license.
|
|
80 |
||
81 |
2009-01-30 The InnoDB Team
|
|
82 |
||
83 |
* btr/btr0cur.c, btr/btr0sea.c, buf/buf0buf.c, handler/ha_innodb.cc,
|
|
84 |
include/btr0sea.h, include/buf0buf.h, include/sync0sync.h,
|
|
85 |
sync/sync0sync.c:
|
|
86 |
Make the configuration parameter innodb_adaptive_hash_index dynamic,
|
|
87 |
so that it can be changed at runtime.
|
|
88 |
||
89 |
2009-01-29 The InnoDB Team
|
|
90 |
||
91 |
* handler/ha_innodb.cc, ibuf/ibuf0ibuf.c, include/ibuf0ibuf.h,
|
|
92 |
include/ibuf0ibuf.ic:
|
|
93 |
Implement the settable global variable innodb_change_buffering,
|
|
94 |
with the allowed values 'none' and 'inserts'. The default value |
|
95 |
'inserts' enables the buffering of inserts to non-unique secondary |
|
96 |
index trees when the B-tree leaf page is not in the buffer pool.
|
|
97 |
||
98 |
2009-01-27 The InnoDB Team
|
|
99 |
||
100 |
* buf/buf0lru.c:
|
|
101 |
Fix a race condition in buf_LRU_invalidate_tablespace(): The
|
|
102 |
compressed page size (zip_size) was read while the block descriptor
|
|
103 |
was no longer protected by a mutex. This could lead to corruption
|
|
104 |
when a table is dropped on a busy system that contains compressed
|
|
105 |
tables.
|
|
106 |
||
107 |
2009-01-26 The InnoDB Team
|
|
108 |
||
109 |
* btr/btr0sea.c, buf/buf0buf.c, include/buf0buf.h, include/buf0buf.ic,
|
|
110 |
include/mtr0log.ic, include/row0upd.ic, mtr/mtr0mtr.c:
|
|
111 |
Implement buf_block_align() with pointer arithmetics, as it is in the
|
|
112 |
built-in InnoDB distributed with MySQL. Do not acquire the buffer pool
|
|
113 |
mutex before buf_block_align(). This removes a scalability bottleneck
|
|
114 |
in the adaptive hash index lookup. In CHECK TABLE, check that
|
|
115 |
buf_pool->page_hash is consistent with buf_block_align().
|
|
116 |
||
117 |
2009-01-23 The InnoDB Team
|
|
118 |
||
119 |
* btr/btr0sea.c:
|
|
120 |
Fix Bug#42279 Race condition in btr_search_drop_page_hash_when_freed()
|
|
121 |
||
122 |
2009-01-23 The InnoDB Team
|
|
123 |
||
124 |
* buf/buf0buf.c, include/buf0buf.h:
|
|
125 |
Remove the unused mode BUF_GET_NOWAIT of buf_page_get_gen()
|
|
126 |
||
127 |
2009-01-20 The InnoDB Team
|
|
128 |
||
129 |
* include/rem0rec.h, include/rem0rec.ic:
|
|
130 |
Fix Bug#41571 MySQL segfaults after innodb recovery
|
|
131 |
||
132 |
2009-01-20 The InnoDB Team
|
|
133 |
||
134 |
* lock/lock0lock.c:
|
|
135 |
Fix Bug#42152 Race condition in lock_is_table_exclusive()
|
|
136 |
||
137 |
2009-01-14 The InnoDB Team
|
|
138 |
||
139 |
* include/trx0roll.h, trx/trx0roll.c, trx/trx0trx.c:
|
|
140 |
Fix Bug#38187 Error 153 when creating savepoints
|
|
141 |
||
142 |
2009-01-14 The InnoDB Team
|
|
143 |
||
144 |
* dict/dict0load.c:
|
|
145 |
Fix Bug#42075 dict_load_indexes failure in dict_load_table will
|
|
146 |
corrupt the dictionary cache
|
|
147 |
||
148 |
2009-01-13 The InnoDB Team
|
|
149 |
||
150 |
* buf/buf0buddy.c, dict/dict0dict.c, dict/dict0mem.c, fil/fil0fil.c,
|
|
151 |
ha/ha0storage.c, handler/ha_innodb.cc, handler/win_delay_loader.cc,
|
|
152 |
include/buf0buf.ic, include/dict0dict.ic, include/hash0hash.h,
|
|
153 |
thr/thr0loc.c, trx/trx0i_s.c:
|
|
154 |
Add the parameter ASSERTION to HASH_SEARCH() macro, and use it for
|
|
155 |
light validation of the traversed items in hash table lookups when
|
|
156 |
UNIV_DEBUG is enabled.
|
|
157 |
||
158 |
2009-01-09 The InnoDB Team
|
|
159 |
||
160 |
* buf/buf0flu.c, include/buf0flu.h, include/buf0flu.ic:
|
|
161 |
Remove unused code from the functions
|
|
162 |
buf_flush_insert_into_flush_list() and
|
|
163 |
buf_flush_insert_sorted_into_flush_list().
|
|
164 |
||
165 |
2009-01-09 The InnoDB Team
|
|
166 |
||
167 |
* buf/buf0flu.c:
|
|
168 |
Simplify the functions buf_flush_try_page() and buf_flush_batch(). Add
|
|
169 |
debug assertions and an explanation to buf_flush_write_block_low().
|
|
170 |
||
171 |
2009-01-07 The InnoDB Team
|
|
172 |
||
173 |
* row/row0merge.c:
|
|
174 |
Fix a bug in recovery when dropping temporary indexes.
|
|
175 |
||
176 |
2009-01-07 The InnoDB Team
|
|
177 |
||
178 |
* handler/ha_innodb.cc, handler/ha_innodb.h, handler/handler0alter.cc:
|
|
179 |
Fix Bug#41680 calls to trx_allocate_for_mysql are not consistent
|
|
180 |
||
181 |
2009-01-07 The InnoDB Team
|
|
182 |
||
183 |
* mysql-test/innodb_bug41904.result, mysql-test/innodb_bug41904.test,
|
|
184 |
row/row0merge.c:
|
|
185 |
Fix Bug#41904 create unique index problem
|
|
186 |
||
187 |
2009-01-02 The InnoDB Team
|
|
188 |
||
189 |
* handler/ha_innodb.cc, include/srv0srv.h, mem/mem0pool.c,
|
|
190 |
mysql-test/innodb-use-sys-malloc-master.opt,
|
|
191 |
mysql-test/innodb-use-sys-malloc.result,
|
|
192 |
mysql-test/innodb-use-sys-malloc.test, srv/srv0srv.c, srv/srv0start.c:
|
|
193 |
Implement the configuration parameter innodb_use_sys_malloc (false by
|
|
194 |
default), for disabling InnoDB's internal memory allocator and using |
|
195 |
system malloc/free instead. The "BUFFER POOL AND MEMORY" section of |
|
196 |
SHOW ENGINE INNODB STATUS will report "in additional pool allocated |
|
197 |
allocated 0" when innodb_use_sys_malloc is set. |
|
198 |
||
199 |
2008-12-30 The InnoDB Team |
|
200 |
||
201 |
* btr/btr0btr.c: |
|
202 |
When setting the PAGE_LEVEL of a compressed B-tree page from or to 0, |
|
203 |
compress the page at the same time. This is necessary, because the |
|
204 |
column information stored on the compressed page will differ between |
|
205 |
leaf and non-leaf pages. Leaf pages are identified by PAGE_LEVEL=0. |
|
206 |
This bug can make InnoDB crash when all rows of a compressed table are |
|
207 |
deleted. |
|
208 |
||
209 |
2008-12-17 The InnoDB Team |
|
210 |
||
211 |
* include/row0sel.h, include/row0upd.h, pars/pars0pars.c, |
|
212 |
row/row0mysql.c, row/row0sel.c, row/row0upd.c: |
|
213 |
Remove update-in-place select from the internal SQL interpreter. It |
|
214 |
was only used for updating the InnoDB internal data dictionary when |
|
215 |
renaming or dropping tables. It could have caused deadlocks when |
|
216 |
acquiring latches on insert buffer bitmap pages. |
|
217 |
||
218 |
2008-12-17 The InnoDB Team |
|
219 |
||
220 |
* btr/btr0sea.c, buf/buf0buf.c, buf/buf0lru.c, ha/ha0ha.c, |
|
221 |
ha/hash0hash.c, include/buf0buf.h, include/ha0ha.h, include/ha0ha.ic, |
|
222 |
include/hash0hash.h, include/univ.i: |
|
223 |
Introduce the preprocessor symbol UNIV_AHI_DEBUG for enabling adaptive |
|
224 |
hash index debugging independently of UNIV_DEBUG. |
|
225 |
||
226 |
2008-12-16 The InnoDB Team |
|
227 |
||
228 |
* btr/btr0cur.c: |
|
229 |
Do not update the free bits in the insert buffer bitmap when inserting |
|
230 |
or deleting from the insert buffer B-tree. Assert that records in the |
|
231 |
insert buffer B-tree are never updated. |
|
232 |
||
233 |
2008-12-12 The InnoDB Team |
|
234 |
||
235 |
* buf/buf0buf.c, fil/fil0fil.c, fsp/fsp0fsp.c, ibuf/ibuf0ibuf.c, |
|
236 |
include/fil0fil.h, include/ibuf0ibuf.h, include/ibuf0ibuf.ic, |
|
237 |
include/ibuf0types.h: |
|
238 |
Clean up the insert buffer subsystem so that only one insert |
|
239 |
buffer B-tree exists. |
|
240 |
Originally, there were provisions in InnoDB for multiple insert |
|
241 |
buffer B-trees, apparently one for each tablespace. |
|
242 |
When Heikki Tuuri implemented multiple InnoDB tablespaces in |
|
243 |
MySQL/InnoDB 4.1, he made the insert buffer live only in the |
|
244 |
system tablespace (space 0) but left the provisions in the code. |
|
245 |
||
246 |
2008-12-11 The InnoDB Team |
|
247 |
||
248 |
* include/srv0srv.h, os/os0proc.c, srv/srv0srv.c: |
|
249 |
Fix the issue that the InnoDB plugin fails if innodb_buffer_pool_size |
|
250 |
is defined bigger than 4096M on 64-bit Windows. This bug should not |
|
251 |
have affected other 64-bit systems. |
|
252 |
||
253 |
2008-12-09 The InnoDB Team |
|
254 |
||
255 |
* handler/ha_innodb.cc: |
|
256 |
Fix Bug#40386 Not flushing query cache after truncate. |
|
257 |
||
258 |
2008-12-09 The InnoDB Team |
|
259 |
||
260 |
* handler/ha_innodb.cc, srv/srv0srv.c, trx/trx0trx.c: |
|
261 |
Fix Bug#40760 "set global innodb_thread_concurrency = 0;" is not safe |
|
262 |
||
263 |
2008-12-04 The InnoDB Team |
|
264 |
||
265 |
* handler/ha_innodb.cc, handler/mysql_addons.cc, |
|
266 |
include/mysql_addons.h, trx/trx0i_s.c, win-plugin/win-plugin.diff: |
|
267 |
Remove dependencies to MySQL internals (defining MYSQL_SERVER). |
|
268 |
||
269 |
2008-12-02 The InnoDB Team |
|
270 |
||
271 |
* page/page0cur.c: |
|
272 |
When allocating space for a record from the free list of previously |
|
273 |
purged records, zero out the DB_TRX_ID and DB_ROLL_PTR of the purged |
|
274 |
record if the new record would not overwrite these fields. This fixes |
|
275 |
a harmless content mismatch reported by page_zip_validate(). |
|
276 |
||
277 |
2008-12-02 The InnoDB Team |
|
278 |
||
279 |
* row/row0merge.c: |
|
280 |
Replace the WHILE 1 with WHILE 1=1 in the SQL procedure, so that the |
|
281 |
loop will actually be entered and temporary indexes be dropped during |
|
282 |
crash recovery. |
|
283 |
||
284 |
2008-12-01 The InnoDB Team |
|
285 |
||
286 |
InnoDB Plugin 1.0.2 released |
|
287 |
||
641.2.1
by Monty Taylor
InnoDB Plugin 1.0.2 |
288 |
2008-10-31 The InnoDB Team |
289 |
||
290 |
* dict/dict0mem.c, include/dict0mem.h, include/lock0lock.h, |
|
291 |
include/row0mysql.h, include/trx0trx.h, include/univ.i, |
|
292 |
include/ut0vec.h, include/ut0vec.ic, lock/lock0lock.c, |
|
293 |
row/row0mysql.c, trx/trx0trx.c: |
|
294 |
Fix Bug#26316 Triggers create duplicate entries on auto-increment |
|
295 |
columns
|
|
296 |
||
297 |
2008-10-30 The InnoDB Team |
|
298 |
||
299 |
* handler/ha_innodb.cc, handler/handler0vars.h, |
|
300 |
handler/win_delay_loader.cc, mysql-test/innodb_bug40360.result, |
|
301 |
mysql-test/innodb_bug40360.test: |
|
302 |
Fix Bug#40360 Binlog related errors with binlog off |
|
303 |
||
304 |
2008-10-29 The InnoDB Team |
|
305 |
||
306 |
* include/data0type.ic: |
|
307 |
Fix Bug#40369 dtype_get_sql_null_size() returns 0 or 1, not the size |
|
308 |
||
309 |
2008-10-29 The InnoDB Team |
|
310 |
||
311 |
* handler/ha_innodb.cc, include/srv0srv.h, srv/srv0srv.c: |
|
312 |
Fix Bug#38189 innodb_stats_on_metadata missing |
|
313 |
||
314 |
2008-10-28 The InnoDB Team |
|
315 |
||
316 |
* CMakeLists.txt, ha_innodb.def, handler/ha_innodb.cc, |
|
317 |
handler/handler0alter.cc, handler/handler0vars.h, handler/i_s.cc, |
|
318 |
handler/win_delay_loader.cc, win-plugin/*: |
|
319 |
Implemented the delayloading of externals for the plugin on Windows.
|
|
320 |
This makes it possible to build a dynamic plugin (ha_innodb.dll) on
|
|
321 |
Windows.
|
|
322 |
||
323 |
2008-10-27 The InnoDB Team
|
|
324 |
||
325 |
* CMakeLists.txt:
|
|
326 |
Fix Bug#19424 InnoDB: Possibly a memory overrun of the buffer being
|
|
327 |
freed (64-bit Visual C)
|
|
328 |
||
329 |
2008-10-23 The InnoDB Team
|
|
330 |
||
331 |
* ibuf/ibuf0ibuf.c:
|
|
332 |
ibuf_delete_rec(): When the cursor to the insert buffer record
|
|
333 |
cannot be restored, do not complain if the tablespace does not
|
|
334 |
exist, because the insert buffer record may have been discarded by
|
|
335 |
some other thread. This bug has existed in MySQL/InnoDB since
|
|
336 |
version 4.1, when innodb_file_per_table was implemented.
|
|
337 |
This may fix Bug#27276 InnoDB Error: ibuf cursor restoration fails.
|
|
338 |
||
339 |
2008-10-22 The InnoDB Team
|
|
340 |
||
341 |
* dict/dict0dict.c, dict/dict0mem.c, handler/ha_innodb.cc,
|
|
342 |
handler/ha_innodb.h, include/dict0dict.h, include/dict0mem.h,
|
|
343 |
row/row0mysql.c:
|
|
344 |
Fix Bug#39830 Table autoinc value not updated on first insert
|
|
345 |
Fix Bug#35498 Cannot get table test/table1 auto-inccounter value in
|
|
346 |
::info
|
|
347 |
Fix Bug#36411 "Failed to read auto-increment value from storage
|
|
348 |
engine" in 5.1.24 auto-inc
|
|
349 |
||
350 |
2008-10-22 The InnoDB Team
|
|
351 |
||
352 |
* handler/ha_innodb.cc, include/row0mysql.h, row/row0mysql.c:
|
|
353 |
Fix Bug#40224 New AUTOINC changes mask reporting of deadlock/timeout
|
|
354 |
errors
|
|
355 |
||
356 |
2008-10-16 The InnoDB Team
|
|
357 |
||
358 |
* dict/dict0dict.c, mysql-test/innodb-index.result,
|
|
359 |
mysql-test/innodb-index.test:
|
|
360 |
Skip the undo log size check when creating REDUNDANT and COMPACT
|
|
361 |
tables. In ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED, column
|
|
362 |
prefix indexes require that prefixes of externally stored columns
|
|
363 |
be written to the undo log. This may make the undo log record
|
|
364 |
bigger than the record on the B-tree page. The maximum size of an
|
|
365 |
undo log record is the page size. That must be checked for, in
|
|
366 |
dict_index_add_to_cache(). However, this restriction must not
|
|
367 |
be enforced on REDUNDANT or COMPACT tables.
|
|
368 |
||
369 |
2008-10-15 The InnoDB Team
|
|
370 |
||
371 |
* btr/btr0cur.c, include/btr0cur.h, row/row0ext.c, row/row0sel.c,
|
|
372 |
row/row0upd.c:
|
|
373 |
When the server crashes while freeing an externally stored column
|
|
374 |
of a compressed table, the BTR_EXTERN_LEN field in the BLOB
|
|
375 |
pointer will be written as 0. Tolerate this in the functions that
|
|
376 |
deal with externally stored columns. This fixes problems after
|
|
377 |
crash recovery, in the rollback of incomplete transactions, and in
|
|
378 |
the purge of delete-marked records.
|
|
379 |
||
380 |
2008-10-15 The InnoDB Team
|
|
381 |
||
382 |
* btr/btr0btr.c, include/page0zip.h, page/page0zip.c, include/univ.i:
|
|
383 |
When a B-tree node of a compressed table is split or merged, the
|
|
384 |
compression may fail. In this case, the entire compressed page
|
|
385 |
will be copied and the excess records will be deleted. However,
|
|
386 |
page_zip_copy(), now renamed to page_zip_copy_recs(), copied too
|
|
387 |
many fields in the page header, overwriting PAGE_BTR_SEG_LEAF and
|
|
388 |
PAGE_BTR_SEG_TOP when splitting the B-tree root. This caused
|
|
389 |
corruption of compressed tables. Furthermore, the lock table and
|
|
390 |
the adaptive hash index would be corrupted, because we forgot to
|
|
391 |
update them when invoking page_zip_copy_recs().
|
|
392 |
||
393 |
Introduce the symbol UNIV_ZIP_DEBUG for triggering the copying of
|
|
394 |
compressed pages more often, for debugging purposes.
|
|
395 |
||
396 |
2008-10-10 The InnoDB Team
|
|
397 |
||
398 |
* handler/handler0alter.cc, include/row0merge.h, row/row0merge.c,
|
|
399 |
row/row0mysql.c:
|
|
400 |
Fix some locking issues, mainly in fast index creation. The
|
|
401 |
InnoDB data dictionary cache should be latched whenever a
|
|
402 |
transaction is holding locks on any data dictionary tables.
|
|
403 |
Otherwise, lock waits or deadlocks could occur. Furthermore, the
|
|
404 |
data dictionary transaction must be committed (and the locks
|
|
405 |
released) before the data dictionary latch is released.
|
|
406 |
||
407 |
ha_innobase::add_index(): Lock the data dictionary before renaming
|
|
408 |
or dropping the created indexes, because neither operation will
|
|
409 |
commit the data dictionary transaction.
|
|
410 |
||
411 |
ha_innobase::final_drop_index(): Commit the transactions before
|
|
412 |
unlocking the data dictionary.
|
|
413 |
||
414 |
2008-10-09 The InnoDB Team
|
|
415 |
||
416 |
* buf/buf0lru.c:
|
|
417 |
Fix Bug#39939 DROP TABLE/DISCARD TABLESPACE takes long time in
|
|
418 |
buf_LRU_invalidate_tablespace()
|
|
419 |
||
420 |
2008-10-08 The InnoDB Team
|
|
421 |
||
422 |
* dict/dict0crea.c, trx/trx0roll.c, include/row0mysql.h,
|
|
423 |
row/row0merge.c, row/row0mysql.c:
|
|
424 |
When dropping a table, hold the data dictionary latch until the
|
|
425 |
transaction has been committed. The data dictionary latch is
|
|
426 |
supposed to prevent lock waits and deadlocks in the data
|
|
427 |
dictionary tables. Due to this bug, DROP TABLE could cause a
|
|
428 |
deadlock or hang. Note that because of Bug#33650 and Bug#39833,
|
|
429 |
MySQL may also drop a (temporary) table when executing CREATE INDEX
|
|
430 |
or ALTER TABLE ... ADD INDEX.
|
|
431 |
||
432 |
2008-10-04 The InnoDB Team
|
|
433 |
||
434 |
* handler/ha_innodb.cc, mysql-test/innodb_bug39438-master.opt,
|
|
435 |
mysql-test/innodb_bug39438.result, mysql-test/innodb_bug39438.test:
|
|
436 |
Fix Bug#39438 Testcase for Bug#39436 crashes on 5.1 in
|
|
437 |
fil_space_get_latch
|
|
438 |
||
439 |
2008-10-04 The InnoDB Team
|
|
440 |
||
441 |
* include/lock0lock.h, lock/lock0lock.c,
|
|
442 |
mysql-test/innodb_bug38231.result, mysql-test/innodb_bug38231.test,
|
|
443 |
row/row0mysql.c:
|
|
444 |
Fix Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE +
|
|
445 |
LOCK / UNLOCK
|
|
446 |
||
447 |
2008-10-04 The InnoDB Team
|
|
448 |
||
449 |
* handler/ha_innodb.cc:
|
|
450 |
Fix Bug#35498 Cannot get table test/table1 auto-inccounter value in
|
|
451 |
::info
|
|
452 |
||
453 |
2008-10-04 The InnoDB Team
|
|
454 |
||
455 |
* handler/ha_innodb.cc, handler/ha_innodb.h:
|
|
456 |
Fix Bug#37788 InnoDB Plugin: AUTO_INCREMENT wrong for compressed
|
|
457 |
tables
|
|
458 |
||
459 |
2008-10-04 The InnoDB Team
|
|
460 |
||
461 |
* dict/dict0dict.c, handler/ha_innodb.cc, handler/ha_innodb.h,
|
|
462 |
include/dict0dict.h, include/dict0mem.h, row/row0mysql.c:
|
|
463 |
Fix Bug#39830 Table autoinc value not updated on first insert
|
|
464 |
||
465 |
2008-10-03 The InnoDB Team
|
|
466 |
||
467 |
* mysql-test/innodb-index.test, mysql-test/innodb-index.result,
|
|
468 |
mysql-test/innodb-timeout.test, mysql-test/innodb-timeout.result,
|
|
469 |
srv/srv0srv.c, include/srv0srv.h, handler/ha_innodb.cc,
|
|
470 |
include/ha_prototypes.h:
|
|
471 |
Fix Bug#36285 innodb_lock_wait_timeout is not dynamic, not per session
|
|
472 |
||
473 |
2008-09-19 The InnoDB Team
|
|
474 |
||
475 |
* os/os0proc.c:
|
|
476 |
Fix a memory leak on Windows. The memory leak was due to wrong
|
|
477 |
parameters passed into VirtualFree() call. As the result, the
|
|
478 |
call fails with Windows error 87.
|
|
479 |
||
480 |
2008-09-17 The InnoDB Team
|
|
481 |
||
482 |
* mysql-test/innodb.result, mysql-test/innodb-zip.result,
|
|
483 |
mysql-test/innodb-zip.test, mysql-test/innodb.test, ibuf/ibuf0ibuf.c,
|
|
484 |
dict/dict0crea.c, dict/dict0load.c, dict/dict0boot.c,
|
|
485 |
include/dict0dict.h, include/trx0trx.h, dict/dict0dict.c,
|
|
486 |
trx/trx0trx.c, include/ha_prototypes.h, handler/ha_innodb.cc:
|
|
487 |
When creating an index in innodb_strict_mode, check that the
|
|
488 |
maximum record size will never exceed the B-tree page size limit.
|
|
489 |
For uncompressed tables, there should always be enough space for
|
|
490 |
two records in an empty B-tree page. For compressed tables, there
|
|
491 |
should be enough space for storing two node pointer records or one
|
|
492 |
data record in an empty page in uncompressed format.
|
|
493 |
The purpose of this check is to guarantee that INSERT or UPDATE
|
|
494 |
will never fail due to too big record size.
|
|
495 |
||
496 |
2008-09-17 The InnoDB Team
|
|
497 |
||
498 |
* btr/btr0cur.c, data/data0data.c, include/page0zip.h,
|
|
499 |
include/page0zip.ic, page/page0zip.c, mysql-test/innodb_bug36172.test:
|
|
500 |
Prevent infinite B-tree page splits in compressed tables by
|
|
501 |
ensuring that there will always be enough space for two node
|
|
502 |
pointer records in an empty B-tree page. Also, require that at
|
|
503 |
least one data record will fit in an empty compressed page. This
|
|
504 |
will reduce the maximum size of records in compressed tables.
|
|
505 |
||
506 |
2008-09-09 The InnoDB Team
|
|
507 |
||
508 |
* mysql-test/innodb.result:
|
|
509 |
Fix the failing innodb test by merging changes that MySQL made to
|
|
510 |
that file (r2646.12.1 in MySQL BZR repository)
|
|
511 |
||
512 |
2008-09-09 The InnoDB Team
|
|
513 |
||
514 |
* handler/ha_innodb.cc, mysql-test/innodb-autoinc.result,
|
|
515 |
mysql-test/innodb-autoinc.test:
|
|
516 |
Fix Bug#38839 auto increment does not work properly with InnoDB after
|
|
517 |
update
|
|
518 |
||
519 |
2008-09-09 The InnoDB Team
|
|
520 |
||
521 |
* dict/dict0dict.c, handler/handler0alter.cc, include/dict0dict.h,
|
|
522 |
mysql-test/innodb-index.result, mysql-test/innodb-index.test:
|
|
523 |
Fix Bug#38786 InnoDB plugin crashes on drop table/create table with FK
|
|
524 |
||
525 |
2008-08-21 The InnoDB Team
|
|
526 |
||
527 |
* handler/ha_innodb.cc, include/ha_prototypes.h, row/row0sel.c:
|
|
528 |
Fix Bug#37885 row_search_for_mysql may gap lock unnecessarily with SQL
|
|
529 |
comments in query
|
|
530 |
||
531 |
2008-08-21 The InnoDB Team
|
|
532 |
||
533 |
* handler/ha_innodb.cc:
|
|
534 |
Fix Bug#38185 ha_innobase::info can hold locks even when called with
|
|
535 |
HA_STATUS_NO_LOCK
|
|
536 |
||
537 |
2008-08-18 The InnoDB Team
|
|
538 |
||
539 |
* buf/buf0buf.c, buf/buf0lru.c, include/buf0buf.ic, include/univ.i:
|
|
540 |
Introduce UNIV_LRU_DEBUG for debugging the LRU buffer pool cache
|
|
541 |
||
542 |
2008-08-08 The InnoDB Team
|
|
543 |
||
544 |
* buf/buf0lru.c, include/buf0buf.h:
|
|
545 |
Fix two recovery bugs that could lead to a crash in debug builds with
|
|
546 |
small buffer size
|
|
547 |
||
548 |
2008-08-07 The InnoDB Team
|
|
549 |
||
550 |
* btr/btr0cur.c, handler/ha_innodb.cc, include/srv0srv.h,
|
|
551 |
srv/srv0srv.c:
|
|
552 |
Add a parameter innodb_stats_sample_pages to allow users to control
|
|
553 |
the number of index dives when InnoDB estimates the cardinality of
|
|
554 |
an index (ANALYZE TABLE, SHOW TABLE STATUS etc)
|
|
555 |
||
556 |
2008-08-07 The InnoDB Team
|
|
557 |
||
558 |
* trx/trx0i_s.c:
|
|
559 |
Fix a bug that would lead to a crash if a SELECT was issued from the
|
|
560 |
INFORMATION_SCHEMA tables and there are rolling back transactions at
|
|
561 |
the same time
|
|
562 |
||
563 |
2008-08-06 The InnoDB Team
|
|
564 |
||
565 |
* btr/btr0btr.c, btr/btr0cur.c, ibuf/ibuf0ibuf.c, include/btr0cur.h,
|
|
566 |
include/trx0roll.h, include/trx0types.h, row/row0purge.c,
|
|
567 |
row/row0uins.c, row/row0umod.c, trx/trx0roll.c:
|
|
568 |
In the rollback of incomplete transactions after crash recovery,
|
|
569 |
tolerate clustered index records whose externally stored columns
|
|
570 |
have not been written.
|
|
571 |
||
572 |
2008-07-30 The InnoDB Team
|
|
573 |
||
574 |
* trx/trx0trx.c:
|
|
575 |
Fixes a race in recovery where the recovery thread recovering a
|
|
576 |
PREPARED trx and the background rollback thread can both try
|
|
577 |
to free the trx after its status is set to COMMITTED_IN_MEMORY.
|
|
578 |
||
579 |
2008-07-29 The InnoDB Team
|
|
580 |
||
581 |
* include/trx0rec.h, row/row0purge.c, row/row0vers.c, trx/trx0rec.c:
|
|
582 |
Fix a BLOB corruption bug
|
|
583 |
||
584 |
2008-07-15 The InnoDB Team
|
|
585 |
||
586 |
* btr/btr0sea.c, dict/dict0dict.c, include/btr0sea.h:
|
|
587 |
Fixed a timing hole where a thread dropping an index can free the
|
|
588 |
in-memory index struct while another thread is still using that
|
|
589 |
structure to remove entries from adaptive hash index belonging
|
|
590 |
to one of the pages that belongs to the index being dropped.
|
|
591 |
||
592 |
2008-07-04 The InnoDB Team
|
|
593 |
||
594 |
* mysql-test/innodb-index.result:
|
|
595 |
Fix the failing innodb-index test by adjusting the result to a new
|
|
596 |
MySQL behavior (the change occured in BZR-r2667)
|
|
597 |
||
598 |
2008-07-03 The InnoDB Team
|
|
599 |
||
600 |
* mysql-test/innodb-zip.result, mysql-test/innodb-zip.test:
|
|
601 |
Remove the negative test cases that produce warnings
|
|
602 |
||
603 |
2008-07-02 The InnoDB Team
|
|
604 |
||
605 |
* mysql-test/innodb-replace.result, mysql-test/innodb-index.test:
|
|
606 |
Disable part of innodb-index test because MySQL changed its behavior
|
|
607 |
and is not calling ::add_index() anymore when adding primary index on
|
|
608 |
non-NULL column
|
|
609 |
||
610 |
2008-07-01 The InnoDB Team
|
|
611 |
||
612 |
* mysql-test/innodb-replace.result, mysql-test/innodb-replace.test:
|
|
613 |
Fix the failing innodb-replace test by merging changes that MySQL
|
|
614 |
made to that file (r2659 in MySQL BZR repository)
|
|
615 |
||
616 |
2008-07-01 The InnoDB Team
|
|
617 |
||
618 |
* lock/lock0lock.c:
|
|
619 |
Fix Bug#36942 Performance problem in lock_get_n_rec_locks (SHOW INNODB
|
|
620 |
STATUS)
|
|
621 |
||
622 |
2008-07-01 The InnoDB Team
|
|
623 |
||
624 |
* ha/ha0ha.c:
|
|
625 |
Fix Bug#36941 Performance problem in ha_print_info (SHOW INNODB
|
|
626 |
STATUS)
|
|
627 |
||
628 |
2008-07-01 The InnoDB Team
|
|
629 |
||
630 |
* handler/ha_innodb.cc, mysql-test/innodb-autoinc.result,
|
|
631 |
mysql-test/innodb-autoinc.test:
|
|
632 |
Fix Bug#37531 After truncate, auto_increment behaves incorrectly for
|
|
633 |
InnoDB
|
|
634 |
||
635 |
2008-06-19 The InnoDB Team
|
|
636 |
||
637 |
* handler/ha_innodb.cc:
|
|
638 |
Rewrite the function innodb_plugin_init() to support parameters in
|
|
639 |
different order (in static and dynamic InnoDB) and to support more
|
|
640 |
parameters in the static InnoDB
|
|
641 |
||
642 |
2008-06-19 The InnoDB Team
|
|
643 |
||
644 |
* handler/handler0alter.cc:
|
|
645 |
Fix a bug in ::add_index() which set the transaction state to "active"
|
|
646 |
but never restored it to the original value. This bug caused warnings
|
|
647 |
to be printed by the rpl.rpl_ddl mysql-test.
|
|
648 |
||
649 |
2008-06-19 The InnoDB Team
|
|
650 |
||
651 |
* mysql-test/patches:
|
|
652 |
Add a directory which contains patches, which need to be applied to
|
|
653 |
MySQL source in order to get some mysql-tests to succeed. The patches
|
|
654 |
cannot be committed in MySQL repository because they are specific to
|
|
655 |
the InnoDB plugin.
|
|
656 |
||
657 |
2008-06-19 The InnoDB Team
|
|
658 |
||
659 |
* mysql-test/innodb-zip.result, mysql-test/innodb-zip.test,
|
|
660 |
row/row0row.c:
|
|
661 |
Fix an anomaly when updating a record with BLOB prefix
|
|
662 |
||
663 |
2008-06-18 The InnoDB Team
|
|
664 |
||
665 |
* include/trx0sys.h, srv/srv0start.c, trx/trx0sys.c:
|
|
666 |
Fix a bug in recovery which was a side effect of the file_format_check
|
|
667 |
changes
|
|
668 |
||
669 |
2008-06-09 The InnoDB Team
|
|
670 |
||
671 |
* mysql-test/innodb.result:
|
|
672 |
Fix the failing innodb test by merging changes that MySQL made to that
|
|
673 |
file
|
|
674 |
||
675 |
2008-06-06 The InnoDB Team
|
|
676 |
||
677 |
* buf/buf0buf.c, handler/ha_innodb.cc, include/buf0buf.h,
|
|
678 |
include/srv0srv.h, srv/srv0srv.c:
|
|
679 |
Fix Bug#36600 SHOW STATUS takes a lot of CPU in
|
|
680 |
buf_get_latched_pages_number
|
|
681 |
||
682 |
* handler/ha_innodb.cc, os/os0file.c:
|
|
683 |
Fix Bug#11894 innodb_file_per_table crashes w/ Windows .sym symbolic
|
|
684 |
link hack
|
|
685 |
||
686 |
* include/ut0ut.h, srv/srv0srv.c, ut/ut0ut.c:
|
|
687 |
Fix Bug#36819 ut_usectime does not handle errors from gettimeofday
|
|
688 |
||
689 |
* handler/ha_innodb.cc:
|
|
690 |
Fix Bug#35602 Failed to read auto-increment value from storage engine
|
|
691 |
||
692 |
* srv/srv0start.c:
|
|
693 |
Fix Bug#36149 Read buffer overflow in srv0start.c found during "make
|
|
694 |
test"
|
|
695 |
||
696 |
2008-05-08 The InnoDB Team
|
|
697 |
||
698 |
* btr/btr0btr.c, mysql-test/innodb_bug36172.result,
|
|
699 |
mysql-test/innodb_bug36172.test:
|
|
700 |
Fix Bug#36172 insert into compressed innodb table crashes
|
|
701 |
||
702 |
2008-05-08 The InnoDB Team
|
|
703 |
||
704 |
InnoDB Plugin 1.0.1 released
|
|
705 |
||
641.1.2
by Monty Taylor
Imported 1.0.1 with clean - with no changes. |
706 |
2008-05-06 The InnoDB Team
|
707 |
||
708 |
* handler/ha_innodb.cc, include/srv0srv.h, include/sync0sync.h,
|
|
709 |
include/trx0sys.h, mysql-test/innodb-zip.result,
|
|
710 |
mysql-test/innodb-zip.test, srv/srv0srv.c, srv/srv0start.c,
|
|
711 |
sync/sync0sync.c, trx/trx0sys.c:
|
|
712 |
Implement the system tablespace tagging
|
|
713 |
||
714 |
* handler/ha_innodb.cc, handler/i_s.cc, include/univ.i,
|
|
715 |
srv/srv0start.c:
|
|
716 |
Add InnoDB version in INFORMATION_SCHEMA.PLUGINS.PLUGIN_VERSION,
|
|
717 |
in the startup message and in a server variable innodb_version.
|
|
718 |
||
719 |
* sync/sync0sync.c:
|
|
720 |
Fix a bug in the sync debug code where a lock with level
|
|
721 |
SYNC_LEVEL_VARYING would cause an assertion failure when a thread
|
|
722 |
tried to release it.
|
|
723 |
||
724 |
2008-04-30 The InnoDB Team
|
|
725 |
||
726 |
* Makefile.am:
|
|
727 |
Fix Bug#36434 ha_innodb.so is installed in the wrong directory
|
|
728 |
||
729 |
* handler/ha_innodb.cc:
|
|
730 |
Merge change from MySQL (Fix Bug#35406 5.1-opt crashes on select from
|
|
731 |
I_S.REFERENTIAL_CONSTRAINTS):
|
|
732 |
ChangeSet@1.2563, 2008-03-18 19:42:04+04:00, gluh@mysql.com +1 -0
|
|
733 |
||
734 |
* scripts/install_innodb_plugins.sql:
|
|
735 |
Added
|
|
736 |
||
737 |
* mysql-test/innodb.result:
|
|
738 |
Merge change from MySQL (this fixes the failing innodb test):
|
|
739 |
ChangeSet@1.1810.3601.4, 2008-02-07 02:33:21+04:00
|
|
740 |
||
741 |
* row/row0sel.c:
|
|
742 |
Fix Bug#35226 RBR event crashes slave
|
|
743 |
||
744 |
* handler/ha_innodb.cc:
|
|
745 |
Change the fix for Bug#32440 to show bytes instead of kilobytes in
|
|
746 |
INFORMATION_SCHEMA.TABLES.DATA_FREE
|
|
747 |
||
748 |
* handler/ha_innodb.cc, mysql-test/innodb.result,
|
|
749 |
mysql-test/innodb.test:
|
|
750 |
Fix Bug#29507 TRUNCATE shows to many rows effected
|
|
751 |
||
752 |
* handler/ha_innodb.cc, mysql-test/innodb.result,
|
|
753 |
mysql-test/innodb.test:
|
|
754 |
Fix Bug#35537 Innodb doesn't increment handler_update and
|
|
755 |
handler_delete
|
|
756 |
||
757 |
2008-04-29 The InnoDB Team
|
|
758 |
||
641.2.1
by Monty Taylor
InnoDB Plugin 1.0.2 |
759 |
* handler/i_s.cc, include/srv0start.h, srv/srv0start.c:
|
641.1.2
by Monty Taylor
Imported 1.0.1 with clean - with no changes. |
760 |
Fix Bug#36310 InnoDB plugin crash
|
761 |
||
762 |
2008-04-23 The InnoDB Team
|
|
763 |
||
764 |
* mysql-test/innodb_bug36169.result, mysql-test/innodb_bug36169.test,
|
|
765 |
row/row0mysql.c:
|
|
766 |
Fix Bug#36169 create innodb compressed table with too large row size
|
|
767 |
crashed
|
|
768 |
||
769 |
* (outside the source tree):
|
|
770 |
Fix Bug#36222 New InnoDB plugin 1.0 has wrong MKDIR_P defined in
|
|
771 |
Makefile.in
|
|
772 |
||
773 |
2008-04-15 The InnoDB Team
|
|
774 |
||
775 |
InnoDB Plugin 1.0.0 released
|