This patch changes test to remove Windows-specific limitations and potential
rounding errors in the calculation of a UDF.
Also corrects a minor merge conflict.
Adding an event that can be used to denote that an incident occured
on the master. The event can be used to denote a gap in the replication
stream, but can also be used to denote other incidents.
In addition, the injector interface is extended with functions to
generate an incident event. The function will also rotate the binary
log after generating an incident event to get a fresh binary log.
This patch corrects errors that occurred in a local manual merge.
It adds the originator column in the results of the SHOW EVENTS command
for a series of tests.
The only code change is to correct references to the classname in
enums.
This patch corrects errors that occurred in a local manual merge as a result
of updating the local repository and includes changes necessary to correct
problems found during the recalculation of next execution of events in RBR.
Problem: SOUNDEX returned an invalid string for international
characters in multi-byte character sets.
For example: for a Chinese/Japanese 3-byte long character
_utf8 0xE99885 it took only the very first byte 0xE9,
put it into the outout string and then appended with three
DIGIT ZERO characters, so the result was 0xE9303030 - which
is an invalide utf8 string.
Fix: make SOUNDEX() multi-byte aware and - put only complete
characters into result, thus return only valid strings.
This patch also makes SOUNDEX() compatible with UCS2.
there is a way to miss allocation for the punctuation marks,
namely if (q == EOF) is true inside of append_identifier(), i.e in case names are not quoted
(not by default).
Replacing q_append with the method with reallocation if needed.
rows event):
Adding a after image COLS bitmap to Update_rows_log_event (for telling
what columns that are present in the after image of each row update).
Also fixing case where Rows_log_event length was not correctly computed
(happened when the number of columns in a table was more than 251).
- Fixing utf8_general_cs according to recent changes.
- Compiling utf8_general_cs in pentium-debug-max configuration
to avoid these problems in the future.
Problem: GROUP BY on empty ucs2 strings crashed server.
Reason: sometimes mi_unique_hash() is executed with
ptr=null and length=0, which means "empty string".
The branch of code handling UCS2 character set
was not safe against ptr=null and fell into and
endless loop even if length=0 because of poiter
arithmetic overflow.
Fix: adding special check for length=0 to avoid pointer arithmetic
overflow.