- 28 Jul, 2009 2 commits
-
-
Alexey Kopytov authored
-
Alexey Kopytov authored
compression Since uint3korr() may read 4 bytes depending on build flags and platform, allocate 1 extra "safety" byte in the network buffer for cases when uint3korr() in my_real_read() is called to read last 3 bytes in the buffer. It is practically hard to construct a reliable and reasonably small test case for this bug as that would require constructing input stream such that a certain sequence of bytes in a compressed packet happens to be the last 3 bytes of the network buffer. sql/net_serv.cc: Allocate 1 extra "safety" byte in the network buffer for cases when uint3korr() is used to read last 3 bytes in the buffer.
-
- 16 Jul, 2009 8 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
Fixed various compilation warnings when compiling on a 64 bit windows.
-
Georgi Kodinov authored
-
Kristofer Pettersson authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
- 15 Jul, 2009 9 commits
-
-
Kristofer Pettersson authored
table The MERGE table storage engine does not support the HA_CAN_SQL_HANDLE feature and any attempt to open the merge table will fail with ER_ILLEGAL_HA. After an error occurred the tables that was opened must be closed again or they will be left in an inconsistent state. However, the assumption made in the code for closing and register handler tables was that only one table will be opened, and this is not true for MERGE tables which will cause multiple tables to open. The next time a SELECT operation was issued on the merge table it caused the system to freeze. This patch fixes this issue by making sure that all tables which are opened also are closed in the event of an error. mysql-test/r/merge.result: Added test case for bug 45781 mysql-test/t/merge.test: Added test case for bug 45781 sql/sql_handler.cc: * mysql_ha_open() was never ment to open more than one table. If we encounter more tables, we should close all tables related to the current substatement and raise an exception.
-
Davi Arnaut authored
Merge Konstantin's patch and add a test case. tests/mysql_client_test.c: Add test case for Bug#44495
-
Konstantin Osipov authored
failed" Do not assume that SQL prepared statements always run in text protocol. When invoked from a stored procedure, which is itself invoked by means of prepared CALL statement, the protocol may be binary. Juggle with the protocol only when we want to change it to binary in COM_STMT_EXECUTE, COM_STMT_PREPARE. This is a backport from 5.4/6.0, where the bug was fixed as part of WL#4264 "Backup: Stabilize Service Interface"
-
Georgi Kodinov authored
-
Georgi Kodinov authored
Fixed the following problems: 1. cmake 2.6 warning because of a changed default on how the dependencies to libraries with a specified path are resolved. Fixed by requiring cmake 2.6. 2. Removed an obsolete pre-NT4 hack including defining Windows system defines to alter the behavior of windows.h. 3. Disabled warning C4065 on compiling sql_yacc.cc because of a know incompatibility in some of the newer bison binaries.
-
Ramil Kalimullin authored
-
Anurag Shekhar authored
-
Anurag Shekhar authored
match against. Server crashes when executing prepared statement with duplicating MATCH() function calls in SELECT and ORDER BY expressions, e.g.: SELECT MATCH(a) AGAINST('test') FROM t1 ORDER BY MATCH(a) AGAINST('test') This query gets optimized by the server, so the value returned by MATCH() from the SELECT list is reused for ORDER BY purposes. To make this optimization server is comparing items from SELECT and ORDER BY lists. We were getting server crash because comparision function for MATCH() item is not intended to be called at this point of execution. In 5.0 and 5.1 this problem is workarounded by resetting MATCH() item to the state as it was during PREPARE. In 6.0 correct comparision function will be implemented and duplicating MATCH() items from the ORDER BY list will be optimized. mysql-test/r/fulltext.result: Updated with the test case for Bug#37740 mysql-test/t/fulltext.test: A test case for Bug#37740. sql/item_func.h: True initialization of 'table' happens in ::fix_fields(). As Item_func_match::eq() may be called before ::fix_fields(), it is expected that 'table' is initialized to 0 when it is reused. This is mostly affecting prepared statements, when the same item doesn't get destroyed, but rather cleaned up and reused.
-
Ramil Kalimullin authored
-
- 14 Jul, 2009 6 commits
-
-
Jim Winstead authored
-
Ramil Kalimullin authored
"create as select" (innodb table) Problem: code constructing "CREATE TABLE..." statement doesn't take into account that current database is not set in some cases. That may lead to a server crash. Fix: check if current database is set. mysql-test/extra/binlog_tests/binlog.test: Fix for bug#45998: database crashes when running "create as select" (innodb table) - test case. mysql-test/suite/binlog/r/binlog_row_binlog.result: Fix for bug#45998: database crashes when running "create as select" (innodb table) - test result. sql/sql_show.cc: Fix for bug#45998: database crashes when running "create as select" (innodb table) - added check if there's current database set.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
- 13 Jul, 2009 9 commits
-
-
unknown authored
-
Jim Winstead authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
without error When using quick access methods for searching rows in UPDATE or DELETE there was no check if a fatal error was not already sent to the client while evaluating the quick condition. As a result a false OK (following the error) was sent to the client and the error was thus transformed into a warning. Fixed by checking for errors sent to the client during SQL_SELECT::check_quick() and treating them as real errors. Fixed a wrong test case in group_min_max.test Fixed a wrong return code in mysql_update() and mysql_delete() mysql-test/r/bug40113.result: Bug #40013: test case mysql-test/r/group_min_max.result: Bug #40013: fixed a wrong test case mysql-test/t/bug40113-master.opt: Bug #40013: test case mysql-test/t/bug40113.test: Bug #40013: test case mysql-test/t/group_min_max.test: Bug #40013: fixed a wrong test case sql/sql_delete.cc: Bug #40113: check for errors evaluating the quick select sql/sql_update.cc: Bug #40113: check for errors evaluating the quick select
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
- 12 Jul, 2009 1 commit
-
-
Alexey Kopytov authored
-
- 11 Jul, 2009 1 commit
-
-
Gleb Shchepa authored
mutually-nested subqueries Queries of the form SELECT * FROM (SELECT 1) AS t1, (SELECT 2) AS t2,... (SELECT 32) AS t32 caused the "Too high level of nesting for select" error as if the query has a form SELECT * FROM (SELECT 1 FROM (SELECT 2 FROM (SELECT 3 FROM... The table_factor parser rule has been modified to adjust the LEX::nest_level variable value after every derived table. mysql-test/r/derived.result: Added test case for bug #41156. mysql-test/t/derived.test: Added test case for bug #41156. sql/sql_yacc.yy: Bug #41156: List of derived tables acts like a chain of mutually-nested subqueries The select_derived2 parser rule calls mysql_new_select() calls push_context() and nest_level++, however only the pop_context() was called at the end of derived table parsing at the table_factor rule. The table_factor parser rule has been modified to adjust the LEX::nest_level variable value after every derived table.
-
- 10 Jul, 2009 4 commits
-
-
MySQL Build Team authored
-
Staale Smedseng authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-