- 16 Sep, 2013 1 commit
-
-
Sergey Vojtovich authored
- issue proper error message if query id is not found - do not allow kill query id 0 - fixed ps-protocol and embedded tests
-
- 13 Sep, 2013 1 commit
-
-
Sergey Vojtovich authored
It is now possible to kill query by query id. KILL syntax was extended to: KILL [HARD | SOFT] [CONNECTION | QUERY [ID query_id]] [thread_id | USER user_name] Added QUERY_ID column to INFORMATION_SCHEMA.PROCESSLIST. Fixed tests affected by this change: - added PROCESSLIST.QUERY_ID column - ID is now keyword and is quoted in SHOW CREATE TABLE output - PFS statement digest is calculated basing on token id (not token text). Token id has shifted for keywords residing after ID in keywords array.
-
- 12 Sep, 2013 1 commit
-
-
unknown authored
Currently several places use description_event->common_header_len instead of LOG_EVENT_MINIMAL_HEADER_LEN when parsing events with "frozen" headers (such as Start_event_v3 and its subclasses such as Format_description_log_event, as well as Rotate_event). This causes events with extra headers (which would otherwise be valid and those headers ignored) to be corrupted due to over-reading or skipping into the data portion of the log events. It is rewritten in some details patch of Jeremy Cole (See MDEV): - The virtual function returns length to avoid IFs (and only one call of the virtual function made) - Printing function avoids printing strings
-
- 04 Sep, 2013 1 commit
-
-
unknown authored
Fix various places where code would work incorrectly if the common_header_len of events is different on master and slave Patch developed with the help of Pavel Ivanov. Also fix an uninitialised variable in queue_event().
-
- 26 Aug, 2013 2 commits
-
-
unknown authored
The last commit was too quick, the changes to gtid_current_pos were just wrong. So remove them.
-
unknown authored
The bug was that if mysql.slave_gtid_pos was missing, operations on variables gtid_slave_pos, gtid_binlog_pos, and gtid_current_pos would fail, and continue to fail even after the table was fixed, until server restart. Now setting the variables retry loading the table, succeeding if it has been restored. And querying the variables when the table is not there acts as if the table was there and was empty. Also, attempt to fix a race in the rpl.rpl_gtid_basic test case.
-
- 23 Aug, 2013 2 commits
- 22 Aug, 2013 2 commits
-
-
Sergey Petrunya authored
-
unknown authored
The ignored events are not written to the relay log, but instead a fake Rotate event is generated to handle update of position. Extend this for Gtid so we similarly generate a fake Gtid_list event to update the GTID position. Also fix an unrelated test issue that got triggered by the added test cases.
-
- 21 Aug, 2013 2 commits
-
-
Sergey Petrunya authored
- Let sp_get_flags_for_command() set sp_head::MULTI_RESULTS for DELETE ... RETURNING, like it does for all statements that return a resultset.
-
unknown authored
Currently the loose scan code in opt_range.cc considers all indexes as possible for the access method. Due to inexact statistics it may happen that a loose scan is selected over a unique index. This is clearly wrong since a "loose scan" over a unique index will read the same keys as a direct index scan, but the loose scan has more overhead. This task adds a rule to skip unique indexes for loose scan.
-
- 20 Aug, 2013 4 commits
-
-
unknown authored
It was fixed as merge changes for MDEV-4811.
-
unknown authored
-
unknown authored
bMDEV-4906: When event apply fails, next SQL thread start errorneously commits the failing GTID to gtid_slave_pos When a GTID event is executed, we remember the contained GTID position so that when we have applied the entire event group we can commit it to gtid_slave_pos. However, if the event group fails to apply due to some error and the SQL thread aborts, the code did not correctly clear the remembered GTID. Thus, when SQL thread was restarted, the old GTID of the failing event group was incorrectly updated to gtid_slave_pos when the initial rotate event was executed, corrupting the GTID position.
-
unknown authored
-
- 19 Aug, 2013 1 commit
-
-
unknown authored
mysql-test/r/func_set.result: merge
-
- 18 Aug, 2013 1 commit
-
-
Igor Babaev authored
The function SELECT_LEX::mark_const_derived() must take into account that in DELETE ... RETURNING join == NULL.
-
- 16 Aug, 2013 1 commit
-
-
unknown authored
MDEV-4820: Empty master does not give error for slave GTID position that does not exist in the binlog The main bug here was the following situation: Suppose we set up a completely new master2 as an extra multi-master to an existing slave that already has a different master1 for domain_id=0. When the slave tries to connect to master2, master2 will not have anything that slave requests in domain_id=0, but that is fine as master2 is supposedly meant to serve eg. domain_id=1. (This is MDEV-4485). But suppose that master2 then actually starts sending events from domain_id=0. In this case, the fix for MDEV-4485 was incomplete, and the code would fail to give the error that the position requested by the slave in domain_id=0 was missing from the binlogs of master2. This could lead to lost events or completely wrong replication. The patch for this bug fixes this issue. In addition, it cleans up the code a bit, getting rid of the fake_gtid_hash in the code. And the error message when slave and master have diverged due to alternate future is clarified, as requested in the bug description.
-
- 12 Aug, 2013 2 commits
-
-
Alexander Barkov authored
modified: mysql-test/r/dyncol.result mysql-test/r/type_time.result mysql-test/t/dyncol.test mysql-test/t/type_time.test mysys/ma_dyncol.c sql/item.cc sql/item_func.cc pending merges: Alexander Barkov 2013-08-12 MDEV-4652 Wrong result for CONCAT(GREATEST(T... sanja@montyprogr... 2013-08-01 MDEV-4811 Assertion `offset < 0x1f' f...
-
Alexander Barkov authored
-
- 08 Aug, 2013 5 commits
-
-
Sergei Golubchik authored
set num_flag[] unconditionally, not under "if (column_names)" http://ronaldbradford.com/blog/unexplained-trivial-mysql-behavior-2013-08-02/
-
Alexander Barkov authored
pending merges: Alexander Barkov 2013-08-08 MDEV-4653 Wrong result for CONVERT_TZ(TIME('...
-
Alexander Barkov authored
-
Alexander Barkov authored
pending merges: Alexander Barkov 2013-08-08 MDEV-4512 Valgrind warnings in my_long10_to_...
-
Alexander Barkov authored
Fixing a typo: bit AND (&) was erroneously used instead of logical AND (&&)
-
- 06 Aug, 2013 2 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
Includes all post-review fixes as well.
-
- 05 Aug, 2013 7 commits
-
-
unknown authored
-
Sergey Petrunya authored
-
Elena Stepanova authored
-
Sergey Petrunya authored
-
Elena Stepanova authored
partitioning enhancement for Bug#14521864
-
Elena Stepanova authored
engine
-
Elena Stepanova authored
-
- 01 Aug, 2013 1 commit
-
-
unknown authored
MDEV-4812 Valgrind warnings (Invalid write) in dynamic_column_update_many on COLUMN_ADD Fixed problem of working on wrong data (do not allow offset to out of string length).
-
- 31 Jul, 2013 2 commits
-
-
Sergey Petrunya authored
- Modify the way Item_cond::fix_fields() and Item_cond::eval_not_null_tables() calculate bitmap for Item_cond_or::not_null_tables(): if they see a "... OR inexpensive_const_false_item OR ..." then the item can be ignored. - Updated test results. There can be more warnings produced since parts of WHERE are evaluated more times.
-
Sergey Petrunya authored
-
- 29 Jul, 2013 1 commit
-
-
Vladislav Vaintroub authored
MDEV-4815 - allow multiple mysql_server_init() / mysql_server_end() in the same process, for embedded library. - Reset static variables that are used to signal "init done" for DBUG, in dbug_end() - Set string server variables to NULL after memory for the value is freed - avoids double free() - fix DBUG_ASSERTs that happened during reinitialization.
-
- 25 Jul, 2013 1 commit
-
-
Sergey Petrunya authored
- Let _ma_record_pos() set SEARCH_PART_KEY when doing a search on a prefix of a [unique] key. Otherwise, _ma_search_pos() would find the first key equal to search key, and assume it is also the last one, which will make a wrong estimate of key's position. A wrong key position may cause min_pos > max_pos and records_in_range() will return 0, which will make the optimizer think it's an impossible range while in fact it is not.
-