- 21 Jul, 2009 4 commits
-
-
MySQL Build Team authored
> ------------------------------------------------------------ > revno: 2772 > revision-id: joro@sun.com-20090615133815-eb007p5793in33p5 > parent: joro@sun.com-20090612140659-4hj1tta9p8wvcw4k > committer: Georgi Kodinov <joro@sun.com> > branch nick: B44810-5.0-bugteam > timestamp: Mon 2009-06-15 16:38:15 +0300 > message: > Bug #44810: index merge and order by with low sort_buffer_size > crashes server! > > The problem affects the scenario when index merge is followed by a filesort > and the sort buffer is not big enough for all the sort keys. > In this case the filesort function will read the data to the end through the > index merge quick access method (and thus closing the cursor etc), > but will leave the pointer to the quick select method in place. > It will then create a temporary file to hold the results of the filesort and > will add it as a sort output file (in sort.io_cache). > Note that filesort will copy the original 'sort' structure in an automatic > variable and restore it after it's done. > As a result at exiting filesort() we have a sort.io_cache filled in and > nothing else (as a result of close of the cursors at end of reading data > through index merge). > Now create_sort_index() will note that there is a select and will clean it up > (as it's been used already by filesort() reading the data in). While doing that > a special case in the index merge destructor will clean up the sort.io_cache, > assuming it's an output of the index merge method and is not needed anymore. > As a result the code that tries to read the data back from the filesort output > will get no data in both memory and disk and will crash. > > Fixed similarly to how filesort() does it : by copying the sort.io_cache structure > to a local variable, removing the pointer to the io_cache (so that it's not freed > by QUICK_INDEX_MERGE_SELECT::~QUICK_INDEX_MERGE_SELECT) and restoring the original > structure (together with the valid pointer) after the cleanup is done. > This is a safe thing to do because all the structures are already cleaned up by > hitting the end of the index merge's read method (QUICK_INDEX_MERGE_SELECT::get_next()) > and the cleanup code being written in a way that tolerates repeating cleanups.
-
MySQL Build Team authored
> ------------------------------------------------------------ > revno: 2763 > revision-id: sergey.glukhov@sun.com-20090602063813-33mh88cz5vpa2jqe > parent: alexey.kopytov@sun.com-20090601124224-zgt3yov9wou590e9 > committer: Sergey Glukhov <Sergey.Glukhov@sun.com> > branch nick: mysql-5.0-bugteam > timestamp: Tue 2009-06-02 11:38:13 +0500 > message: > Bug#45152 crash with round() function on longtext column in a derived table > The crash happens due to wrong max_length value which is set on > Item_func_round::fix_length_and_dec() stage. The value is set to > args[0]->max_length which is too big in case of LONGTEXT(LONGBLOB) fields. > The fix is to set max_length using float_length() function.
-
MySQL Build Team authored
> ------------------------------------------------------------ > revno: 2733 > revision-id: gshchepa@mysql.com-20090430192037-9p1etcynkglte2j3 > parent: aelkin@mysql.com-20090430143246-zfqaz0t7uoluzdz2 > committer: Gleb Shchepa <gshchepa@mysql.com> > branch nick: mysql-5.0-bugteam > timestamp: Fri 2009-05-01 00:20:37 +0500 > message: > Bug #37362: Crash in do_field_eq > > EXPLAIN EXTENDED of nested query containing a error: > > 1054 Unknown column '...' in 'field list' > > may cause a server crash. > > > Parse error like described above forces a call to > JOIN::destroy() on malformed subquery. > That JOIN::destroy function closes and frees temporary > tables. However, temporary fields of these tables > may be listed in st_select_lex::group_list of outer > query, and that st_select_lex may not cleanup them > properly. So, after the JOIN::destroy call that > st_select_lex::group_list may have Item_field > objects with dangling pointers to freed temporary > table Field objects. That caused a crash.
-
unknown authored
-
- 20 May, 2009 1 commit
-
-
MySQL Build Team authored
-
- 07 May, 2009 1 commit
-
-
Daniel Fischer authored
-
- 06 May, 2009 1 commit
-
-
Chad MILLER authored
adventure.
-
- 05 May, 2009 2 commits
-
-
Chad MILLER authored
-
Davi Arnaut authored
-
- 01 May, 2009 3 commits
-
-
unknown authored
-
MySQL Build Team authored
-
MySQL Build Team authored
-
- 30 Apr, 2009 5 commits
-
-
Andrei Elkin authored
-
Georgi Kodinov authored
-
Andrei Elkin authored
-
Matthias Leich authored
into actual tree
-
Alexey Botchkov authored
per-file comments: tests/mysql_client_test.c the test for bug 37956 isn't relevant anymore. The query there 'select point(?,?)' doesn't produce an error.
-
- 29 Apr, 2009 1 commit
-
-
Alexey Botchkov authored
-
- 28 Apr, 2009 7 commits
-
-
Matthias Leich authored
no conflicts
-
Matthias Leich authored
(moved from Bug 42308) Details: - insert_update Add DROP TABLE which was missing, error numbers -> names - varbinary Add DROP TABLE which was missing - sp_trans_log Add missing DROP function, improved formatting
-
Staale Smedseng authored
Fixed a number of typos, and made punctuation and capitalization more consistent in documentation and help.
-
Andrei Elkin authored
The issue of the current bug is unguarded access to mi->slave_running by the shutdown thread calling end_slave() that is bug#29968 (alas happened not to be cross-linked with the current bug) Fixed: with removing the unguarded read of the running status and perform reading it in terminate_slave_thread() at time run_lock is taken (mostly bug#29968 backporting, still with some improvements over that patch - see the error reporting from terminate_slave_thread()). Issue of bug#38716 is fixed here for 5.0 branch as well. Note: There has been a separate artifact identified - a race condition between init_slave() and end_slave() - reported as Bug#44467. mysql-test/r/rpl_bug38694.result: a new results file is added. mysql-test/t/rpl_bug38694-slave.opt: simulating delay at slave threads shutdown. mysql-test/t/rpl_bug38694.test: A new test to check if a delay at the termination phase of slave threads could cause any issue. sql/slave.cc: The unguarded read of the running status is removed. Its reading is done in terminate_slave_thread() at time run_lock is taken; Calling terminate_slave_threads(skip_lock := !need_slave_mutex) in the failing branch of start_slave_threads() which is bug#38716 issue. sql/slave.h: removing terminate_slave_thread() out of the global interface scope.
-
Alexey Botchkov authored
-
Alexey Botchkov authored
the Point() and Linestring() functions create WKB representation of an object instead of an real geometry object. That produced bugs when these were inserted into tables. GIS tests fixed accordingly. per-file messages: mysql-test/r/gis-rtree.result Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash test result mysql-test/r/gis.result Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash test result mysql-test/t/gis-rtree.test Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash test fixed - GeomFromWKB invocations removed mysql-test/t/gis.test Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash test fixed - AsWKB invocations added sql/item_geofunc.cc Bug#38990 Arbitrary data input plus GIS functions causes mysql server crash Point() and similar functions to create a proper object
-
Gleb Shchepa authored
Bug #40925: Equality propagation takes non indexed attribute Query execution plans and execution time of queries like select a, b, c from t1 where a > '2008-11-21' and b = a limit 10 depended on the order of equality operator parameters: "b = a" and "a = b" are not same. An equality propagation algorithm has been fixed: the substitute_for_best_equal_field function should not substitute a field for an equal field if both fields belong to the same table. mysql-test/r/select.result: Added test case for bug #40925. mysql-test/t/select.test: Added test case for bug #40925. sql/item.cc: Bug #40925: Equality propagation takes non indexed attribute An equality propagation algorithm has been fixed: the substitute_for_best_equal_field function should not substitute a field for an equal field if both fields belong to the same table.
-
- 24 Apr, 2009 5 commits
-
-
Patrick Crews authored
Turned off autocommit at the start of this test per Innobase recommendation. Noted significant reduction in run time for this test w/ a minor increase in other tests' run-times.
-
Satya B authored
1) BUG#43309 - Test main.innodb can't be run twice Detailed revision comments: r4701 | vasil | 2009-04-13 17:03:46 +0300 (Mon, 13 Apr 2009) | 6 lines branches/5.0: Fix Bug#43309 Test main.innodb can't be run twice by making the innodb.test reentrant.
-
Satya B authored
1) BUG#42279 - Race condition in btr_search_drop_page_hash_when_freed() Detailed revision comments: r4031 | marko | 2009-01-23 15:33:46 +0200 (Fri, 23 Jan 2009) | 8 lines branches/5.0: btr_search_drop_page_hash_when_freed(): Check if buf_page_get_gen() returns NULL. The page may have been evicted from the buffer pool between buf_page_peek_if_search_hashed() and buf_page_get_gen(), because the buffer pool mutex will be released between these two calls. (Bug #42279) rb://82 approved by Heikki Tuuri
-
Satya B authored
-
Satya B authored
for indexes of InnoDB table Fixes by replacing the PRNG that is used to pick random pages with a better one. Also adds a configuration option "innodb_use_legacy_cardinality_algorithm" to enable the fix only when the option is set. This patch is from http://bugs.mysql.com/file.php?id=11789
-
- 23 Apr, 2009 1 commit
-
-
Staale Smedseng authored
QUERY statement Commit 55629 applied to 5.0-bugteam and 5.1-bugteam: Check for thd->killed in CHECKSUM loop.
-
- 21 Apr, 2009 1 commit
-
-
Sergey Vojtovich authored
mysqldump.test is designed to run with concurrent inserts disabled. It is disabling concurrent inserts at the very beginning of the test case, and re-enables them at the bottom of the test. But for some reason (likely incorrect merge) we enable concurrent inserts in the middle of the test. The problem is fixed by enabling concurrent inserts only at the bottom of the test case.
-
- 17 Apr, 2009 2 commits
-
-
Georgi Kodinov authored
to wrong results 3 problems found with DES_ENCRYPT/DES_DECRYPT : 1. The max length was not calculated properly. Fixed in fix_length_and_dec() 2. DES_ENCRYPT had a side effect of sometimes reallocating and changing the value of its argument. Fixed by explicitly pre-allocating the necessary space to pad the argument with trailing '*' (stars) when calculating the DES digest. 3. in DES_ENCRYPT the string buffer for the result value was not reallocated to the correct size and only string length was assigned to it. Fixed by making sure there's enough space to hold the result.
-
Sergey Glukhov authored
information schema tables are based on internal tmp tables which are removed after each statement execution. So HANDLER comands can not be used with information schema. mysql-test/r/handler.result: test result mysql-test/t/handler.test: test case sql/sql_handler.cc: information schema tables are based on internal tmp tables which are removed after each statement execution. So HANDLER comands can not be used with information schema.
-
- 16 Apr, 2009 4 commits
-
-
Patrick Crews authored
Streamlined how we increase the size of our test table. The new method shows run time decreased by ~60%. This is not a guarantee that we will not see test timeouts (the random failures noted in the bug), but it should significantly reduce the chances of this occurring.
-
Georgi Kodinov authored
-
unknown authored
-
Staale Smedseng authored
-
- 14 Apr, 2009 2 commits
-
-
Chad MILLER authored
-
Sergey Glukhov authored
fixed message for 'help' command client/mysql.cc: fixed message for 'help' command
-