- 15 May, 2009 9 commits
-
-
Kristofer Pettersson authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
Field_time::get_time() did not initialize some members of MYSQL_TIME which led to valgrind warnings when those members were accessed in Protocol_simple::store_time(). It is unlikely that this bug could result in wrong data being returned, since Field_time::get_time() initializes the 'day' member of MYSQL_TIME to 0, so the value of 'day' in Protocol_simple::store_time() would be 0 regardless of the values for 'year' and 'month'.
-
Kristofer Pettersson authored
-
Sergey Glukhov authored
-
Sergey Glukhov authored
In UNION if we use last SELECT without braces and this SELECT have ORDER BY clause, such clause belongs to global UNION. It is parsed like last SELECT part and used further as 'unit->global_parameters->order_list' value. During DESCRIBE EXTENDED we call select_lex->print_order() for last SELECT where order fields refer to tmp table which already freed. It leads to crash. The fix is clean up global_parameters->order_list instead of fake_select_lex->order_list.
-
- 14 May, 2009 8 commits
-
-
Philip Stoev authored
-
Philip Stoev authored
UNIX sockets need to be on a path shorter than 70 characters on some older platofrms. MTRv1 tries to fix this by moving the socket to the $TMPDIR, however this causes issues with certain tests on Windows. Fixed by not applying any hacks on Windows - Windows does not need them.
-
Kristofer Pettersson authored
It is not possible to prevent the server from starting if a mandatory built-in plugin fails to start. This can in some cases lead to data corruption when the old table name space suddenly is used by a different storage engine. A boolean command line option in the form of --foobar is automatically created for every existing plugin "foobar". By changing this command line option from a boolean to a tristate { OFF, ON, FORCE } it is possible to specify the plugin loading policy for each plugin. The behavior is specified as follows: OFF = Disable the plugin and start the server ON = Enable the plugin and start the server even if an error occurrs during plugin initialization. FORCE = Enable the plugin but don't start the server if an error occurrs during plugin initialization.
-
Luis Soares authored
-
Philip Stoev authored
UNIX sockets need to be on a path shorter than 70 characters on some older platofrms. MTRv1 tries to fix this by moving the socket to the $TMPDIR, however this causes issues with certain tests on Windows. Fixed by not applying any hacks on Windows - Windows does not need them.
-
Narayanan V authored
-
Narayanan V authored
checking in a test case that will reproduce the error on v5r4.
-
Anurag Shekhar authored
-
- 13 May, 2009 6 commits
-
-
Ramil Kalimullin authored
-
Jim Winstead authored
-
Jim Winstead authored
-
Martin Hansson authored
-
Anurag Shekhar authored
This patch fixes compilation warning, "conversion from 'time_t' to 'ulong', possible loss of data". The fix is to typecast time_t to ulong before assigning it to ulong. Backported this from 6.0-bugteam tree.
-
Ramil Kalimullin authored
-
- 12 May, 2009 5 commits
-
-
Jim Winstead authored
-
Jim Winstead authored
-
Gleb Shchepa authored
SQL_SELECT::test_quick_select The crash was caused by an incomplete cleanup of JOIN_TAB::select during the filesort of rows for GROUP BY clause inside a subquery. Queries where a quick index access is replaced with filesort was was affected. For example: SELECT 1 FROM (SELECT COUNT(DISTINCT c1) FROM t1 WHERE c2 IN (1, 1) AND c3 = 2 GROUP BY c2) x Quick index access related data in the SQL_SELECT::test_quick_select function was inconsistent after an incomplete cleanup. This function has been completed to prevent crashes in the SQL_SELECT::test_quick_select function.
-
Luis Soares authored
"freeing items" The calculation of the table map log event in the event constructor was one byte shorter than what would be actually written. This would lead to a mismatch between the number of bytes written and the event end_log_pos, causing bad event alignment in the binlog (corrupted binlog) or in the transaction cache while fixing positions (MYSQL_BIN_LOG::write_cache). This could lead to impossible to read binlog or even infinite loops in MYSQL_BIN_LOG::write_cache. This patch addresses this issue by correcting the expected event length in the Table_map_log_event constructor, when the field metadata size exceeds 255.
-
Ramil Kalimullin authored
Problem: using LOAD_FILE() in some cases we pass a file name string without a trailing '\0' to fn_format() which relies on that however. That may lead to valgrind warnings. Fix: add a trailing '\0' to the file name passed to fn_format().
-
- 11 May, 2009 3 commits
-
-
Davi Arnaut authored
The problem is that the internal variable used to specify a transaction with consistent read was being used outside the processing context of a START TRANSACTION WITH CONSISTENT SNAPSHOT statement. The practical consequence was that a consistent snapshot specification could leak to unrelated transactions on the same session. The solution is to ensure a consistent snapshot clause is only relied upon for the START TRANSACTION statement. This is already fixed in a similar way on 6.0.
-
Mats Kindahl authored
-
Mats Kindahl authored
In the output from mysqlbinlog, incident log events were represented as just a comment. Since the incident log event represents an incident that could cause the contents of the database to change without being logged to the binary log, it means that if the SQL is applied to a server, it could potentially lead to that the databases are out of sync. In order to handle that, this patch adds the statement "RELOAD DATABASE" to the SQL output for the incident log event. This will require a DBA to edit the file and handle the case as apropriate before applying the output to a server.
-
- 10 May, 2009 2 commits
-
-
Ramil Kalimullin authored
-
Ramil Kalimullin authored
Problem: storing "SELECT ... INTO @var ..." results in variables we used val_xxx() methods which returned results of the current row. So, in some cases (e.g. SELECT DISTINCT, GROUP BY or HAVING) we got data from the first row of a new group (where we evaluate a clause) instead of data from the last row of the previous group. Fix: use val_xxx_result() counterparts to get proper results.
-
- 08 May, 2009 7 commits
-
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Alexey Kopytov authored
-
Ramil Kalimullin authored
-