- 22 Jan, 2009 1 commit
-
-
Davi Arnaut authored
The problem is that the query cache was storing partial results if the statement failed when sending the results to the client. This could cause clients to hang when trying to read the results from the cache as they would, for example, wait indefinitely for a eof packet that wasn't saved. The solution is to always discard the caching of a query that failed to send its results to the associated client. mysql-test/r/query_cache_notembedded.result: Add test case result for Bug#40264 mysql-test/t/query_cache_notembedded.test: Add test case for Bug#40264 sql/sql_cache.cc: Abort if a unreported error was raised.
-
- 16 Jan, 2009 2 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
- 15 Jan, 2009 7 commits
-
-
Georgi Kodinov authored
-
Joerg Bruehe authored
This is not the final merge of that release build, but we need early access to these tool fixes (use of "awk" in the BDB configuration).
-
Joerg Bruehe authored
-
Alexander Nozdrin authored
-
Davi Arnaut authored
-
Alexander Nozdrin authored
with mysql_change_user) to 5.0.
-
Georgi Kodinov authored
-
- 14 Jan, 2009 2 commits
-
-
MySQL Build Team authored
-
unknown authored
-
- 13 Jan, 2009 3 commits
-
-
Davi Arnaut authored
The problem is that the query cache stores packets containing the server status of the time when the cached statement was run. This might lead to a wrong transaction status in the client side if a statement is cached during a transaction and is later served outside a transaction context (and vice-versa). The solution is to take into account the transaction status when storing in and serving from the query cache. mysql-test/r/innodb_cache.result: Update test case result. mysql-test/r/query_cache.result: Add test case result for Bug#36326 mysql-test/t/query_cache.test: Add test case for Bug#36326 sql/mysql_priv.h: Add new flags. sql/sql_cache.cc: Remember the transaction and autocommit status stored in the packet. tests/mysql_client_test.c: Add test case for Bug#36326
-
Joerg Bruehe authored
The default "awk" there cannot handle some of the scripts which are used by BDB for configuration. The fix: 1) Introduce a variable "AWK" in some of the BDB shell scripts, 2) search "gawk" and give it precedence over "awk" when assigning a value to the "AWK" variable, fail if neither is found, 3) use that variable when calling an "awk" program with one of the critical scripts. The perfect solution would be to use the "awk" program found by "configure", but we cannot follow that approach because BDB's configuration is handled as a special case before the overall "configure" is run. Because of this, 1) the "configure" result isn't yet available, 2) "configure" will not handle these BDB files. Searching "gawk" is a (not-so-nice) way out. Note that all this need not be perfectly portable, it is needed only when we create a source distribution tarball from a develkopment tree. bdb/dist/s_all: Search "gawk" if available, give it precedence over "awk", fail if neither is found. bdb/dist/s_include: Ensure we use a modern AWK, similar to GNU awk, the default awk on Solaris cannot handle BDB's script. bdb/dist/s_recover: Ensure we use a modern AWK, similar to GNU awk, the default awk on Solaris cannot handle BDB's script. bdb/dist/s_rpc: Ensure we use a modern AWK, similar to GNU awk, the default awk on Solaris cannot handle BDB's script.
-
Georgi Kodinov authored
The greedy optimizer tracks the current level of nested joins and the position inside these by setting and maintaining a state that's global for the whole FROM clause. This state was correctly maintained inside the selection of the next partial plan table (in best_extension_by_limited_search()). greedy_search() also moves the current position by adding the last partial match table when there's not enough tables in the partial plan found by best_extension_by_limited_search(). This may require update of the global state variables that describe the current position in the plan if the last table placed by greedy_search is not a top-level join table. Fixed by updating the state after placing the partial plan table in greedy_search() in the same way this is done on entering the best_extension_by_limited_search(). Fixed the signature of the function called to update the state : check_interleaving_with_nj mysql-test/r/greedy_optimizer.result: Bug #38795: test case mysql-test/t/greedy_optimizer.test: Bug #38795: test case sql/sql_select.cc: Bug #38795: correctly update current position when placing the next partial plan table in greedy_search().
-
- 12 Jan, 2009 6 commits
-
-
Joerg Bruehe authored
-
Joerg Bruehe authored
Bug #39920: MySQL cannot deal with Leap Second expression in string literal. Updated MySQL time handling code to react correctly on UTC leap second additions. MySQL functions that return the OS current time, like e.g. CURDATE(), NOW() etc will return :59:59 instead of :59:60 or 59:61. As a result the reader will receive :59:59 for 2 or 3 consecutive seconds during the leap second. Original changesets: > revision-id: kgeorge@mysql.com-20081201141835-rg8nnnadujj5wl9f > parent: gshchepa@mysql.com-20081114172557-xh0jlzwal8ze3cy6 > committer: Georgi Kodinov <kgeorge@mysql.com> > branch nick: B39920-5.0-bugteam > timestamp: Mon 2008-12-01 16:18:35 +0200 > revision-id: kgeorge@mysql.com-20081201154106-c310zzy5or043rqa > parent: kgeorge@mysql.com-20081201145656-6kjq91oga5nxbbob > committer: Georgi Kodinov <kgeorge@mysql.com> > branch nick: B39920-merge-5.0-bugteam > timestamp: Mon 2008-12-01 17:41:06 +0200
-
Joerg Bruehe authored
Bug#34760 Character set autodetection appears to fail the problem is the same as reported in bug#20835, so the fix is backport of bug#20835 patch. Original changeset: > revision-id: sergey.glukhov@sun.com-20081121123959-58ffhp2nitg7f40h > parent: ramil@mysql.com-20081120100836-gct60cm67b1rui29 > committer: Sergey Glukhov <Sergey.Glukhov@sun.com> > branch nick: mysql-5.0-bugteam > timestamp: Fri 2008-11-21 16:39:59 +0400
-
Joerg Bruehe authored
BUG#38842 - Fix for 25951 seems incorrect Original changeset: > revision-id: svoj@mysql.com-20081111091051-54pr96nf1z2s30gx > parent: vvaintroub@mysql.com-20081110201804-bi98gcs9avsf58ff > committer: Sergey Vojtovich <svoj@mysql.com> > branch nick: mysql-5.0-bugteam-bug38842 > timestamp: Tue 2008-11-11 13:10:51 +0400
-
Joerg Bruehe authored
Bug #40021: Renaming view fails, archived .frm for view is missing after downgrade Original changeset: > revision-id: gshchepa@mysql.com-20081114172557-xh0jlzwal8ze3cy6 > parent: ramil@mysql.com-20081114074229-vj4fvfrpmz8jfub9 > committer: Gleb Shchepa <gshchepa@mysql.com> > branch nick: mysql-5.0-bugteam > timestamp: Fri 2008-11-14 21:25:57 +0400
-
Joerg Bruehe authored
Remove bashisms from BUILD/compile-dist and configure.in, so Bootstrap works on Solaris box; - force GNU make in compile-dist; - remove unportable "grep -q" from configure.in Original changeset: revision-id: build@mysql.com-20081203041148-icwscut3bk09ds47 parent: kgeorge@mysql.com-20081202125040-eiu6s7bk6s96s4xh author: timothy.smith@sun.com committer: MySQL Build Team <build@mysql.com> branch nick: mysql-5.0.74-release timestamp: Wed 2008-12-03 05:11:48 +0100
-
- 09 Jan, 2009 5 commits
-
-
Tatiana A. Nurnberg authored
-
Georgi Kodinov authored
-
Tatiana A. Nurnberg authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
When substituting system constant functions with a constant result the server was not expecting that the function may return NULL. Fixed by checking for NULL and returning Item_null (in the relevant collation) if the result of the system constant function was NULL. mysql-test/r/mysql.result: Bug #41437: test case mysql-test/t/mysql.test: Bug #41437: test case. Relies on database() returning NULL if no database is selected. sql/item_strfunc.cc: Bug #41437: Check for NULL result on evaluating the system constant function and return a constant NULL item.
-
- 08 Jan, 2009 1 commit
-
-
Tatiana A. Nurnberg authored
Passing dubious "year zero" in non-zero date (not "0000-00-00") could lead to negative value for year internally, while variable was unsigned. This led to Really Bad Things further down the line. Now doing calculations with signed type for year internally. mysql-test/r/date_formats.result: show that very early dates no longer break DATE_FORMAT(..., '%W') mysql-test/t/date_formats.test: show that very early dates no longer break DATE_FORMAT(..., '%W') sql-common/my_time.c: Allow negative years numbers internally while keeping the interface. otherwise if somebody passes year zero for whatever reason, we'll get an integer wrap-around that can lead to Really Bad Things further down the line. Note that amusingly, calcday_nr() already had signed output and calc_weekday() already had signed input, anyway.
-
- 07 Jan, 2009 1 commit
-
-
Patrick Crews authored
-
- 05 Jan, 2009 3 commits
-
-
Patrick Crews authored
Added function to check for diff and return an error message if the utility is not present. Previously, the way we did this didn't work on Windows, but did work on *Nix systems.
-
Georgi Kodinov authored
-
Georgi Kodinov authored
case.
-
- 30 Dec, 2008 1 commit
-
-
Tatiana A. Nurnberg authored
-
- 29 Dec, 2008 1 commit
-
-
Sergey Glukhov authored
Added global status variable 'Queries' which represents total amount of queries executed by server including statements executed by SPs. note: It's old behaviour of 'Questions' variable. mysql-test/r/status.result: test result mysql-test/t/status.test: test case sql/mysqld.cc: Added global status variable 'Queries' which represents total amount of queries executed by server including statements executed by SPs. note: It's old behaviour of 'Questions' variable. sql/sql_show.cc: Added global status variable 'Queries' which represents total amount of queries executed by server including statements executed by SPs. note: It's old behaviour of 'Questions' variable. sql/structs.h: Added global status variable 'Queries' which represents total amount of queries executed by server including statements executed by SPs. note: It's old behaviour of 'Questions' variable.
-
- 28 Dec, 2008 2 commits
-
-
Joerg Bruehe authored
-
Kent Boortz authored
-
- 24 Dec, 2008 4 commits
-
-
Sergey Glukhov authored
Table could be marked dependent because it is either 1) an inner table of an outer join, or 2) it is a part of STRAIGHT_JOIN. In case of STRAIGHT_JOIN table->maybe_null should not be assigned. The fix is to set st_table::maybe_null to 'true' only for those tables which are used in outer join. mysql-test/r/select.result: test result mysql-test/t/select.test: test case sql/sql_select.cc: Table could be marked dependent because it is either 1) an inner table of an outer join, or 2) it is a part of STRAIGHT_JOIN. In case of STRAIGHT_JOIN table->maybe_null should not be assigned. The fix is to set st_table::maybe_null to 'true' only for those tables which are used in outer join. sql/sql_select.h: added comment
-
Sergey Glukhov authored
init user->user struct with thd->security_ctx->priv_user context if user->user is not initializied mysql-test/r/grant.result: test result mysql-test/t/grant.test: test case sql/set_var.cc: init user->user struct with thd->security_ctx->priv_user context if user->user is not initializied
-
Sergey Glukhov authored
replace wild_case_compare with my_wildcmp which is multibyte safe function mysql-test/r/lowercase_utf8.result: test result mysql-test/t/lowercase_utf8-master.opt: test case mysql-test/t/lowercase_utf8.test: test case sql/sql_show.cc: replace wild_case_compare with my_wildcmp which is multibyte safe function
-
Sergey Glukhov authored
-
- 23 Dec, 2008 1 commit
-
-
Sergey Glukhov authored
The problem is that we cannot insert new record into memory table when table size exceeds max memory table size. The fix is to use schema_table_store_record() function which converts memory table into MyISAM in case of table size exceeding. Note: There is no test case for this bug, the reason is that 1. The code that was added already is checked(i.e. works) with existing tests 2. Correct work of schema_table_store_record() is checked with other test cases (information_schema tests) So new code is fully covered with existing test cases. sql/mysql_priv.h: make schema_table_store_record() function global sql/sql_acl.cc: The problem is that we cannot insert new record into memory table when table size exceeds max memory table size. The fix is to use schema_table_store_record() function which converts memory table into MyISAM in case of table size exceeding. sql/sql_show.cc: make schema_table_store_record() function global
-