- 08 Aug, 2008 1 commit
-
-
Timothy Smith authored
Bug#35220: ALTER TABLE too picky on reserved word "foreign" In ALTER TABLE, change the internal parser to search for ``FOREIGN[[:space:]]'' instead of only ``FOREIGN'' when parsing ALTER TABLE ... DROP FOREIGN KEY ...; otherwise it could be mistaken with ALTER TABLE ... DROP foreign_col; (This fix is already present in MySQL 5.1 and higher.)
-
- 31 Jul, 2008 2 commits
-
-
Timothy Smith authored
innodb-5.0-ss2475. Bug #34286 Assertion failure in thread 2816 in file .\row\row0sel.c line 3500 Since autoinc init performs a MySQL SELECT query to determine the auto-inc value, set prebuilt->sql_stat_start = TRUE so that it is performed like any normal SELECT, regardless of the context in which it was invoked. Bug #35352 If InnoDB crashes with UNDO slots full error the error persists on restart We've added a heuristic that checks the size of the UNDO slots cache lists (insert and upate). If either of cached lists has more than 500 entries then we add any UNDO slots that are freed, to the common free list instead of the cache list, this is to avoid the case where all the free slots end up in only one of the lists on startup after a crash. Tested with test case for 26590 and passes all mysql-test(s). Bug #36600 SHOW STATUS takes a lot of CPU in buf_get_latched_pages_number Fixed by removing the Innodb_buffer_pool_pages_latched variable from SHOW STATUS output in non-UNIV_DEBUG compilation.
-
Georgi Kodinov authored
Reset session sql_mode before creating system tables as it is done in the mysql_fix_privilege_tables.sql script.
-
- 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.
-
- 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.
-
- 24 Jul, 2008 1 commit
-
-
Davi Arnaut authored
-
- 23 Jul, 2008 1 commit
-
-
Georgi Kodinov authored
Range scan in descending order for c <= <col> <= c type of ranges was ignoring the DESC flag. However some engines like InnoDB have the primary key parts as a suffix for every secondary key. When such primary key suffix is used for ordering ignoring the DESC is not valid. But we generally would like to do this because it's faster. Fixed by performing only reverse scan if the primary key is used. Removed some dead code in the process.
-
- 22 Jul, 2008 1 commit
-
-
Kristofer Pettersson authored
-
- 21 Jul, 2008 1 commit
-
-
Kristofer Pettersson authored
-
- 24 Jul, 2008 1 commit
-
-
Kristofer Pettersson authored
If the server failed to expired log files during start up it could crash.
-
- 21 Jul, 2008 1 commit
-
-
Timothy Smith authored
-
- 19 Jul, 2008 2 commits
-
-
Timothy Smith authored
-
kent@mysql.com authored
-
- 18 Jul, 2008 2 commits
-
-
Georgi Kodinov authored
- Revert the fix for bug 33812 - fixed a win32 warning
-
Alexander Barkov authored
Problem: missing initialization, if the previous test fails leaving table t1, client_xml fails as well. Fix: adding initialization.
-
- 17 Jul, 2008 2 commits
-
-
Timothy Smith authored
Includes fix for Bug #38180, "options are read from ~/my.cnf instead of ~/.my.cnf"
-
Georgi Kodinov authored
Don't initalize federated if it's disabled by a command line option.
-
- 16 Jul, 2008 5 commits
-
-
kent.boortz@sun.com authored
-
Timothy Smith authored
Pull out some of unpack_dirname() into normalize_dirname(); this new function does not expand "~" to the home directory. Use this function in unpack_dirname(), and use it during init_default_directories() to remove duplicate entries without losing track of which directory is a user's home dir.
-
Marc Alff authored
Reverting the previous patch
-
Kristofer Pettersson authored
-
Jonathan Perkin authored
-
- 15 Jul, 2008 3 commits
-
-
Sergey Petrunia authored
-
Kristofer Pettersson authored
-
Sergey Petrunia authored
- In QUICK_INDEX_MERGE_SELECT::read_keys_and_merge: when we got table->sort from Unique, tell init_read_record() not to use rr_from_cache() because a) rowids are already sorted and b) it might be that the the data is used by filesort(), which will need record rowids (which rr_from_cache() cannot provide). - Fully de-initialize the table->sort read in QUICK_INDEX_MERGE_SELECT::get_next(). This fixes BUG#35477. (bk trigger: file as fix for BUG#35478).
-
- 14 Jul, 2008 3 commits
-
-
Marc Alff authored
-
Marc Alff authored
build) The crash was caused by freeing the internal parser stack during the parser execution. This occured only for complex stored procedures, after reallocating the parser stack using my_yyoverflow(), with the following C call stack: - MYSQLparse() - any rule calling sp_head::restore_lex() - lex_end() - x_free(lex->yacc_yyss), xfree(lex->yacc_yyvs) The root cause is the implementation of stored procedures, which breaks the assumption from 4.1 that there is only one LEX structure per parser call. The solution is to separate the LEX structure into: - attributes that represent a statement (the current LEX structure), - attributes that relate to the syntax parser itself (Yacc_state), so that parsing multiple statements in stored programs can create multiple LEX structures while not changing the unique Yacc_state. Now, Yacc_state and the existing Lex_input_stream are aggregated into Parser_state, a structure that represent the complete state of the (Lexical + Syntax) parser.
-
Joerg Bruehe authored
-
- 10 Jul, 2008 4 commits
-
-
Gleb Shchepa authored
-
Gleb Shchepa authored
-
Tatiana A. Nurnberg authored
-
Tatiana A. Nurnberg authored
offset for time part in UUIDs was 1/1000 of what it should be. In other words, offset was off. Also handle the case where we count into the future when several UUIDs are generated in one "tick", and then the next call is late enough for us to unwind some but not all of those borrowed ticks. Lastly, handle the case where we keep borrowing and borrowing until the tick-counter overflows by also changing into a new "numberspace" by creating a new random suffix.
-
- 09 Jul, 2008 6 commits
-
-
Gleb Shchepa authored
-
Matthias Leich authored
"funcs_2: The tests do not check if optional character sets exist." 2. Minor cleanup
-
Joerg Bruehe authored
-
Georgi Kodinov authored
-
Georgi Kodinov authored
-
kent@mysql.com authored
-
- 08 Jul, 2008 1 commit
-
-
Jonathan Perkin authored
-