UNIV_IBUF_DEBUG.
innobase_start_or_create_for_mysql(): Note that crash recovery is broken
when UNIV_IBUF_DEBUG is defined.
ibuf_counts[]: Make this a two-dimensional array. No need to allocate
anything from the heap. Eliminate ibuf_counts_inited, as the array
will be zero-filled by the runtime environment.
ibuf_count_check(): New function, to print out an explanation before
assertion failure.
to set this flag immediately after open(2)ing. This way an error caused by
O_DIRECT not being supported can easily be ignored.
* Add support for skipping the OS caching on Solaris by calling directio()
instead of fcntl().
Approved by: Heikki
MySQL calls external_lock at the beginning and end of a statement
when it is not calling start_stmt or commit or rollback. Thus,
statement boundaries can be (and are already) detected without
monitoring thd->query_id.
The function innobase_commit() seemingly lacks the call to
innobase_release_stat_resources(), which should be called at
the end of every SQL statement. The call was replaced by
equivalent statements by Vadim Tkachenko when he implemented
innodb_commit_concurrency in MySQL 5.0:
http://mysql.bkbits.net:8080/mysql-5.0/?PAGE=patch&REV=1.1886.70.1
ChangeSet
2007/02/14 22:06:41-08:00 igor@olga.mysql.com
Fixed bug #25971: indexes on text columns were ignored when ref accesses
were evaluated.
According to the new rules for string comparison partial indexes on text
columns can be used in the same cases when partial indexes on varchar
columns can be used.
mysql-test/r/innodb.result
2007/02/14 22:06:39-08:00 igor@olga.mysql.com +1 -1
Adjusted results after the fix for bug #25971.
ChangeSet
2007/02/15 15:39:03+01:00 guilhem@gbichot3.local
Fix for BUG#25507 "multi-row insert delayed + auto increment causes
duplicate key entries on slave" (two concurrrent connections doing
multi-row INSERT DELAYED to insert into an auto_increment column,
caused replication slave to stop with "duplicate key error" (and
binlog was wrong)), and BUG#26116 "If multi-row INSERT
DELAYED has errors, statement-based binlogging breaks" (the binlog
was not accounting for all rows inserted, or slave could stop).
The fix is that: if (statement-based) binlogging is on, a multi-row
INSERT DELAYED is silently converted to a non-delayed INSERT.
Note: it is not possible to test BUG#25507 in 5.0 (requires mysqlslap),
so it is tested only in the changeset for 5.1. However, BUG#26116
is tested here, and the fix for BUG#25507 is the same code change.
mysql-test/r/innodb-replace.result
2007/02/15 15:39:01+01:00 guilhem@gbichot3.local +2 -2
result update
mysql-test/t/innodb-replace.test
2007/02/15 15:39:01+01:00 guilhem@gbichot3.local +2 -2
now that multi-row delayed inserts are converted to normal inserts
if the statement-based binlog is enabled,
no error is issued even if this engine does not support INSERT DELAYED,
as the insert does not go through the INSERT DELAYED code.
To preserve the goal of this test, we change the statements to single-
row inserts.
the innodb_gis test case.
ChangeSet
2007/02/19 13:57:06+03:00 kaa@polly.local
Bug#18743: Several test cases fails if "classic" configuration in 5.0
The problem happened because those tests were using "cp932" and "ucs2"
without checking whether these character sets are available.
This fix moves test parts to make character set specific parts be
tested only if they are:
- some parts were moved to "ctype_ucs.test" and "ctype_cp932.test"
- some parts were moved to the newly added tests "innodb-ucs2.test",
"mysqlbinglog-cp932.test" and "sp-ucs2.test"
mysql-test/t/innodb.test
2007/02/19 13:57:02+03:00 kaa@polly.local +0 -222
Moved ucs2-specific test cases to innodb-ucs2.test
ChangeSet@1.2409.1.83 2007-03-06 10:36:15-07:00 tsmith@hindu.god
Bug #26598: Create variable to allow turning off of statistic gathering
on metadata commands
Add innodb_stats_on_metadata option, which enables gathering
index statistics when processing metadata commands such as
SHOW TABLE STATUS. Default behavior of the server does not
change (this option is enabled by default).
innobase_query_caching_of_table_permitted(): Make static.
ha_innobase::register_query_cache_table(): Move the function
definition from ha_innodb.h to ha_innodb.cc. Add comments.
The bug could be reproduced as follows:
Define a table so that the first column of the clustered index is
a VARCHAR or a UTF-8 CHAR in a collation where sequences of bytes
of differing length are considered equivalent.
Insert and delete a record. Before the delete-marked record is
purged, insert another record whose first column is of different
length but equivalent to the first record. Under certain conditions,
the insertion can be incorrectly performed as update-in-place.
Likewise, an operation that could be done as update-in-place can
unnecessarily be performed as delete and insert, but that would not
cause corruption but merely degraded performance.
there is a foreign key constraint ON ... SET NULL. (Bug #25927)
dict_foreign_find_index(): Add paramettter check_null.
dict_foreign_add_to_cache(): Do not allow ON DELETE SET NULL
or ON UPDATE SET NULL if any of the referencing columns are declared NOT NULL.
ChangeSet
2007/01/24 14:49:36+04:00 holyfoot@mysql.com
bug #22682 Test fails --without-geometry
geometry dependent parts moved to proper .test files
mysql-test/r/innodb.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -2
result fixed
mysql-test/r/innodb_gis.result
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +2 -0
result fixed
mysql-test/t/innodb.test
2007/01/24 14:49:34+04:00 holyfoot@mysql.com +0 -6
HAVE_GEOMETRY dependent part moved to innodb_gis.test
mysql-test/t/innodb_gis.test
2007/01/24 14:49:35+04:00 holyfoot@mysql.com +6 -0
HAVE_GEOMETRY dependent part moved here from innodb.test
ChangeSet
2007/01/22 18:42:52+02:00 monty@mysql.com
Give warnings for unused objects
Changed error message to be compatible with old error file
Added new error message for new DUP_ENTRY syntax
mysql-test/t/innodb.test
2007/01/22 18:42:49+02:00 monty@mysql.com +14 -14
Changed to use new error message
symbol collision when building PHP with IMAP and MySQL (Bug #13859).
The bug was originally fixed by MySQL in a more obtrusive way, by
replacing all occurrences of hash_create with hash0_create. This
change was applied to the MySQL tree as follows:
ChangeSet@1.1616.2924.6, 2007-01-11 12:31:52+01:00, kent@mysql.com +9 -0
Many files:
Reverted change for bug#13859, applied smaller patch from Marko
UT_LIST_ADD_FIRST(), UT_LIST_ADD_LAST(), UT_LIST_INSERT_AFTER():
Assert against some trivial cases of cyclic lists.
mutex_enter_func(): Assert that the current thread is not holding the mutex.
void* innobase_prebuilt;
to this:
row_prebuilt_t* prebuilt;
by introducing the typedef in ha_innodb.h, and remove all the now needless
local variables and casts in ha_innodb.cc.