- 07 Jul, 2008 3 commits
-
-
Marc Alff authored
-
Marc Alff authored
enabled) Before this fix, the lexer and parser would treat the ';' character as a different token (either ';' or END_OF_INPUT), based on convoluted logic, which failed in simple cases where a stored procedure is implemented as a single statement, and used in a multi query. With this fix: - the character ';' is always parsed as a ';' token in the lexer, - parsing multi queries is implemented in the parser, in the 'query:' rules, - the value of thd->client_capabilities, which is the capabilities negotiated between the client and the server during bootstrap, is immutable and not arbitrarily modified during parsing (which was the root cause of the bug)
-
Georgi Kodinov authored
- moved the test into a separate file to check for presence of the test variable mysql-test/r/subselect.result: Bug#37627: moved the test to a separate file mysql-test/r/subselect_debug.result: Bug#37627: moved the test to a separate file mysql-test/t/subselect.test: Bug#37627: moved the test to a separate file mysql-test/t/subselect_debug.test: Bug#37627: moved the test to a separate file
-
- 04 Jul, 2008 5 commits
-
-
Chad MILLER authored
-
Chad MILLER authored
-
Chad MILLER authored
to use ANSI_QUOTES Make all have_* tests universally safe by using ANSI quotes.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
When there is an error executing EXISTS predicates they return NULL as their string or decimal value but don't set the NULL value flag. Fixed by returning 0 (as a decimal or a string) on error exectuting the subquery. Note that we can't return NULL as EXISTS is not supposed to return NULL. mysql-test/r/subselect.result: Bug#37627: test case mysql-test/t/subselect.test: Bug#37627: test case sql/item_subselect.cc: Bug#37627: return decimal (or string) 0 isntead of a NULL pointer on error calculating an EXISTS predicate.
-
- 03 Jul, 2008 3 commits
-
-
Konstantin Osipov authored
Bug#12093 "SP not found on second PS execution if another thread drops other SP in between" and Bug#21294 "executing a prepared statement that executes a stored function which was recreat" Stored functions are resolved at prepared statement prepare only. If someone flushes the stored functions cache between prepare and execute, execution fails. The fix is to detect the situation of the cache flush and automatically reprepare the prepared statement after it. mysql-test/r/ps_ddl.result: Update results (Bug#12093 and Bug#21294, the test cases are already in the source tree). mysql-test/r/ps_ddl1.result: Update results (Bug#12093 and Bug#21294, the test cases are already in the source tree). mysql-test/r/sp-error.result: Update results (Bug#12093 and Bug#21294, the test cases are already in the source tree). mysql-test/t/ps_ddl.test: Modify the test to not expect an error where there is no error any more (Bug#12093, Bug#21294). mysql-test/t/ps_ddl1.test: Modify the test to not expect an error where there is no error any more (Bug#12093, Bug#21294). mysql-test/t/sp-error.test: Modify the test to not expect an error where there is no error any more (Bug#12093, Bug#21294). sql/sp_cache.cc: Implement sp_cache_version() -- returns the current version of a stored routines cache. sql/sp_cache.h: Declare sp_cache_version(). sql/sql_prepare.cc: Keep track of stored functions cache version, and invalidate the statement if it changed between prepared statement prepare and execute (and the statement actually uses stored routines).
-
Sven Sandberg authored
-
Sven Sandberg authored
This bug has been fixed in two slightly different ways in 6.0-rpl and {5.1,6.0}-bugteam. To avoid future merge problems, I'm now copying the 6.0-rpl fix to 5.1-bugteam.
-
- 02 Jul, 2008 3 commits
-
-
Timothy Smith authored
-
Sven Sandberg authored
The previous fix for the bug was incomplete. The test failed because t2 did not exist on the slave (since the slave was lagging) when the wait_condition was executed. Fixed by inserting sync_slave_with_master just after t2 was created.
-
Timothy Smith authored
-
- 01 Jul, 2008 2 commits
-
-
Patrick Crews authored
-
Patrick Crews authored
Test was failing due to the addition of a '\x05' character in result sets Latest builds of the server have shown this problem to have disappeared. Removing code within the test that disables the test on Mac OS X. Recommit due to tree error on earlier, approved patch.
-
- 30 Jun, 2008 1 commit
-
-
Sven Sandberg authored
Problem: rpl_switch_stm_row_mixed did not wait until row events generated by INSERT DELAYED were written to the master binlog before it synchronized slave with master. This caused sporadic errors where these rows were missing on slave. Fix: wait until all rows appear on the slave. This is a backport, applying the same to 5.1-bugteam as was previously applied to 6.0-rpl
-
- 27 Jun, 2008 8 commits
-
-
Timothy Smith authored
-
Timothy Smith authored
-
Timothy Smith authored
Differences in 5.1: include "/etc/mysql/" in include directories; no OS/2 support.
-
Gleb Shchepa authored
-
Gleb Shchepa authored
InnoDB table, where all selected columns belong to the same unique index key, returns incorrect results Server executes some queries via QUICK_GROUP_MIN_MAX_SELECT (MIN/MAX optimization for queries with GROUP BY or DISTINCT clause) and that optimization implies loose index scan, so all grouping is done by the QUICK_GROUP_MIN_MAX_SELECT::get_next method. The server does not set the precomputed_group_by flag for some QUICK_GROUP_MIN_MAX_SELECT queries and duplicates grouping by call to the end_send_group function. Fix: when the test_if_skip_sort_order function selects loose index scan as a best way to satisfy an ORDER BY/GROUP BY type of query, the precomputed_group_by flag has been set to use end_send/end_write functions instead of end_send_group/ end_write_group functions. mysql-test/r/group_min_max_innodb.result: Fixed bug #36632: SELECT DISTINCT from a simple view on an InnoDB table, where all selected columns belong to the same unique index key, returns incorrect results mysql-test/t/group_min_max_innodb.test: Fixed bug #36632: SELECT DISTINCT from a simple view on an InnoDB table, where all selected columns belong to the same unique index key, returns incorrect results sql/sql_select.cc: Fixed bug #36632: SELECT DISTINCT from a simple view on an InnoDB table, where all selected columns belong to the same unique index key, returns incorrect results
-
Gleb Shchepa authored
-
Gleb Shchepa authored
Bug#35658 (An empty binary value leads to mysqld crash) Before this fix, the following token b'' caused the parser to crash when reading the binary value from the empty string. The crash was caused by: ptr+= max_length - 1; because max_length is unsigned and was 0, causing an overflow. With this fix, an empty binary literal b'' is parsed as a binary value 0, in Item_bin_string. mysql-test/r/varbinary.result: Bug#35658 (An empty binary value leads to mysqld crash) mysql-test/t/varbinary.test: Bug#35658 (An empty binary value leads to mysqld crash) sql/item.cc: Bug#35658 (An empty binary value leads to mysqld crash)
-
Gleb Shchepa authored
Bug#35658 (An empty binary value leads to mysqld crash) Before this fix, the following token b'' caused the parser to crash when reading the binary value from the empty string. The crash was caused by: ptr+= max_length - 1; because max_length is unsigned and was 0, causing an overflow. With this fix, an empty binary literal b'' is parsed as a binary value 0, in Item_bin_string. mysql-test/r/varbinary.result: Bug#35658 (An empty binary value leads to mysqld crash) mysql-test/t/varbinary.test: Bug#35658 (An empty binary value leads to mysqld crash) sql/item.cc: Bug#35658 (An empty binary value leads to mysqld crash)
-
- 25 Jun, 2008 4 commits
-
-
Matthias Leich authored
-
Matthias Leich authored
Bug#37492 timing bug in subselect.test + similar weaknesses found during testing + replace error numbers by error names
-
Gleb Shchepa authored
-
Timothy Smith authored
Normalize directory names before adding them to default_directories. mysys/default.c: Normalize directory names with unpack_dirname() before adding them to default_directories. This way, /etc/ and /etc will not count as duplicates. Because this entails allocating memory to store the normalized names, add error handling and ensure that it doesn't leak memory in case both my_print_defaults() and load_defaults() are called. Clean up the Windows code that finds the exe's parent directory, and pull it out into a separate function. Reorganize the code into a single init_default_directories() function, with internal #ifdefs, instead of init_default_directories_<system>() functions which were accessed via a function pointer. This is more in line with normal MySQL coding style, and easier to read for some.
-
- 24 Jun, 2008 4 commits
-
-
Gleb Shchepa authored
-
Gleb Shchepa authored
Bug#35480: BOM detection code crashes mysql CLI with zero-sized input MySQL client crashed if no input was passed to it.
-
Gleb Shchepa authored
Bug#33812: mysql client incorrectly parsing DELIMITER Remove unnecessary and incorrect code that tried to pull delimiter commands out of the middle of statements.
-
Gleb Shchepa authored
as a commentary mysql client has been modified to interpret EOL after standalone -- commentary strings like whitespace character (according to http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-comments.html) mysql-test/t/mysql_delimiter.sql: Added test case for bug #36244.
-
- 21 Jun, 2008 1 commit
-
-
Tatiana A. Nurnberg authored
configure.in: auto-merge mysql-test/suite/bugs/r/rpl_bug33029.result: auto-merge mysql-test/suite/bugs/t/rpl_bug33029.test: auto-merge sql/slave.cc: auto-merge sql/sql_class.cc: auto-merge sql/structs.h: auto-merge
-
- 20 Jun, 2008 5 commits
-
-
Joerg Bruehe authored
-
Tatiana A. Nurnberg authored
Remove unnecessary and incorrect code that tried to pull delimiter commands out of the middle of statements. client/mysql.cc: Remove unnecessary and incorrect code that tried to pull delimiter commands out of the middle of statements. mysql-test/r/mysql.result: show we no longer parse DELIMITER when we shouldn't. mysql-test/t/mysql_delimiter.sql: show we no longer parse DELIMITER when we shouldn't.
-
Matthias Leich mleich@mysql.com authored
-
Joerg Bruehe authored
-
Andrei Elkin authored
-
- 19 Jun, 2008 1 commit
-
-
Andrei Elkin authored
The crash appeared to be a result of allocating an instance of Discrete_interval automatically that that was referred in out-of-declaration scope. Fixed with correcting backing up and restoring scheme of auto_inc_intervals_forced, introduced by bug#33029, by means of shallow copying; added simulation code that forces executing those fixes of the former bug that targeted at master-and-slave having incompatible bug#33029-prone versions. mysql-test/suite/bugs/r/rpl_bug33029.result: new results file mysql-test/suite/bugs/t/rpl_bug33029.test: test merely checks no crash happens on slave. sql/slave.cc: forcing to execute special logics implemented for bug#33029 if simulate_bug33029 the debug option is set. sql/sql_class.cc: swaps of backed and the actual auto_inc_intervals_forced basing on shallow coping. sql/structs.h: Removing the deep _copy() and methods associated with it; adding methods to Discrete_intervals_list: private `=', copy constructor to prevent using; private set_members(); public copy_shallow(), swap(), get_{head, tail, current}(); empty_no_free() through set_members().
-