mariadb/include
V Narayanan 5a5b5c8256 Bug#45800 crash when replacing into a merge table and there is a duplicate
A REPLACE in the MERGE engine is actually a REPLACE
into one (FIRST or LAST) of the underlying MyISAM
tables. So in effect the server works on the meta
data of the MERGE table, while the real insert happens
in the MyISAM table.

The MERGE table has no index, while MyISAM has a
unique index. When a REPLACE into a MERGE table (
and the REPLACE conflicts with a duplicate in a
child table) is done, we try to access the duplicate
key information for the MERGE table. This information
actually does not exist, hence this results in a crash.

The problem can be resolved by modifying the MERGE
engine to provide us the duplicate key information
directly, instead of just returning the MyISAM index
number as the error key. Then the SQL layer (or "the
server") does not try to access the key_info of the
MERGE table, which does not exist.

The current patch modifies the MERGE engine to provide
the position for a record where a unique key violation
occurs.
2009-07-30 16:04:41 +05:30
..
atomic Bug#33728 Atomic builtins 2008-01-11 20:34:36 -02:00
mysql WL#4380 2008-06-17 17:57:04 +05:30
.cvsignore
base64.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
config-netware.h A few portability tweaks for Netware, SCO and QNX 2009-05-01 19:35:04 +02:00
config-win.h automerge 2009-07-16 10:31:00 +03:00
decimal.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
errmsg.h Bug#27430 "Crash in subquery code when in PS and table DDL changed after 2008-05-20 20:36:26 +04:00
ft_global.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
hash.h merging with mysql-5.0-bugteam 2009-06-19 17:58:46 +05:30
heap.h Added support for 'internal temporary tables' in HEAP tables. 2007-07-25 01:58:12 +03:00
help_end.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
help_start.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
keycache.h Backport of the keycache changes from http://lists.mysql.com/commits/31517 to make keycache 64-bit safe in 5.0. This is for bug #5731. 2007-08-29 20:45:04 +04:00
m_ctype.h 5.0-bugteam->5.1-bugteam merge 2008-12-23 18:21:01 +04:00
m_string.h Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-main 2008-02-08 12:13:33 +01:00
Makefile.am reverting a bogus fix into 5.1-bugteam 2009-03-20 13:18:29 +02:00
my_aes.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
my_alarm.h Many files: 2006-12-23 20:17:15 +01:00
my_alloc.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
my_atomic.h Fixes to merge between 5.1-main and 5.1-marvel 2007-10-15 18:22:19 +03:00
my_attribute.h Bug#25118 ATTRIBUTE_FORMAT_FPTR undeclared in m_ctype.h 2007-04-12 00:43:25 +02:00
my_base.h merge 5.0-bugteam to 5.1-bugteam 2009-07-24 12:15:06 +05:30
my_bit.h Fixes to merge between 5.1-main and 5.1-marvel 2007-10-15 18:22:19 +03:00
my_bitmap.h Bug#31552 Replication breaks when deleting rows from out-of-sync table 2007-12-12 12:14:59 +02:00
my_dbug.h Bug#38522: 5 seconds delay when closing application using embedded server 2008-12-04 19:41:53 +01:00
my_dir.h Many files: 2006-12-23 20:17:15 +01:00
my_getopt.h Bug#39289 libmysqld.a calls exit() upon error 2008-10-27 13:57:59 +04:00
my_global.h Bug #43397 mysql headers redefine pthread_mutex_init 2009-07-08 16:49:45 +02:00
my_handler.h Fixed problem with non-synchronous error lists 2008-03-28 18:45:03 +02:00
my_libwrap.h Many files: 2006-12-23 20:17:15 +01:00
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 Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01:00
my_no_pthread.h Merge mysql.com:/home/kent/bk/main/mysql-5.0 2006-12-23 20:20:40 +01: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 Bug#38477: my_pthread_setprio can change dispatch class on Solaris, not just priority 2008-10-15 19:28:26 -03:00
my_stacktrace.h Bug#37003 Tests sporadically crashes with embedded server 2008-06-19 11:02:32 -03:00
my_sys.h Bug #45287: phase 2 : 5.0 64 bit compilation warnings 2009-07-16 15:37:38 +03:00
my_time.h Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug26294/my50-bug26294 2008-04-03 13:14:57 -04:00
my_tree.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03: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 Many files: 2006-12-31 02:29:11 +01:00
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_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 Bug#43940 64-bit windows myisamchk doesn't support key_buffer_size > 4G 2009-05-27 13:11:28 +05: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 Many files: 2006-12-23 20:17:15 +01:00
mysql.h Merge mysql.com:/Users/davi/mysql/bugs/29592-5.0 2007-11-26 16:10:26 -02:00
mysql.h.pp WL#4380 2008-08-08 14:30:05 +05:30
mysql_com.h Bug#27430 "Crash in subquery code when in PS and table DDL changed after 2008-05-20 20:36:26 +04:00
mysql_embed.h Bug #32211 Test 'windows' and 'windows_shm' failed for embedded server 2007-11-18 00:32:06 +04:00
mysql_time.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
mysql_version.h.in Bug #15327: configure: --with-tcp-port option being partially ignored 2007-09-13 16:19:46 +02:00
mysys_err.h WL#2936 2007-03-02 08:43:45 -08:00
queues.h Bug #31890 Partitions: ORDER BY DESC in InnoDB not working. 2007-11-14 22:20:31 +04:00
rijndael.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sha1.h my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
sql_common.h Merge mysql.com:/home/hf/work/25097/my50-25097 2008-02-27 13:00:59 +04:00
sslopt-case.h Many files: 2006-12-23 20:17:15 +01:00
sslopt-longopts.h WL#3817: Simplify string / memory area types and make things more consistent (first part) 2007-05-10 12:59:39 +03:00
sslopt-vars.h Many files: 2006-12-23 20:17:15 +01:00
t_ctype.h Many files: 2006-12-23 20:17:15 +01:00
thr_alarm.h fixes for build failures due to my yesterday's changeset forbidding 2008-02-19 18:45:11 +01:00
thr_lock.h Bug#44164: TL_WRITE has no description in lock_descriptions[] 2009-04-14 14:05:32 +02:00
typelib.h Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines 2007-04-27 19:09:39 +02:00
violite.h Merge from 5.0 2009-07-23 13:53:28 +02:00