mariadb/storage/innobase
Martin Hansson 30f57b3323 Bug#56423: Different count with SELECT and CREATE SELECT queries
This is a regression from the fix for bug no 38999. A storage engine capable
of reading only a subset of a table's columns updates corresponding bits in
the read buffer to signal that it has read NULL values for the corresponding
columns. It cannot, and should not, update any other bits. Bug no 38999
occurred because the implementation of UPDATE statements compare the NULL bits
using memcmp, inadvertently comparing bits that were never requested from the
storage engine. The regression was caused by the storage engine trying to
alleviate the situation by writing to all NULL bits, even those that it had no
knowledge of. This has devastating effects for the index merge algorithm,
which relies on all NULL bits, except those explicitly requested, being left
unchanged.

The fix reverts the fix for bug no 38999 in both InnoDB and InnoDB plugin and
changes the server's method of comparing records. For engines that always read
entire rows, we proceed as usual. For engines capable of reading only select
columns, the record buffers are now compared on a column by column basis. An
assertion was also added so that non comparable buffers are never read. Some
relevant copy-pasted code was also consolidated in a new function.
2010-10-07 10:13:11 +02:00
..
btr (partially) Fix Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-14 11:39:34 +03:00
buf (partially) Fix Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-14 12:00:58 +03:00
data Applying InnoDB snapshot 5.1-ss6242, part 4. Fixes BUG#48526 2009-11-30 14:23:52 +05:30
dict Merge from mysql-5.1-bugteam to mysql-5.1-security 2010-09-01 17:43:02 -07:00
dyn Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569. 2007-07-10 05:37:43 -06:00
eval Remove redundant variable 2010-09-14 12:11:00 +03:00
fil Fix Bug #54538 - use of exclusive innodb dictionary lock limits performance. 2010-08-20 17:49:43 +10:00
fsp Fix Bug #54538 - use of exclusive innodb dictionary lock limits performance. 2010-08-20 17:49:43 +10:00
fut Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569. 2007-07-10 05:37:43 -06:00
ha Cherry-pick some changes from innodb-5.1-ss2545 snapshot. Includes fixes for 2008-08-20 16:18:33 -06:00
handler merged mysql-5.1 into mysql-5.1-bugteam 2010-10-05 11:11:56 +03:00
ibuf Applying InnoDB snashot 5.1-ss3603. Fixes BUG#27276 2009-04-20 12:57:41 +05:30
include merged mysql-5.1 into mysql-5.1-bugteam 2010-10-05 11:11:56 +03:00
lock (partially) Fix Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-14 12:37:03 +03:00
log (partially) Fix Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-14 12:46:23 +03:00
mach Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569. 2007-07-10 05:37:43 -06:00
mem Apply snapshot innodb-5.1-ss1989 2007-11-06 15:42:58 -07:00
mtr Apply InnoDB snapshot innodb-5.1-ss1751. 2007-08-25 03:55:38 -06:00
os (partially) Fix Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-14 13:01:25 +03:00
page Applying InnoDB snashot 5.1-ss5024 part 1, Follow up Fix for BUG#43660 2009-05-19 13:22:19 +05:30
pars Apply InnoDB snapshot innodb-5.1-ss1751. 2007-08-25 03:55:38 -06:00
que (partially) Fix Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-14 13:39:52 +03:00
read Applied InnoDB snapshot innodb-5.1-ss2298 2008-02-19 09:44:09 -07:00
rem Apply snapshot innodb-51-ss1644 2007-07-24 19:34:31 -06:00
row Bug#56423: Different count with SELECT and CREATE SELECT queries 2010-10-07 10:13:11 +02:00
srv Merge from mysql-trunk-innodb into mysql-5.1-innodb/storage/innobase: 2010-05-20 10:39:02 +03:00
sync Applied InnoDB snapshot innodb-5.1-ss2298 2008-02-19 09:44:09 -07:00
thr Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569. 2007-07-10 05:37:43 -06:00
trx (partially) Fix Bug#55227 Fix compiler warnings in innodb with gcc 4.6 2010-09-14 17:55:44 +03:00
usr Apply the following innodb-5.1-* snapshots: ss1489, ss1496, ss1550, ss1569. 2007-07-10 05:37:43 -06:00
ut Applying InnoDB snapshot 5.1-ss6242, part 1. Fixes BUG#32430 2009-11-30 13:56:45 +05:30
CMakeLists.txt Import branches/5.1@r6912 from SVN on top of storage/innobase 2010-03-31 10:17:04 +03:00
Makefile.am Bug#53445: Build with -Wall and fix warnings that it generates 2010-07-09 08:37:51 -03:00
plug.in Import branches/5.1@r6912 from SVN on top of storage/innobase 2010-03-31 10:17:04 +03:00