summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Revert original fix for Bug 12612184 and the follow up fix forInaam Rana2011-09-3031-859/+367
| | | | | | | | Bug 12704861. Bug 12704861 fix was revno: 3504.1.1 (rb://693) Bug 12612184 fix was revno: 3445.1.10 (rb://678)
* BUG#11758262 BUG#13043055Rohit Kalhans2011-09-302-4/+6
| | | | | | | | | Problem: commit_1innodb fails on pb2 after the patch for BUG#11758262 Background: Certain statements threw warnings only in statement mode causing the result cintent mismatch. Fix: disabled warnings from the statements.
* Bug#12982926 CLIENT CAN OVERRIDE ZERO-LENGTH-ALLOCATE BUFFERRafal Somla2011-09-291-0/+15
| | | | Changes in client plugin needed for testing the issue (test instrumentation).
* Update the German error message translations (by Stefan Hinz)Marko Mäkelä2011-09-293-85/+127
| | | | and fix some Swedish too.
* Bug#11747416 : 32228 A disk full makes binary log corruptAndrei Elkin2011-09-298-27/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Binary log of master can get a partially logged event if the server runs out of disk space and, while waiting for some space to be freed, is shut down (or crashes). If the server is not stopped, it will just wait endlessly for space to be freed, thus no partial event anomaly occurs. The restarted master server has had a dubious policy to send the incomplete event to slave which it apparently can't handle. Although an error was printed out the fact of sending with unclear error message is a source of confusion. Actually the problem of presence an incomplete event in the binary log was already fixed by WL 5493 (which was merged to our current trunk branch, major version 5.6). The fix makes the server truncate the binary log on server restart and recovery. However 5.5 master can't do that. So the current issue is a problem of sending incomplete events to the slave by 5.5 master. It is fixed in this patch by changing the policy so that only complete events are pushed by the dump thread to the IO thread. In addition, the error text that master sends to the slave when an incomplete event is found, now states that incomplete event may have been caused by an out-of-disk space situation and provides coordinates of the first and the last event bytes read. mysql-test/std_data/bug11747416_32228_binlog.000001: a binlog is added with the last event written partly. mysql-test/suite/rpl/r/rpl_cant_read_event_incident.result: new result file is added. mysql-test/suite/rpl/r/rpl_log_pos.result: results updated. mysql-test/suite/rpl/r/rpl_manual_change_index_file.result: results updated. mysql-test/suite/rpl/r/rpl_packet.result: results updated. mysql-test/suite/rpl/t/rpl_cant_read_event_incident.test: regression test for bug#11747416 : 32228 A disk full makes binary log corrupt is added. sql/share/errmsg-utf8.txt: Increasing the explanatory part of ER_MASTER_FATAL_ERROR_READING_BINLOG error message twice in order to fit to the updated version which carries some more info. sql/sql_repl.cc: Error text indicating a failure of reading from binlog that master delivers to the slave is made more clear; A policy to regard a partial event to send it out to the slave anyway is removed.
* BUG#11758262 - 50439: MARK INSERT...SEL...ON DUP KEY ↵Rohit Kalhans2011-09-2918-152/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UPD,REPLACE...SEL,CREATE...[IGN|REPL] SEL Problem: The following statements can cause the slave to go out of sync if logged in statement format: INSERT IGNORE...SELECT INSERT ... SELECT ... ON DUPLICATE KEY UPDATE REPLACE ... SELECT UPDATE IGNORE : CREATE ... IGNORE SELECT CREATE ... REPLACE SELECT Background: Since the order of the rows returned by the SELECT statement or otherwise may differ on master and slave, therefore the above statements may cuase the salve to go out of sync with the master. Fix: Issue a warning when statements like the above are exectued and the bin-logging format is statement. If the logging format is mixed, use row based logging. Marking a statement as unsafe has been done in the sql/sql_parse.cc instead of sql/sql_yacc.cc, because while parsing for a token has been done we cannot be sure if the parsing of the other tokens has been done as well. Six new warning messages has been added for each unsafe statement. binlog.binlog_unsafe.test has been updated to incoporate these additional unsafe statments. ****** BUG#11758262 - 50439: MARK INSERT...SEL...ON DUP KEY UPD,REPLACE...SEL,CREATE...[IGN|REPL] SEL Problem: The following statements can cause the slave to go out of sync if logged in statement format: INSERT IGNORE...SELECT INSERT ... SELECT ... ON DUPLICATE KEY UPDATE REPLACE ... SELECT UPDATE IGNORE : CREATE ... IGNORE SELECT CREATE ... REPLACE SELECT Background: Since the order of the rows returned by the SELECT statement or otherwise may differ on master and slave, therefore the above statements may cuase the salve to go out of sync with the master. Fix: Issue a warning when statements like the above are exectued and the bin-logging format is statement. If the logging format is mixed, use row based logging. Marking a statement as unsafe has been done in the sql/sql_parse.cc instead of sql/sql_yacc.cc, because while parsing for a token has been done we cannot be sure if the parsing of the other tokens has been done as well. Six new warning messages has been added for each unsafe statement. binlog.binlog_unsafe.test has been updated to incoporate these additional unsafe statments. mysql-test/extra/rpl_tests/rpl_insert_duplicate.test: Test removed: Added the test to rpl.rpl_insert_ignore.test ****** Test removed: the test is redundant as the same is being tested in rpl.rpl_insert_ignore. mysql-test/extra/rpl_tests/rpl_insert_id.test: Warnings disabled for the unsafe statements. mysql-test/extra/rpl_tests/rpl_insert_ignore.test: 1. Disabled warnings while for unsafe statements 2. As INSERT...IGNORE is an unsafe statement, an insert ignore not changing any rows, will not be logged in the binary log, in the ROW and MIXED modes. It will however be logged in STATEMENT mode. mysql-test/r/commit_1innodb.result: updated result file ****** updated result file mysql-test/suite/binlog/r/binlog_stm_blackhole.result: Updated result file. mysql-test/suite/binlog/r/binlog_unsafe.result: updated result file mysql-test/suite/binlog/t/binlog_unsafe.test: added tests for the statements marked as unsafe. mysql-test/suite/rpl/r/rpl_insert_duplicate.result: File Removed :Result file of rpl_insert_duplicate, which has been removed. mysql-test/suite/rpl/r/rpl_insert_ignore.result: Added the content of rpl.rpl_insert_duplicate here. mysql-test/suite/rpl/r/rpl_insert_select.result: Result file removed as the corresponding test has beenn removed. mysql-test/suite/rpl/r/rpl_known_bugs_detection.result: Updated result file. mysql-test/suite/rpl/t/rpl_insert_duplicate.test: File Removed: this was a wrapper for rpl.rpl_insert_duplicate.test, which has been removed. mysql-test/suite/rpl/t/rpl_insert_select.test: File Removed: This test became redundant after this fix, This test showed how INSERT IGNORE...SELECT break replication, which has been handled in this fix. mysql-test/suite/rpl/t/rpl_known_bugs_detection.test: Since all the tests are statement based bugs are being tested, having mixed format forces the event to be written in row format. When the statement and causes the test to fail as certain known bugs do not occur when the even is logged in row format. sql/share/errmsg-utf8.txt: added 6 new Warning messages. ****** added 6 new Warning messages. sql/sql_lex.cc: Added 6 new error Identifier [ER_BINLOG_STMT_UNSAFEE_*] sql/sql_lex.h: Added 6 new BINLOG_STMT_UNSAFE_* enums to identify the type of unsafe statement dealt with in this bug. ****** Added 6 new BINLOG_STMT_UNSAFE_* enums to identify the type of unsafe statement dealt with in this bug. sql/sql_parse.cc: added check for specific queries and marked them as unsafe. ****** added check for specific queries and marked them as unsafe.
* Merge of fix for bug#11758062 from mysql-5.1.Raghav Kapoor2011-09-286-13/+13
|\
| * BUG#11758062 - 50206: ER_TOO_BIG_SELECT REFERS TO OUTMODED Raghav Kapoor2011-09-286-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SYSTEM VARIABLE NAME SQL_MAX_JOIN_SI BACKGROUND: ER_TOO_BIG_SELECT refers to SQL_MAX_JOIN_SIZE, which is the old name for MAX_JOIN_SIZE. FIX: Support for old name SQL_MAX_JOIN_SIZE is removed in MySQL 5.6 and is renamed as MAX_JOIN_SIZE.So the errmsg.txt and mysql.cc files have been updated and the corresponding result files have also been updated.
* | Raising the version after cloning for the 5.5.17 build.Joerg Bruehe2011-09-271-1/+1
| |
* | Bug#11759349 -- Merge of patch from mysql-5.1.Ashish Agarwal2011-09-278-35/+40
|\ \ | |/
| * BUG#11759349 - 51655: CREATE TABLE IN MEMORY ENGINE DOESN'T STOREAshish Agarwal2011-09-278-35/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | CREATE_TIME IN INFORMATION_SC It was impossible to determine MEMORY table creation time, since it wasn't stored/exposed. With this patch creation time is saved and it is available via I_S.TABLES.CREATE_TIME. Note: it was decided that additional analysis is required before implementing UPDATE_TIME. Thus this patch doesn't store UPDATE_TIME.
* | local mergeTor Didriksen2011-09-2612-92/+380
|\ \
| * \ null upmergeBjorn Munch2011-09-260-0/+0
| |\ \ | | |/
| | * merge from 5.1-mtrBjorn Munch2011-09-269-9/+150
| | |\
| * | \ merge from 5.5-mtrBjorn Munch2011-09-2612-92/+380
| |\ \ \
| | * | | Fixed test sys_vars.all_vars: innodb_large_prefix no longer missingBjorn Munch2011-09-261-2/+0
| | | | |
| | * | | null upmergeBjorn Munch2011-09-260-0/+0
| | |\ \ \ | | | | |/ | | | |/|
| | | * | merge from 5.1 mainBjorn Munch2011-09-2648-568/+545
| | | |\ \ | | | | |/
| | * | | merge from 5.5 mainBjorn Munch2011-09-2678-420/+878
| | |\ \ \ | | |/ / / | |/| | |
| | * | | null upmergeBjorn Munch2011-09-200-0/+0
| | |\ \ \ | | | |/ /
| | | * | merge from 5.1 main minus merge jam pushesBjorn Munch2011-09-2013-83/+130
| | | |\ \
| | * | \ \ merge from 5.5 mainBjorn Munch2011-09-2046-986/+622
| | |\ \ \ \
| | * \ \ \ \ upmerge 12916194Bjorn Munch2011-09-191-0/+5
| | |\ \ \ \ \ | | | | |/ / / | | | |/| | |
| | | * | | | Bug #12916194 MTR SHOULD CUT OFF ANALYSIS OF SERVER LOG IF THERE IS TOO MUCHBjorn Munch2011-09-191-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added simple cut-off w/warning if > one million lines
| | * | | | | Bug #12934729 MTR: ADD OPTION TO RUN BOOTSTRAP THROUGH DEBUGGERBjorn Munch2011-09-191-10/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added options --boot-gdb etc. Extended gdb_arguments() with optional input argument Cannot use set args in gdb init file, as run < <input> kills them (?)
| | * | | | | Some tests simplified after 12912120Bjorn Munch2011-09-152-17/+0
| | | | | | |
| | * | | | | upmerge 12793118,12912120Bjorn Munch2011-09-155-7/+65
| | |\ \ \ \ \ | | | |/ / / /
| | | * | | | Test federated_plugin must have ps-protocol offBjorn Munch2011-09-151-0/+3
| | | | | | |
| | | * | | | Bug #12912120 MTR SHOULD EXPORT MYSQLD'S PATH TO TEST CASESBjorn Munch2011-09-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Export $MYSQLD as full path to executable $MYSQLD_CMD is executable with minimum required args
| | | * | | | Bug #12793118 MYSQLTEST: --ERROR AND --DISABLE_ABORT_ON_ERROR DO NOT WORK ↵Bjorn Munch2011-09-143-7/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FOR SQL IN COMMANDS Call handle_error() instead of die() when evaluating these Must remember "current command" with link to errors to ignore Added test cases to mysqltest.test
| | * | | | | Bug #11751927 42960: MTR2: NO MORE --STRESS PARAMETERS Bjorn Munch2011-09-153-5/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Quick fix: run mysql-stress-test.pl via a wrapper test Amend mtr to run just that test when using --stress Updated mysql-stress-test.pl to exit(1) if wrong options
| | * | | | | Bug #12956584 - MYSQLTEST: --ENABLE_X OR --DISABLE_X APPLYING ONLY TO NEXT ↵Bjorn Munch2011-09-151-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | COMMAND/STMT Followup fixes for --ps-protocol: 1) Incorrectly set ps_protocol variable instead of ps_protocol_enabled 2) disable_result_log was tested after calling handle_no_error() which would revert a temporary setting.
| | * | | | | Bug #12939555 MTR FINDS ALREADY COMPRESSED CORE WHEN LOOKING FOR CORE FILES ↵Bjorn Munch2011-09-141-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AFTER RETRIED TEST Just check that core file name does not end in .gz Not a problem for Windows, as we check for files *ending* in .dmp
| | * | | | | Bug #12956584 MYSQLTEST: --ENABLE_X OR --DISABLE_X APPLYING ONLY TO NEXT ↵Bjorn Munch2011-09-143-39/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | COMMAND/STMT Added a keyword ONCE to add to those commands Some internal tables to keep track of which properties are temporarily overriden Added tests in mysqltest.test Updates to other tests will be done later
| | * | | | | upmerge test fix part of 11750417Bjorn Munch2011-09-053-9/+39
| | |\ \ \ \ \ | | | |/ / / /
| | | * | | | Bug #11750417 40942: UNABLE TO INSTALL FEDERATED PLUGINBjorn Munch2011-09-056-2/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Link plugin with a copy of string.o Copied test from 5.5 but this was dysfunctional, made it work Also tested on Windows
* | | | | | | Bug#12985030 SIMPLE QUERY WITH DECIMAL NUMBERS LEAKS MEMORYTor Didriksen2011-09-262-3/+3
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-write the test, to make pushbuild green. Workaraound for broken pow() function on: SunOS tyr40 5.10 Generic_127112-05 i86pc i386 i86pc (dbx) where current thread: t@1 =>[1] Item_func_pow::val_real(this = 0x238af20) (optimized), at 0xaa8d13 (line ~1980) in "item_func.cc" (dbx) print pow(1.01, 1.0) pow(1.01, 1) = 1.01 (dbx) print pow(1.01, 10.0) pow(1.01, 10) = 1.1046221254112 (dbx) print pow(1.01, 100.0) pow(1.01, 100) = 2.7048138294215 (dbx) print pow(1.01, 1000.0) pow(1.01, 1000) = 20959.155637814 (dbx) print pow(1.01, 10000.0) pow(1.01, 10000) = 1.635828711189e+43 (dbx) print pow(1.01, 100000.0) pow(1.01, 100000) = Infinity (dbx) print pow(1.01, 1000000.0) pow(1.01, 1000000) = Infinity (dbx) print pow(1.01, 10000000.0) pow(1.01, 10000000) = Infinity (dbx) print pow(1.01, 100000000.0) pow(1.01, 100000000) = Infinity (dbx) print pow(1.01, 1000000000.0) pow(1.01, 1000000000) = 0.0 (dbx) print pow(1.01, 10000000000.0) pow(1.01, 10000000000) = 0.0 (dbx) print value value = 1.0111111111111 (dbx) print val2 val2 = 8796093022207.0 (dbx) print pow(value, val2) pow(value, val2) = 0.0 so it seems pow(1.01, y) returns Infinity for large y, but then starts to return 0.0 for even larger values of y.
* | | | | | Merge mysql-5.1 to mysql-5.5.Marko Mäkelä2011-09-261-1/+1
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | Bug#12963823 CRASH IN PURGE THREAD UNDER UNUSUAL CIRCUMSTANCESMarko Mäkelä2011-09-223-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace part of the patch that Kevin apparently forgot to push. Fix the bug also in the built-in InnoDB of MySQL 5.1. I cannot explain why the test case was not failing without the full patch. This was rb:762, approved by me.
| * | | | | Bug 12963823 - Crash in Purge thread under unusual circumstances.unknown2011-09-203-41/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem occurred when indexes are added between the time that an UNDO record is created and the time that the purge thread comes around and deletes the old secondary index entries. The purge thread would hit an assert when trying to build a secondary index entry for searching. The problem was that the old value of those fields were not in the UNDO record since they were not part of an index when the UPDATE occured. A test case was added to innodb-index.test.
| * | | | | Merge.Sergey Vojtovich2011-09-166-5/+82
| |\ \ \ \ \
| * \ \ \ \ \ Merge from mysql-5.1.59-releaseunknown2011-09-1537-515/+294
| |\ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | |
* | | | | | | BUG#13001711Luis Soares2011-09-231-0/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Automerged bundle from committed and approved cset.
| * | | | | | | BUG#13001711: UNINITIALIZED VALUE IN MASTER_INFO::CLEAR_IN_MEMORY_INFO Luis Soares2011-09-201-0/+1
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WITH MYSQL_REFRESH() reset_slave_info.all was not initialized. We fix this by setting lex->reset_slave_info.all= false in the lex_start routine, which is called before every statement.
* | | | | | | mergeDaniel Fischer2011-09-231-5/+9
|\ \ \ \ \ \ \
| * | | | | | | Bug#12985030 SIMPLE QUERY WITH DECIMAL NUMBERS LEAKS MEMORYTor Didriksen2011-09-211-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extra fix: 'if (p5 < p5_a + P5A_MAX)' is not portable. p5 starts out pointing to a static array, then may point to a buffer on the stack, then may point to malloc()ed memory.
* | | | | | | | post-merge fixDaniel Fischer2011-09-211-3/+3
| | | | | | | |
* | | | | | | | merge from 5.5.16Daniel Fischer2011-09-2174-373/+715
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | BUG#12929631 : Execute crashes with --verbose output (Windows) Chuck Bell2011-09-092-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch corrects an error encountered in PB where Windows machines are built in release mode have an extraneous parameter added in place of the --console option. This is caused by the insert of '(null' instead of an empty string. In non-debug mode, the string is explicitly set to an empty string. Patch also fixes a result mismatch on Windows machines.
| * | | | | | | add mysql_plugin man page to spec fileDaniel Fischer2011-09-081-0/+5
| | | | | | | |