- 12 Aug, 2008 7 commits
-
-
Marc Alff authored
-
Marc Alff authored
This fix is for 5.1 only : back porting the 6.0 patch manually The parser code in sql/sql_yacc.yy needs to be more robust to out of memory conditions, so that when parsing a query fails due to OOM, the thread gracefully returns an error. Before this fix, a new/alloc returning NULL could: - cause a crash, if dereferencing the NULL pointer, - produce a corrupted parsed tree, containing NULL nodes, - alter the semantic of a query, by silently dropping token values or nodes With this fix: - C++ constructors are *not* executed with a NULL "this" pointer when operator new fails. This is achieved by declaring "operator new" with a "throw ()" clause, so that a failed new gracefully returns NULL on OOM conditions. - calls to new/alloc are tested for a NULL result, - The thread diagnostic area is set to an error status when OOM occurs. This ensures that a request failing in the server properly returns an ER_OUT_OF_RESOURCES error to the client. - OOM conditions cause the parser to stop immediately (MYSQL_YYABORT). This prevents causing further crashes when using a partially built parsed tree in further rules in the parser. No test scripts are provided, since automating OOM failures is not instrumented in the server. Tested under the debugger, to verify that an error in alloc_root cause the thread to returns gracefully all the way to the client application, with an ER_OUT_OF_RESOURCES error.
-
Davi Arnaut authored
-
Davi Arnaut authored
-
Davi Arnaut authored
-
Davi Arnaut authored
-
Davi Arnaut authored
-
- 11 Aug, 2008 13 commits
-
-
Davi Arnaut authored
Post-merge fix: mysql_client_test.c is compiled by C compilers and some C compilers don't support mixed declarations and code and it's explicitly forbidden by ISO C90. tests/mysql_client_test.c: Don't mix declarations and code.
-
Marc Alff authored
Note: NULL merge of sql/sql_yacc.yy, the fix for bug#38296 will be provided separately for 5.1
-
Marc Alff authored
-
Marc Alff authored
Fixed missing DBUG_RETURN in the function find_key_block
-
Chad MILLER authored
-
Marc Alff authored
This fix is for 5.0 only : back porting the 6.0 patch manually The parser code in sql/sql_yacc.yy needs to be more robust to out of memory conditions, so that when parsing a query fails due to OOM, the thread gracefully returns an error. Before this fix, a new/alloc returning NULL could: - cause a crash, if dereferencing the NULL pointer, - produce a corrupted parsed tree, containing NULL nodes, - alter the semantic of a query, by silently dropping token values or nodes With this fix: - C++ constructors are *not* executed with a NULL "this" pointer when operator new fails. This is achieved by declaring "operator new" with a "throw ()" clause, so that a failed new gracefully returns NULL on OOM conditions. - calls to new/alloc are tested for a NULL result, - The thread diagnostic area is set to an error status when OOM occurs. This ensures that a request failing in the server properly returns an ER_OUT_OF_RESOURCES error to the client. - OOM conditions cause the parser to stop immediately (MYSQL_YYABORT). This prevents causing further crashes when using a partially built parsed tree in further rules in the parser. No test scripts are provided, since automating OOM failures is not instrumented in the server. Tested under the debugger, to verify that an error in alloc_root cause the thread to returns gracefully all the way to the client application, with an ER_OUT_OF_RESOURCES error.
-
Chad MILLER authored
-
Chad MILLER authored
-
Davi Arnaut authored
client/mysql_upgrade.c: Remove Remove unused variable.
-
Davi Arnaut authored
client/mysql_upgrade.c: Silence warning due to type mismatch.
-
Kristofer Pettersson authored
-
Kristofer Pettersson authored
-
Kristofer Pettersson authored
Server side cursors were not initialized properly and this caused a reference to uninitialized memory.
-
- 07 Aug, 2008 4 commits
-
-
Chad MILLER authored
-
Chad MILLER authored
-
Chad MILLER authored
running on Windows We used two OS-specific methods of looking up the executable name, which don't work outside of those two kinds of OSes (Linux+Solaris and Windows). We assume that if the user ran this program with a certain name, we can run the other sibling programs with a similar name. (re-patch in bzr)
-
Davi Arnaut authored
Post-merge fix: remove spurious semicolon that caused the function to return failure regardless of the outcome. sql/sql_parse.cc: Remove spurious semicolon.
-
- 06 Aug, 2008 5 commits
-
-
Chad MILLER authored
-
Chad MILLER authored
Fall back to "find" if bzr is unavailable. Don't fail for paths that have spaces in them.
-
Chad MILLER authored
-
Chad MILLER authored
bk sfiles -> bzr ls
-
Kristofer Pettersson authored
-
- 04 Aug, 2008 1 commit
-
-
Kristofer Pettersson authored
-
- 01 Aug, 2008 1 commit
-
-
Davi Arnaut authored
Post-merge fix: Alter linking order so that the thread linking flags appear last in the list. This needs to be done this way because some linkers will not search the thread archive again if a undefined symbol (pthread_kill in this case) appears later. client/Makefile.am: Link mysys before thread libs.
-
- 31 Jul, 2008 2 commits
-
-
Georgi Kodinov authored
-
Georgi Kodinov authored
Reset session sql_mode before creating system tables as it is done in the mysql_fix_privilege_tables.sql script. scripts/mysql_system_tables.sql: reset sql mode
-
- 30 Jul, 2008 1 commit
-
-
Georgi Kodinov authored
min() and max() functions are implemented in MySQL as macros. This means that max(a,b) is expanded to: ((a) > (b) ? (a) : (b)) Note how 'a' is quoted two times. Now imagine 'a' is a recursive function call that's several 10s of levels deep. And the recursive function does max() with a function arg as well to dive into recursion. This means that simple function call can take most of the clock time. Identified and fixed several such calls to max()/min() : including the IF() sql function implementation. mysql-test/r/func_if.result: Bug#37662 test case mysql-test/t/func_if.test: Bug#37662 test case sql/item.cc: Bug#37662 don't call expensive functions as arguments to min/max sql/item_cmpfunc.cc: Bug#37662 don't call expensive functions as arguments to min/max sql/item_func.cc: Bug#37662 don't call expensive functions as arguments to min/max
-
- 29 Jul, 2008 4 commits
-
-
Kristofer Pettersson authored
Community contribution fix for Serbian translation in error message list.
-
Kristofer Pettersson authored
Fixed typo and removed duplicate call to get_current_user.
-
Kristofer Pettersson authored
-
Alexander Barkov authored
config/ac-macros/character_sets.m4 didn't mention hungarian collations in the UTF8 and UCS2 lists.
-
- 28 Jul, 2008 1 commit
-
-
Igor Babaev authored
-
- 26 Jul, 2008 1 commit
-
-
Igor Babaev authored
Calling List<Cached_item>::delete_elements for the same list twice caused a crash of the server in the function JOIN::cleaunup. Ensured that delete_elements() in JOIN::cleanup would be called only once. mysql-test/r/subselect.result: Added a test case for bug #38191. mysql-test/t/subselect.test: Added a test case for bug #38191. sql/sql_select.cc: Fixed bug #38191. Ensured that delete_elements() in JOIN::cleanup would be called only once.
-