mariadb/mysys
Michael Widenius cd9706b27e Fixes bug when we run bcmp() on row when the storage engine hasn't filled in all fields in the row.
This was triggered by innodb.innodb_multi_update, where we had a static length row without nulls and xtradb didn't fill in the delete-marker byte


include/my_bitmap.h:
  Added prototype for bitmap_union_is_set_all()
mysys/my_bitmap.c:
  Added function to check if union of two bit maps covers all bits.
sql/mysql_priv.h:
  Updated protype for compare_record()
sql/sql_insert.cc:
  Send to compare_record() flag if all fields are used.
sql/sql_select.cc:
  Set share->null_bytes_for_compare.
sql/sql_update.cc:
  In compare_record() don't use the fast cmp_record() (which is basically memcmp) if we don't know that all fields exists.
  Don't compare the null_bytes if there is no data there.
sql/table.cc:
  Store in share->null_bytes_for_compare the number of bytes that has null or bit fields (but not delete marker)
  Store in can_cmp_whole_record if we can use memcmp() (assuming all rows are read) to compare rows in compare_record()
sql/table.h:
  Added two elements in table->share to speed up checking how updated rows can be compared.
2010-08-04 16:01:13 +03:00
..
.cvsignore
array.c Merge MySQL 5.1.39 into MariaDB 5.1. 2009-10-15 23:38:29 +02:00
base64.c fixed compilation warnings. addendum to the fix for bug 29125 2009-03-20 16:27:53 +02:00
ChangeLog
charset-def.c Added more general support for sorting 2 characters as one (contractions) 2009-11-30 14:42:24 +02:00
charset.c Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
checksum.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
CMakeLists.txt Implement an NSIS based installer 2010-06-25 15:09:45 +02:00
default.c Recommit of Bug#49447. 2010-02-04 13:39:42 +01:00
default_modify.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
errors.c Added error handling for my_seek() & my_tell() failures 2009-11-07 12:34:19 +02:00
hash.c Additional fix for bug #45613: handle failures from my_hash_insert 2009-11-23 17:32:10 +02:00
lf_alloc-pin.c post-review fixes 2009-01-15 22:27:36 +01:00
lf_dynarray.c Windows fixes 2008-01-10 13:21:53 +01:00
lf_hash.c Remove compiler warnings (Including some warnings from -Wstrict-aliasing) 2009-11-30 01:08:56 +02:00
list.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
make-ccc Remove unused (and incorrect) my_lread() and my_lwrite() 2006-09-14 23:29:44 -06:00
make-conf.c Many files: 2006-12-23 20:17:15 +01:00
Makefile.am Merge with MySQL 5.1, with following additions: 2009-11-16 21:49:51 +01:00
md5.c Bug #42434: license of mysys MD5 implementation is not GPL-compatible 2009-03-09 20:57:03 +02:00
mf_arr_appstr.c Bug #20748: Configuration files should not be read more than once 2007-11-07 15:23:50 -07:00
mf_brkhant.c Many files: 2006-12-23 20:17:15 +01:00
mf_cache.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_dirname.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_fn_ext.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_format.c BUG#43949 Initialization of slave produces a warning message in Valgrind 2009-04-19 02:21:33 +01:00
mf_getdate.c Merge from 5.0-bugteam 2009-05-13 08:48:00 -07:00
mf_iocache.c Merge MySQL 5.1.39 into MariaDB 5.1. 2009-10-15 23:38:29 +02:00
mf_iocache2.c Merge MySQL->MariaDB 2009-09-08 00:50:10 +04:00
mf_keycache.c Removed compiler warning 2010-03-30 15:36:49 +03:00
mf_keycaches.c Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1 2007-06-27 17:49:12 +03:00
mf_loadpath.c Merge with MySQL 5.1.47 2010-05-26 21:55:40 +03:00
mf_pack.c Bug #51893: crash with certain characters given to load_file 2010-03-23 16:54:16 +02:00
mf_path.c Slow query log to file now displays queries with microsecond precission 2007-07-30 11:33:50 +03:00
mf_qsort.c We are now using Valgrind rather than purify, and have for quite some time. 2009-05-06 14:03:24 +02:00
mf_qsort2.c Many files: 2006-12-23 20:17:15 +01:00
mf_radix.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_same.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_sort.c Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint 2007-10-18 14:32:43 +04:00
mf_soundex.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_tempdir.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
mf_tempfile.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
mf_unixpath.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
mf_util.c Many files: 2006-12-23 20:17:15 +01:00
mf_wcomp.c Many files: 2006-12-23 20:17:15 +01:00
mf_wfile.c Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
mulalloc.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_access.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_aes.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_alarm.c Many files: 2006-12-23 20:17:15 +01:00
my_alloc.c Merge with MySQL 5.1.49 2010-08-02 12:01:24 +03:00
my_append.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
my_atomic.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
my_bit.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
my_bitmap.c Fixes bug when we run bcmp() on row when the storage engine hasn't filled in all fields in the row. 2010-08-04 16:01:13 +03:00
my_chmod.c Added wrapper for chmod(): my_chmod() 2008-01-03 09:45:46 +02:00
my_chsize.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_clock.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_compress.c Fix most Compiler warnings seen in buildbot. 2009-09-03 15:20:22 +02:00
my_conio.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
my_copy.c Merge with MySQL 5.1, with following additions: 2009-11-16 21:49:51 +01:00
my_crc32.c Many files: 2006-12-23 20:17:15 +01:00
my_create.c Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-main 2008-03-13 23:35:52 +02:00
my_delete.c Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-main 2007-12-16 17:03:44 +02:00
my_div.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_dup.c Fixed compiler warnings. 2007-03-22 20:32:07 +02:00
my_error.c Merged with mysql-5.1 tree. 2009-04-25 13:05:32 +03:00
my_file.c Merge with MySQL 5.1.47 2010-05-26 21:55:40 +03:00
my_fopen.c Fixed several bugs in page CRC handling 2007-12-18 03:21:32 +02:00
my_fstream.c Merge BUG#22082 from 5.0-bugteam to 5.1-bugteam 2009-03-06 17:38:14 +08:00
my_gethostbyname.c Added missing space from last push 2010-03-31 23:50:54 +03:00
my_gethwaddr.c mysys/my_gethwaddr.c 2007-08-09 14:56:57 +02:00
my_getncpus.c Windows fixes 2008-01-10 13:21:53 +01:00
my_getopt.c Merge with MySQL 5.1.49 2010-08-02 12:01:24 +03:00
my_getpagesize.c Many files: 2006-12-23 20:17:15 +01:00
my_getsystime.c Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
my_getwd.c On behalf of Kristofer : 2010-05-05 11:54:52 +03:00
my_handler.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
my_handler_errors.h Merge MySQL->MariaDB 2009-09-08 00:50:10 +04:00
my_init.c Merge MySQL 5.1.46 into MariaDB. 2010-04-28 14:52:24 +02:00
my_largepage.c Bug #43606: 4GB Limit on huge_pages shared memory set-up 2009-09-18 11:19:02 +04:00
my_lib.c Merge polly.(none):/home/kaa/src/maint/mysql-5.0-maint 2007-10-18 14:32:43 +04:00
my_libwrap.c Many files: 2006-12-23 20:17:15 +01:00
my_lock.c Added versioning of Maria index 2008-06-26 08:18:28 +03:00
my_lockmem.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_malloc.c Merge with MySQL 5.1.49 2010-08-02 12:01:24 +03:00
my_memmem.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_messnc.c Many files: 2006-12-23 20:17:15 +01:00
my_mkdir.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_mmap.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_net.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_netware.c Many files: 2006-12-23 20:17:15 +01:00
my_new.cc Bug#43461: invalid comparison with string literal in default.c 2009-03-19 17:20:15 -03:00
my_once.c Fix build error after last push with --with-debug=full due to SAFEMALLOC now being 2009-03-31 10:06:51 +02:00
my_open.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
my_port.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_pread.c Merged with mysql-5.1 tree. 2009-04-25 13:05:32 +03:00
my_pthread.c WL#3262 add mutex lock order checking to safemutex (also called safe_mutex_deadlock_detector) 2008-12-03 00:02:52 +02:00
my_quick.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
my_read.c Merged with mysql-5.1 tree. 2009-04-25 13:05:32 +03:00
my_realloc.c Fix build error after last push with --with-debug=full due to SAFEMALLOC now being 2009-03-31 10:06:51 +02:00
my_redel.c Remove compiler warnings (Including some warnings from -Wstrict-aliasing) 2009-11-30 01:08:56 +02:00
my_rename.c Moved a lot of old bug fixes and safe cleanups from Maria 5.1 tree to 5.1 2007-10-11 18:07:40 +03:00
my_rnd.c We are now using Valgrind rather than purify, and have for quite some time. 2009-05-06 14:03:24 +02:00
my_safehash.c Fixed compiler warnings 2007-08-22 10:56:10 +03:00
my_safehash.h Merged with mysql-5.1 main tree. 2007-07-02 20:45:15 +03:00
my_seek.c Added error handling for my_seek() & my_tell() failures 2009-11-07 12:34:19 +02:00
my_sleep.c WL#3262 add mutex lock order checking to safemutex (also called safe_mutex_deadlock_detector) 2008-12-03 00:02:52 +02:00
my_static.c Merge with MySQL 5.1, with following additions: 2009-11-16 21:49:51 +01:00
my_static.h Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size 2008-08-19 15:56:41 +02:00
my_symlink.c Merge with MySQL 5.1.47 2010-05-26 21:55:40 +03:00
my_symlink2.c Merge mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-5.0-engines 2007-11-12 15:26:37 +04:00
my_sync.c Added count of my_sync calls (to SHOW STATUS) 2010-03-09 21:22:24 +02:00
my_thr_init.c Merge MySQL 5.1.44 into MariaDB. 2010-03-04 09:03:07 +01:00
my_uuid.c Fixed bug in my_uuid() that caused failures on hpux and ia64 2010-01-04 20:31:26 +02:00
my_vle.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_wincond.c Merge with MySQL 5.1, with following additions: 2009-11-16 21:49:51 +01:00
my_windac.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_winthread.c Merge MySQL 5.1.44 into MariaDB. 2010-03-04 09:03:07 +01:00
my_write.c merge of 5.1-main into 5.1-maria. MyISAM changes are propagated to Maria except 2009-04-01 11:34:52 +02:00
mysys_priv.h WL#3262 add mutex lock order checking to safemutex (also called safe_mutex_deadlock_detector) 2008-12-03 00:02:52 +02:00
ptr_cmp.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
queues.c Fix for server bug experienced in Maria (wrong "Truncated incorrect <var_name> 2008-02-18 23:29:39 +01:00
rijndael.c my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
safemalloc.c Merge with MySQL 5.1.49 2010-08-02 12:01:24 +03:00
sha1.c Merge bk-internal.mysql.com:/home/bk/mysql-5.0 2007-01-22 14:04:40 +02:00
stacktrace.c Fix for LP#602604: RQG: ma_blockrec.c:6187: _ma_apply_redo_insert_row_head_or_tail: Assertion `0' failed on Maria engine recovery 2010-07-30 10:45:27 +03:00
string.c Bug#29125 Windows Server X64: so many compiler warnings 2009-02-13 11:41:47 -05:00
test_charset.c Fix doxygen warnings. 2007-08-15 17:43:08 +04:00
test_dir.c Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
test_fn.c Many files: 2006-12-23 20:17:15 +01:00
test_thr_mutex.c Add missing file: Testing of mutex-wrong-usage-detector 2008-12-03 00:09:37 +02:00
test_xml.c Many files: 2006-12-23 20:17:15 +01:00
testhash.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
thr_alarm.c Bug#54667: Unnecessary signal handler redefinition 2010-07-01 12:02:00 +04:00
thr_lock.c Merge with MySQL 5.1, with following additions: 2009-11-16 21:49:51 +01:00
thr_mutex.c Fixed LPBUG#485443 --with-fast-mutexes and without safe mutexes (debug build) maria do not builds 2009-11-26 01:18:23 +02:00
thr_rwlock.c wt needs to use its own implementation of rwlocks with 2008-10-24 12:34:08 +02:00
tree.c Safety change to ensure read/black trees (used with heap tables) works on 64 bit setups where ulong <> size_t 2009-11-16 17:34:08 +02:00
trie.c WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
typelib.c Merge the last bit of MySQL 5.1.41 into MariaDB. 2009-11-18 12:47:59 +01:00
waiting_threads.c compilation fixes 2009-01-19 16:27:49 +01:00
wqueue.c Debug code fixed. 2008-04-21 17:43:38 +03:00