#5860 "Multi-table UPDATE does not activate update triggers"
#6812 "Triggers are not activated for INSERT ... SELECT"
#8755 "Trigger is not activated by LOAD DATA".
This patch also implements proper handling of triggers for special forms
of insert like REPLACE or INSERT ... ON DUPLICATE KEY UPDATE.
Also now we don't call after trigger in case when we have failed to
inserted/update or delete row. Trigger failure should stop statement
execution.
I have not properly tested handling of errors which happen inside of
triggers in this patch, since it is simplier to do this once we will be
able to access tables from triggers.
Memory leak in locally evalutated expressions during SP execution fixed by
reusing allocated item slots when possible.
Note: No test case added, since the test is a stress test that tries to make
the machine to run out of memory.
Second attempt, now tested with debug build, valgrind build, max (optimized)
build, with and without --debug, --vagrind and --ps-protocol.
Errors in trigger and view test with --debug in debug build where present
before this patch, and likewise for valgrind warnings for view test in
valgrind build with --ps-protocol.
Added BLACKHOLE and FEDERATED storage engines for max builds
Some preparations for including yaSSL
ha_federated.cc:
Use local seach path for "mysql_priv.h"
This final cset is to fix a syntax problem in ha_myisammrg.cc where a / was left out of a format string.
It also adds a check in has_path to avoid a possible redundant comparison.
ha_myisammrg.cc:
Replaced missing / in format string
my_getwd.c:
Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison
Use MY_STAT to declare argument to my_fstat()
des_key_file.cc:
Use local seach path for "mysql_priv.h"
mysys.dsp, libmysqld.dsp, libmysql.dsp:
New file needed, "../mysys/default_modify.c"
The natural InnoDB type for NEWDECIMAL is FIXBINARY, not BINARY, since there probably is no benefit from stripping trailing bytes 0x20; note that tables created with 5.0.6 and containing DECIMAL do not need to be rebuilt, as BINARY works as well; note that because of Jani's fix to bug 10465, tables created with 5.0.? - 5.0.5 DO NEED TO BE REBUILT if they contain DECIMAL
Added test cases for optimization request #10561.
opt_range.cc, sql_select.cc:
Fixed bug #10561: an optimization request to allow
range analysis for NOT IN and NOT BETWEEN.
The problem was that on Windows the access method indicates that access to file
such as "com1" and "lpt1" is allowed (since they are device names) and
this causes mysql to attempt to open them as databases or tables.
The fix was to write our own my_access method that uses other Win32 functions
to determine if the given argument is indeed a file and has to requested
mode.
procedure.
by simply disabling 'load' in stored procedures, like it's already disabled
for prepared statements. (They must be made "re-execution" safe before
working with either PS or SP.)