mariadb/include
unknown 42221abaed Fix bug lp:869036
Apart from the fix, the patch also adds few more unrelated test
cases for partial matching, and fixes few typos.

Analysis:
This bug uncovered that partial matching via rowid intersection
didn't handle the case when:
- the left IN argument has some NULLs,
- there are no non-null value matches, and there is no non-null
  column,
- the subquery columns that are not covered with the NULLs in
  the left IN argument contain at least one row, such that it
  has NULL values in all columns where the left IN operand has
  no NULLs.
In this case there is a partial match.

In addition the analysis of the related code uncovered incorrect
handling of few other related cases.

Solution:
The solution for the bug is to check if there exists a row with
NULLs in all columns other than the ones having NULL in the
let IN operand.

The check is implemented via checking whether the bitmaps that
store NULL information in class Ordered_key have a non-empty
intersection for the relevant columns.

The intersection itself is implemented via the function
bitmap_exists_intersection() in my_bitmap.c.
2011-11-17 01:25:10 +02:00
..
atomic Bug#22320: my_atomic-t unit test fails 2010-07-05 09:00:39 -03:00
mysql merge 2011-10-11 12:55:42 +02:00
.cvsignore
base64.h
CMakeLists.txt MWL#55 : cherrypick MySQL 5.5 CMake/build improvements in order 2011-01-29 18:51:12 +01:00
config-netware.h BUG#58246: INSTALL PLUGIN not secure & crashable 2010-12-01 13:54:50 +01:00
config-win.h merge Windows performance patches into 5.3 2011-07-05 21:46:53 +02:00
decimal.h Adding support for Dynamic columns (WL#34): 2011-05-08 13:24:06 +03:00
errmsg.h pluggable auth with plugin examples 2010-03-29 17:13:53 +02:00
ft_global.h Merge with MySQL 5.1.57/58 2011-05-02 20:58:45 +03:00
hash.h Merge MySQL->MariaDB 2009-09-08 00:50:10 +04:00
heap.h Merge with MariaDB 5.2 2011-05-10 18:17:43 +03:00
help_end.h
help_start.h
keycache.h merge w/ 5.1 2010-10-29 23:18:02 +02:00
lf.h post-review fixes 2009-01-15 22:27:36 +01:00
m_ctype.h Rewritten patch of percona - switching query cache on and off, removing comments. 2011-05-18 16:27:19 +03:00
m_string.h Merge with 5.2 2011-03-09 15:47:59 +02:00
ma_dyncol.h portability fix: avoid anonymous structs and unions in C 2011-09-22 11:04:00 +02:00
Makefile.am Fixed compilation & test issues found by buildbot 2011-07-02 17:37:59 +03:00
maria.h Fixed lp:879939 "assertion in ha_maria::enable_indexes with derived_with_keys=on" 2011-10-26 20:25:18 +03:00
my_aes.h
my_alarm.h Bug#54667: Unnecessary signal handler redefinition 2010-07-01 12:02:00 +04:00
my_alloc.h Merged 5.1 with maria 5.1 2008-10-10 18:28:41 +03:00
my_atomic.h Bug#22320: my_atomic-t unit test fails 2010-07-05 09:00:39 -03:00
my_attribute.h merge with 5.1 2010-11-30 23:11:03 +02:00
my_base.h Added HA_ERR_DISK_FULL handler error 2011-05-18 13:36:12 +03:00
my_bit.h Merge with MySQL 5.1.57/58 2011-05-02 20:58:45 +03:00
my_bitmap.h Fix bug lp:869036 2011-11-17 01:25:10 +02:00
my_compare.h Merge. 2011-06-01 20:49:37 -07:00
my_compiler.h Merge with MySQL 5.1.55 2011-02-20 18:51:43 +02:00
my_dbug.h Merge with MySQL 5.1.55 2011-02-20 18:51:43 +02:00
my_decimal_limits.h Adding support for Dynamic columns (WL#34): 2011-05-08 13:24:06 +03:00
my_dir.h Backport Fix for Bug#24509 - 2048 file descriptor limit on windows needs increasing. 2011-06-12 15:52:07 +02:00
my_getopt.h Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
my_global.h merge Windows performance patches into 5.3 2011-07-05 21:46:53 +02:00
my_handler.h Downported InnoDB support of Index Condition Pushdown from MySQL-5.6 code line. 2011-05-25 16:01:56 -07:00
my_libwrap.h
my_list.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_md5.h Bug #42434: license of mysys MD5 implementation is not GPL-compatible 2009-03-09 20:57:03 +02:00
my_net.h
my_no_pthread.h pluggable auth with plugin examples 2010-03-29 17:13:53 +02:00
my_nosys.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_pthread.h merge Windows performance patches into 5.3 2011-07-05 21:46:53 +02:00
my_stacktrace.h Bug#51817: incorrect assumption: thd->query at 0x2ab2a8360360 is an invalid pointer 2010-11-26 19:59:10 -02:00
my_sys.h Merge with 5.2 2011-09-10 18:01:27 +03:00
my_time.h various fixes for buildbot failures 2011-06-10 15:42:55 +02:00
my_tree.h Addressed the feedback from the review of Monty on the cumulative patch for 2010-12-19 00:44:39 -08:00
my_trie.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_uctype.h
my_user.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_valgrind.h Merge with MySQL 5.1.49 2010-08-02 12:01:24 +03:00
my_vle.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_xml.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
myisam.h Fixed lp:879939 "assertion in ha_maria::enable_indexes with derived_with_keys=on" 2011-10-26 20:25:18 +03:00
myisamchk.h Merge with 5.2 2011-09-10 18:01:27 +03:00
myisammrg.h Bug#45800 crash when replacing into a merge table and there is a duplicate 2009-07-30 16:04:41 +05:30
myisampack.h Injecting more "const" declarations into code which does not change 2008-04-03 15:40:25 +02:00
mysql.h Added progress reporting for alter table, LOAD DATA INFILE and for aria tables: check table, repair table, analyze table. 2011-07-01 15:08:30 +03:00
mysql.h.pp Added new options to KILL. New syntax is KILL [HARD|SOFT] [CONNECTION|QUERY] [ID | USER user_name] 2011-09-23 01:13:38 +03:00
mysql_com.h Added new options to KILL. New syntax is KILL [HARD|SOFT] [CONNECTION|QUERY] [ID | USER user_name] 2011-09-23 01:13:38 +03:00
mysql_embed.h Bug#57210: remove pstack 2010-11-09 12:45:13 -02:00
mysql_time.h
mysql_version.h.in Added mariadb and mariadb-version as my.conf option tags 2009-03-18 04:14:22 +02:00
mysys_err.h Merge with MySQL 5.1.55 2011-02-20 18:51:43 +02:00
queues.h Fixed wrong queue_replace(), which caused timeout failure in pbxt.flush_read_lock_kill 2010-11-02 11:03:33 +02:00
rijndael.h
service_versions.h Added progress reporting for alter table, LOAD DATA INFILE and for aria tables: check table, repair table, analyze table. 2011-07-01 15:08:30 +03:00
sha1.h Bug #56428: Replace copyright notice removed from SHA1 code (.h) 2010-10-05 17:05:37 +03:00
sql_common.h Added progress reporting for alter table, LOAD DATA INFILE and for aria tables: check table, repair table, analyze table. 2011-07-01 15:08:30 +03:00
sslopt-case.h
sslopt-longopts.h Bug#42733: Type-punning warnings when compiling MySQL -- 2010-06-10 17:16:43 -03:00
sslopt-vars.h
t_ctype.h
thr_alarm.h Implementation of MWL#172: Add support for prepared statements to HANDLER READ 2011-01-04 00:55:41 +02:00
thr_lock.h Merge with 5.2 2011-03-09 15:47:59 +02:00
typelib.h Fix LPBUG#808233 - undefined uint in typelib.h 2011-07-10 12:48:13 +02:00
violite.h Changed version number from RC to stable 2010-01-29 12:42:31 +02:00
waiting_threads.h compilation fixes 2009-01-19 16:27:49 +01:00
wqueue.h Locking for read and write made waiting for each other (with loose 2008-02-22 22:32:34 +02:00