MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
  • MariaDB\ 71.8%
  • C++ 16.4%
  • C 10.4%
  • Shell 0.5%
  • Perl 0.4%
  • Other 0.3%
Find a file
unknown e08a2b326b Fix for bug#13479 "REPLACE activates UPDATE trigger, not the DELETE and
INSERT triggers".

In cases when REPLACE was internally executed via update and table had
on update (on delete) triggers defined we exposed the fact that such
optimization used by callng on update (not calling on delete) triggers.
Such behavior contradicts our documentation which describes REPLACE as
INSERT with optional DELETE.

This fix just disables this optimization for tables with on delete triggers.
The optimization is still applied for tables which have on update but have
no on delete triggers, we just don't invoke on update triggers in this case
and thus don't expose information about optimization to user.

Also added test coverage for values returned by ROW_COUNT() function (and
thus for values returned by mysql_affected_rows()) for various forms of
INSERT.


mysql-test/r/insert.result:
  Added test for values returned by ROW_COUNT() function (and thus for values
  returned by mysql_affected_rows()) for various forms of INSERT. We didn't
  have coverage for this before and since this fix touches related code it is
  better to add it now.
mysql-test/r/trigger.result:
  Adjusted test after fixing bug#13479 "REPLACE activates UPDATE trigger, not
  the DELETE and INSERT triggers".
mysql-test/t/insert.test:
  Added test for values returned by ROW_COUNT() function (and thus for values
  returned by mysql_affected_rows()) for various forms of INSERT. We didn't
  have coverage for this before and since this fix touches related code it is
  better to add it now.
mysql-test/t/trigger.test:
  Adjusted test after fixing bug#13479 "REPLACE activates UPDATE trigger, not
  the DELETE and INSERT triggers".
sql/sql_insert.cc:
  write_record():
    We should not expose that internally we sometimes execute REPLACE
    via UPDATE instead of documented INSERT + DELETE pair. So we should not
    use this optimization for tables with on delete triggers. OTOH it is ok
    to use it for tables which have on update but have no on delete triggers,
    we just should not invoke on update triggers in this case.
2006-06-16 20:21:25 +04:00
bdb BUG#15734: Fix undefined awk behaviour breaking compilation on Debian. 2005-12-14 13:09:37 +01:00
BitKeeper pekka:get - push push push 2006-05-02 21:47:53 +02:00
BUILD Fix BUILD/compile-pentium-gcov 2006-05-22 17:15:49 +02:00
client Merge shellback.(none):/home/msvensson/mysql/bug19575/my50-bug19575 2006-05-31 16:32:08 +02:00
cmd-line-utils Merge neptunus.(none):/home/msvensson/mysql/bug16557/my50-bug16557 2006-02-21 08:58:19 +01:00
config/ac-macros Bug#19575 MySQL-shared-5.0.21-0.glibc23 causes segfault in SSL_library_init 2006-05-31 16:19:06 +02:00
dbug Fix two Valgrind memory leak warnings. 2006-05-15 18:07:18 +02:00
Docs Merge mysql.com:/home/tomash/src/mysql_ab/tmp_merge 2006-05-06 11:18:42 +04:00
extra Add define YASSL_PREFIX when compiling yassl 2006-06-01 12:32:35 +02:00
heap Merge april.(none):/home/svoj/devel/mysql/BUG12873/mysql-5.0 2006-05-24 15:19:48 +05:00
include Add new define YASSL_PREFIX beforee including ssl.h to activate inclusion of prefix_*.h files 2006-05-31 22:21:40 +02:00
innobase Applied innodb-5.0-ss547 snapshot. 2006-05-15 18:02:21 +04:00
libmysql Bug#19575 MySQL-shared-5.0.21-0.glibc23 causes segfault in SSL_library_init 2006-05-31 16:19:06 +02:00
libmysql_r Bug#19575 MySQL-shared-5.0.21-0.glibc23 causes segfault in SSL_library_init 2006-05-31 16:19:06 +02:00
libmysqld Bug#19575 MySQL-shared-5.0.21-0.glibc23 causes segfault in SSL_library_init 2006-05-31 16:19:06 +02:00
man - Removed obsolete and outdated man page files from the man 2005-10-27 14:51:58 +02:00
myisam Merge mysql.com:/home/mydev/mysql-5.0 2006-05-06 13:35:48 +02:00
myisammrg BUG#17314: Can't use index_merge/intersection for MERGE tables 2006-02-11 21:51:43 +03:00
mysql-test Fix for bug#13479 "REPLACE activates UPDATE trigger, not the DELETE and 2006-06-16 20:21:25 +04:00
mysys Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1 2006-05-29 09:06:06 +02:00
ndb Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0 2006-06-01 12:57:12 +02:00
netware .libs is no longer used when compiling netware 2006-04-03 11:54:09 -04:00
os2 Merge 2005-09-29 03:20:31 +02:00
pstack Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
regex Merge 2005-09-29 03:20:31 +02:00
scripts Merge rurik.mysql.com:/home/igor/tmp_merge 2006-05-31 18:10:02 -07:00
server-tools Merge shellback.(none):/home/msvensson/mysql/bug19575/my50-bug19575 2006-05-31 16:32:08 +02:00
sql Fix for bug#13479 "REPLACE activates UPDATE trigger, not the DELETE and 2006-06-16 20:21:25 +04:00
sql-bench Set thread_stack after return from end_thread() 2005-12-03 18:13:06 +02:00
sql-common Remove C++ comments 2006-05-03 16:59:02 +02:00
SSL Remove client-req-pem and server-req.pem 2006-05-03 11:53:16 +02:00
strings An update to as-yet unused new feature of snprintf, which was added to bring 2006-05-02 13:42:35 -04:00
support-files Merge 2006-05-21 00:47:08 +02:00
tests Fix a bunch of non-Linux compile failures. 2006-05-02 09:19:54 +02:00
tools Bug#19575 MySQL-shared-5.0.21-0.glibc23 causes segfault in SSL_library_init 2006-05-31 16:19:06 +02:00
VC++Files Merge mysql.com:/home/hf/work/mysql-5.0.18455 2006-05-03 16:48:15 +05:00
vio Bug#19575 MySQL-shared-5.0.21-0.glibc23 causes segfault in SSL_library_init 2006-05-31 16:19:06 +02:00
zlib Changes after initial patch to #15787 2006-01-23 21:35:11 +03:00
.bzrignore Fix for Win build 2006-05-01 22:16:08 +05:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
configure.in configure.in: 2006-05-24 12:28:34 +02:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
Makefile.am Merge 2005-11-04 02:17:11 +01:00
README README: 2006-04-01 04:13:33 +02:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file.
- For commercial distributions, see the MySQLEULA.txt file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installation chapter.
- For future plans, see the TODO appendix.
- For the new features/bugfix history, see the News appendix.
- For the currently known bugs/misfeatures (known errors) see the problems
  appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.