- 15 Oct, 2008 1 commit
-
-
Kristofer Pettersson authored
-
- 14 Oct, 2008 2 commits
-
-
Chad MILLER authored
-
Chad MILLER authored
-
- 13 Oct, 2008 2 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
- 10 Oct, 2008 8 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
kent.boortz@sun.com authored
-
Gleb Shchepa authored
-
Gleb Shchepa authored
-
Gleb Shchepa authored
Select with a "NULL NOT IN" condition containing complex subselect from the same table as in the outer select failed with an assertion. The failure was caused by a concatenation of circumstances: 1) an inner select was optimized by make_join_statistics to use the QUICK_RANGE_SELECT access method (that implies an index scan of the table); 2) a subselect was independent (constant) from the outer select; 3) a condition was pushed down into inner select. During the evaluation of a constant IN expression an optimizer temporary changed the access method from index scan to table scan, but an engine handler was already initialized for index access by make_join_statistics. That caused an assertion. Unnecessary index initialization has been removed from the QUICK_RANGE_SELECT::init method (QUICK_RANGE_SELECT::reset reinvokes this initialization).
-
Gleb Shchepa authored
with COALESCE and JOIN The server returned to a client the VARBINARY column type instead of the DATE type for a result of the COALESCE, IFNULL, IF, CASE, GREATEST or LEAST functions if that result was filesorted in an anonymous temporary table during the query execution. For example: SELECT COALESCE(t1.date1, t2.date2) AS result FROM t1 JOIN t2 ON t1.id = t2.id ORDER BY result; To create a column of various date/time types in a temporary table the create_tmp_field_from_item() function uses the Item::tmp_table_field_from_field_type() method call. However, fields of the MYSQL_TYPE_NEWDATE type were missed there, and the VARBINARY columns were created by default. Necessary condition has been added.
-
Georgi Kodinov authored
- fixed an unitialized memory read - fixed a compilation warning - added a suppression for FC9 x86_64
-
- 09 Oct, 2008 10 commits
-
-
Gleb Shchepa authored
-
Gleb Shchepa authored
derived table cause crash When a multi-UPDATE command fails to lock some table, and subsequently succeeds, the tables need to be reopened if they were altered. But the reopening procedure failed for derived tables. Extra cleanup has been added.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
Fixed the handling of system variable retrieval in prepared statements : added a cleanup method that clears up the cache and restores the original scope of the variable (which is overwritten at fix_fields()).
-
Georgi Kodinov authored
-
Sergey Glukhov authored
TRIGGERS.SQL_MODE, EVENTS.SQL_MODE, TRIGGERS.DEFINER: field type is changed to VARCHAR.
-
Sergey Glukhov authored
The problem was that PACK_KEYS and MAX_ROWS clause in ALTER TABLE did not trigger table reconstruction. The fix is to rebuild a table if PACK_KEYS or MAX_ROWS are specified.
-
Georgi Kodinov authored
Fixed a compilation warning
-
Sergey Glukhov authored
Hide "Table doesn't exist" errors if the table belongs to a merge table.
-
Sergey Glukhov authored
The problem: table_open_method is not calculated properly if '*' is used in 'select' The fix: added table_open_method calculation for such case
-
- 08 Oct, 2008 13 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Ramil Kalimullin authored
upgrade from <=5.0.46 to >=5.0.48 Problem: 'check table .. for upgrade' doesn't detect incompatible collation changes made in 5.0.48. Fix: check for incompatible collation changes.
-
Georgi Kodinov authored
-
Mats Kindahl authored
-
Georgi Kodinov authored
The code to get read the value of a system variable was extracting its value on PREPARE stage and was substituting the value (as a constant) into the parse tree. Note that this must be a reversible transformation, i.e. it must be reversed before each re-execution. Unfortunately this cannot be reliably done using the current code, because there are other non-reversible source tree transformations that can interfere with this reversible transformation. Fixed by not resolving the value at PREPARE, but at EXECUTE (as the rest of the functions operate). Added a cache of the value (so that it's constant throughout the execution of the query). Note that the cache also caches NULL values. Updated an obsolete related test suite (variables-big) and the code to test the result type of system variables (as per bug 74).
-
Georgi Kodinov authored
-
Mats Kindahl authored
The failure was caused by executing a CREATE-SELECT statement that creates a table in another database than the current one. In row-based logging, the CREATE statement was written to the binary log without the database, hence creating the table in the wrong database, causing the following inserts to fail since the table didn't exist in the given database. Fixed the bug by adding a parameter to store_create_info() that will make the function print the database name before the table name and used that in the calls that write the CREATE statement to the binary log. The database name is only printed if it is different than the currently selected database. The output of SHOW CREATE TABLE has not changed and is still printed without the database name.
-
Georgi Kodinov authored
disabled a randomly failing test and opened a bug report
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Mattias Jonsson authored
InnoDB Plugin locks table This is a pre fix update that does the change to the handler api. This is done since there are already changes in this version, so the real fix does not need to change the api.
-
Marc Alff authored
-
- 07 Oct, 2008 4 commits
-
-
Marc Alff authored
-
Gleb Shchepa authored
-
Gleb Shchepa authored
``FLUSH TABLES WITH READ LOCK'' Concurrent execution of 1) multitable update with a NATURAL/USING join and 2) a such query as "FLUSH TABLES WITH READ LOCK" or "ALTER TABLE" of updating table led to a server crash. The mysql_multi_update_prepare() function call is optimized to lock updating tables only, so it postpones locking to the last, and if locking fails, it does cleanup of modified syntax structures and repeats a query analysis. However, that cleanup procedure was incomplete for NATURAL/USING join syntax data: 1) some Field_item items pointed into freed table structures, and 2) the TABLE_LIST::join_columns fields was not reset. Major change: short-living Field *Natural_join_column::table_field has been replaced with long-living Item*.
-
Georgi Kodinov authored
-