| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Corrections to get_str_len_and_pointer().
|
|\
| |
| |
| | |
into capulet.net:/home/mats/devel/b31793-mysql-5.0-rpl
|
| |\
| | |
| | |
| | | |
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug28597-log_name_upgrade
|
| | |\
| | | |
| | | |
| | | | |
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
|
| | | |\
| | | | |
| | | | |
| | | | | |
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug27571_asyn_killed_flags
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Query_log_event::error_code
A query can perform completely having the local var error of mysql_$query
zero, where $query in insert, update, delete, load,
and be binlogged with error_code e.g KILLED_QUERY while there is no
reason do to so.
That can happen because Query_log_event consults thd->killed flag to
evaluate error_code.
Fixed with implementing a scheme suggested and partly implemented at
time of bug@22725 work-on. error_status is cached immediatly after the
control leaves the main rows-loop and that instance always corresponds
to `error' the local of mysql_$query functions. The cached value
is passed to Query_log_event constructor, not the default thd->killed
which can be changed in between of the caching and the constructing.
|
| |\ \ \ \
| | |/ / /
| |/| | |
| | | | | |
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug28597-log_name_upgrade
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Since bug@20166, which replaced the binlog file name generating to base
on pidfile_name instead of the previous glob_hostname, the binlog file
name suddenly started to be stored solely in the absolute path format,
including a case when --log-bin option meant a relative path.
What's more serious, the path for binlog file can lead unrequestedly
to pid-file directory so that after any proper fix for this bug
there might be similar to the bug report consequences for one who
upgrades from post-fix-bug@20166-pre-fix-bug@28597 to post-fix-bug@28597.
Fixed with preserving`pidfile_name' (intr.by bug@20166) but stripping
off its directory part. This restores the original logics of storing
the names in compatible with --log-bin option format and with the
requirement for --log-bin ralative path to corresond to the data directory.
Side effects for this fix:
effective fixing bug@27070, refining its test;
ensuring no overrun for buff can happen anymore (Bug#31836
insufficient space reserved for the suffix of relay log file name);
bug#31837 --remove_file $MYSQLTEST_VARDIR/tmp/bug14157.sql missed
in rpl_temporary.test;
fixes Bug@28603 Invalid log-bin default location;
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When running mysqlbinlog on a 64-bit machine with a corrupt relay log,
it causes mysqlbinlog to crash. In this case, the crash is caused
because a request for 18446744073709534806U bytes is issued, which
apparantly can be served on a 64-bit machine (speculatively, I assume)
but this causes the memcpy() issued later to copy the data to segfault.
The request for the number of bytes is caused by a computation
of data_len - server_vars_len where server_vars_len is corrupt in such
a sense that it is > data_len. This causes a wrap-around, with the
the data_len given above.
This patch adds a check that if server_vars_len is greater than
data_len before the substraction, and aborts reading the event in
that case marking the event as invalid. It also adds checks to see
that reading the server variables does not go outside the bounds
of the available space, giving a limited amount of integrity check.
|
|\ \ \ \
| | |/ /
| |/| |
| | | | |
into mysql.com:/home/bar/mysql-work/mysql-5.0-rpl-merge
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
into kindahl-laptop.dnsalias.net:/home/bk/b12691-mysql-5.0-rpl
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Adding code to keep skipping events while inside a transaction. Execution
will start just after the transaction has been skipped.
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | | |
into mysql.com:/home/bar/mysql-work/mysql-5.0.b31081
|
| | | |/ /
| | |/| |
| | | | |
| | | | | |
Additional fix for valgrind warning
|
| |\ \ \ \
| | |_|/ /
| |/| | |
| | | | | |
into mysql.com:/home/bar/mysql-work/mysql-5.0-rpl-mr
|
| | |\ \ \
| | | |/ /
| | |/| |
| | | | | |
into dsl-hkibras1-ff5fc300-23.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug26199-create_proc_syntax_slave
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
bit-type parameters.
The value of the actual argument of BIT-type-arg stored procedure was binlogged as non-escaped
sequence of bytes corresponding to internal representation of the bit value.
The patch enforces binlogging of the bit-argument as a valid literal: prefixing the quoted bytes
sequence with _binary.
Note, that behaviour of Item_field::var_str for field_type() of MYSQL_TYPE_BIT is exceptional
in that the returned string contains the binary representation even though result_type() of
the item is INT_RESULT.
|
| | |\ \ \
| | | |_|/
| | |/| |
| | | | | |
into mysql.com:/home/bar/mysql-work/mysql-5.0.b31081
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: The "regex" library written by Henry Spencer
does not support tricky character sets like UCS2.
Fix: convert tricky character sets to UTF8 before calling
regex functions.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
similar to bug_27716, but it was stressed on in the synopsis on that there is another
side of the artifact affecting behaviour in transaction.
Fixed with deploying multi_delete::send_error() - otherwise never called - and refining its logic
to perform binlogging job if needed.
The changeset includes the following side effects:
- added tests to check bug_23333's scenarios on the mixture of tables for multi_update;
- fixes bug@30763 with two-liner patch and a test coinciding to one added for bug_23333.
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | | |
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug29309-wrong_master_timestamp
|
| | | | |/
| | | |/|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
after FLUSH LOGS
Report claims that Seconds_behind_master behaves unexpectedly.
Code analysis shows that there is an evident flaw in that treating of FormatDescription event is wrong
so that after FLUSH LOGS on slave the Seconds_behind_master's calculation slips and incorrect
value can be reported to SHOW SLAVE STATUS.
Even worse is that the gap between the correct and incorrect deltas grows with time.
Fixed with prohibiting changes to rpl->last_master_timestamp by artifical events (any kind of).
suggestion as comments is added how to fight with lack of info on the slave side by means of
new heartbeat feature coming.
The test can not be done ealily fully determistic.
|
| | |\ \ \
| | | | | |
| | | | | |
| | | | | | |
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug26000_show_slave_status_when_no_active_mi
|
| | | |\ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
into koti.dsl.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.0/bug26000_show_slave_status_when_no_active_mi
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
active_mi has been reset (shutdown) at the time of quering with
SHOW SLAVE STATUS so that
at handling of SHOW an attempt to read its members segfaults.
Fixed with checking the value of active_mi before to call show_master_info()
Merely send_ok() is invoked when active_mi does not exist.
A test can not be easiely written.
Notice, there are more analogical cases in the code which require a similar
treatment (to be reported as a bug separately).
|
| | |/ / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Problem: one thread could read uninitialized memory from (the stack of) another
thread.
Fix: swapped order of initializing the memory and making it available to the
other thread.
Fix: put lock around the statement that makes the memory available to the other
thread.
Fix: all fields of the struct are now initialized in the constructor, to avoid
future problems.
|
| | | |_|/
| | |/| |
| | | | |
| | | | | |
Removing redundant initialization.
|
| | |\ \ \
| | | |/ /
| | | | |
| | | | | |
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
|
| | | |\ \
| | | | |/
| | | | |
| | | | | |
into mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
|
| | | | |\
| | | | | |
| | | | | |
| | | | | | |
into quant.(none):/ext/mysql/bk/mysql-5.0-bug21132
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The update_slave_list() call is a remainder from attempts to implement failsafe
replication. This code is now obsolete and not maintained (see comments in
rpl_failsafe.cc).
Inspecting the code one can see that this function do not interferre with normal
slave operation and thus can be safely removed. This will solve the issue
reported in the bug (errors on slave reconnection).
A related issue is to remove unneccessary reconnections done by slave. This is
handled in the patch for BUG#20435.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
stmt-based binlog
Binlogging of the statement with a side effect like a modified non-trans table did not happen.
The artifact involved all binloggable dml queries.
Fixed with changing the binlogging conditions all over the code to exploit thd->transaction.stmt.modified_non_trans_table
introduced by the patch for bug@27417.
Multi-delete case has own specific addressed by another bug@29136. Multi-update case has been addressed by bug#27716 and
patch and will need merging.
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | |
| | | | | | |
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
into mysql.com:/home/hf/work/30638/my50-30638
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt
|
| | |\ \ \ \ \ \
| | | |/ / / / /
| | |/| | | | |
| | | | | | | | |
into polly.(none):/home/kaa/src/opt/mysql-5.0-opt
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
an error, asserts server
In case of a fatal error during filesort in find_all_keys() the error
was returned without the necessary handler uninitialization.
Fixed by changing the code so that handler uninitialization is performed
before returning the error.
|
| |\ \ \ \ \ \ \
| | |/ / / / / /
| | | | | | | |
| | | | | | | | |
into magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
|
| | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
into mysql.com:/home/hf/work/30638/my50-30638
|
| | | | | | | | | |
|
| |\ \ \ \ \ \ \ \
| | |/ / / / / / /
| | | | | | | | |
| | | | | | | | | |
into magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
|
| | |\ \ \ \ \ \ \
| | | |/ / / / / /
| | | | | | | | |
| | | | | | | | | |
into mysql.com:/home/hf/work/30638/my50-30638
|
| | | | | | | | | |
|
| |\ \ \ \ \ \ \ \
| | |/ / / / / / /
| | | | | | | | |
| | | | | | | | | |
into magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
|
| | |/ / / / / /
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
When doing indexed search the server constructs a key image for
faster comparison to the stored keys. While doing that it must not
perform (and stop if they fail) the additional date checks that can
be turned on by the SQL mode because there already may be values in
the table that don't comply with the error checks.
Fixed by ignoring these SQL mode bits while making the key image.
|
| |\ \ \ \ \ \ \
| | |/ / / / / /
| | | | | | | |
| | | | | | | | |
into magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
|
| | |\ \ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
into mysql.com:/home/hf/work/30638/my50-30638
|
| | | |\ \ \ \ \ \
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
into mysql.com:/home/hf/work/30638/my50-30638
|
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | | | | | | | |
if remote server sends malicious response.
We need to check if the SHOW TABLE STATUS query we issue inside the
FEDERATED engine returned the result with the proper (or just sufficient)
number of rows. Otherwise statements like row[12] can crash the server.
|