- 16 Oct, 2007 3 commits
-
-
malff@lambda.hsd1.co.comcast.net. authored
into lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-28318-rework
-
malff@lambda.hsd1.co.comcast.net. authored
-
malff@lambda.hsd1.co.comcast.net. authored
The root cause of the issue was that the CREATE FUNCTION grammar, for User Defined Functions, was using the sp_name rule. The sp_name rule is intended for fully qualified stored procedure names, like either ident.ident, or just ident but with a default database implicitly selected. A UDF does not have a fully qualified name, only a name (ident), and should not use the sp_name grammar fragment during parsing. The fix is to re-organize the CREATE FUNCTION grammar, to better separate: - creating UDF (no definer, can have AGGREGATE, simple ident) - creating Stored Functions (definer, no AGGREGATE, fully qualified name) With the test case provided, another issue was exposed which is also fixed: the DROP FUNCTION statement was using sp_name and also failing when no database is implicitly selected, when droping UDF functions. The fix is also to change the grammar so that DROP FUNCTION works with both the ident.ident syntax (to drop a stored function), or just the ident syntax (to drop either a UDF or a Stored Function, in the current database)
-
- 15 Oct, 2007 1 commit
-
-
dkatz@damien-katzs-computer.local authored
into damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
-
- 12 Oct, 2007 2 commits
-
-
davi@moksha.com.br authored
into moksha.com.br:/Users/davi/mysql/mysql-5.0-runtime
-
davi@moksha.com.br authored
If mysql_lock_tables fails because the lock was aborted, we need to reset thd->some_tables_delete, otherwise we might loop indefinitely because handler's tables are not closed in a standard way, meaning that close_thread_tables() (which resets some_tables_deleted) is not used. This patch fixes sporadical failures of handler_myisam/innodb tests which were introduced by previous fix for this bug.
-
- 10 Oct, 2007 2 commits
-
-
dkatz@damien-katzs-computer.local authored
into damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
-
anozdrin/alik@station. authored
-
- 09 Oct, 2007 4 commits
-
-
into virtua-cwbas201-21-158-74.ctb.virtua.com.br:/Users/davi/mysql/push/mysql-5.0-runtime
-
Bug#29816 Syntactically wrong query fails with misleading error message The core problem is that an SQL-invoked function name can be a <schema qualified routine name> that contains no <schema name>, but the mysql parser insists that all stored procedures (function, procedures and triggers) must have a <schema name>, which is not true for functions. This problem is especially visible when trying to create a function or when a query contains a syntax error after a function call (in the same query), both will fail with a "No database selected" message if the session is not attached to a particular schema, but the first one should succeed and the second fail with a "syntax error" message. Part of the fix is to revamp the sp name handling so that a schema name may be omitted for functions -- this means that the internal function name representation may not have a dot, which represents that the function doesn't have a schema name. The other part is to place schema checks after the type (function, trigger or procedure) of the routine is known.
-
davi@moksha.com.br authored
into moksha.com.br:/Users/davi/mysql/push/bugs/31409-5.0
-
davi@moksha.local authored
This deadlock occurs when a client issues a HANDLER ... OPEN statement that tries to open a table that has a pending name-lock on it by another client that also needs a name-lock on some other table which is already open and associated to a HANDLER instance owned by the first client. The deadlock happens because the open_table() function will back-off and wait until the name-lock goes away, causing a circular wait if some other name-lock is also pending for one of the open HANDLER tables. Such situation, for example, can be easily repeated by issuing a RENAME TABLE command in such a way that the existing table is already open as a HANDLER table by another client and this client tries to open a HANDLER to the new table name. The solution is to allow handler tables with older versions (marked for flush) to be closed before waiting for the name-lock completion. This is safe because no other name-lock can be issued between the flush and the check for pending name-locks. The test case for this bug is going to be committed into 5.1 because it requires a test feature only avaiable in 5.1 (wait_condition).
-
- 08 Oct, 2007 3 commits
-
-
dkatz@damien-katzs-computer.local authored
into damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
-
anozdrin/alik@station. authored
-
anozdrin/alik@station. authored
-
- 07 Oct, 2007 1 commit
-
-
kostja@bodhi.(none) authored
into bodhi.(none):/opt/local/work/mysql-5.0-runtime
-
- 05 Oct, 2007 1 commit
-
-
msvensson@pilot.mysql.com authored
into pilot.mysql.com:/data/msvensson/mysql/my50-r-bug30992
-
- 04 Oct, 2007 6 commits
-
-
davi@moksha.local authored
into moksha.local:/Users/davi/mysql/push/mysql-5.0-runtime
-
davi@moksha.local authored
This bug is a symptom of the way handler's tables are managed. The most different aspect, compared to the conventional behavior, is that the handler's tables are long lived, meaning that their lifetimes are not bounded by the duration of the command that opened them. For this effect the handler code uses its own list (handler_tables instead of open_tables) to hold open handler tables so that the tables won't be closed at the end of the command/statement. Besides the handler_tables list, there is a hash (handler_tables_hash) which is used to associate handler aliases to tables and to refresh the tables upon demand (flush tables). The current implementation doesn't work properly with refreshed tables -- more precisely when flush commands are issued by other initiators. This happens because when a handler open or read statement is being processed, the associated table has to be opened or locked and, for this matter, the open_tables and handler_tables lists are swapped so that the new table being opened is inserted into the handler_tables list. But when opening or locking the table, if the refresh version is different from the thread refresh version then all used tables in the open_tables list (now handler_tables) are refreshed. In the "refreshing" process the handler tables are flushed (closed) without being properly unlinked from the handler hash. The current implementation also fails to properly discard handlers of dropped tables, but this and other problems are going to be addressed in the fixes for bugs 31397 and 31409. The chosen approach tries to properly save and restore the table state so that no table is flushed during the table open and lock operations. The logic is almost the same as before with the list swapping, but with a working glue code. The test case for this bug is going to be committed into 5.1 because it requires a test feature only avaiable in 5.1 (wait_condition).
-
joerg@trift2. authored
into trift2.:/MySQL/M50/push-5.0
-
anozdrin/alik@station. authored
This actually, fix for the patch for bug-27354. The problem with the patch was that Item_func_sp::used_tables() was updated, but Item_func_sp::const_item() was not. So, for Item_func_sp, we had the following inconsistency: - used_tables() returned RAND_TABLE, which means that the item can produce "random" results; - but const_item() returned TRUE, which means that the item is a constant one. The fix is to change Item_func_sp::const_item() behaviour: it must return TRUE (an item is a constant one) only if a stored function is deterministic and each of its arguments (if any) is a constant item.
-
jperkin@production.mysql.com authored
into production.mysql.com:/usersnfs/jperkin/bk/bug-27692/5.0
-
jperkin@production.mysql.com authored
were accidentally removed during a previous rototill of this code. Fixes bug#27692. While it can be argued we should strive to provide a 'secure by default' installation, this happens to be the setup currently documented in the manual as the default, so defer changes that improve security out of the box to a co-ordinated effort later on. For now, make a note about the test databases and anonymous user in mysql_install_db and recommend that mysql_secure_installation be ran for users wishing to remove these defaults. [..re-commit of previously lost change..]
-
- 03 Oct, 2007 1 commit
-
-
msvensson@pilot.mysql.com authored
It's not possible to use WaitForSingleObject to wait on a CRITICAL_SECTION, instead use the TryEnterCriticalSection function. - if "mutex" was already taken => return EBUSY - if "mutex" was aquired => return 0
-
- 02 Oct, 2007 1 commit
-
-
Updated variable size arrays to use vector like Jonas did for 5.1 so that my build would not break
-
- 01 Oct, 2007 5 commits
-
-
dkatz@damien-katzs-computer.local authored
into damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
-
dkatz@damien-katzs-computer.local authored
into damien-katzs-computer.local:/Users/dkatz/mysql-5.0-runtime
-
mats@kindahl-laptop.dnsalias.net authored
into kindahl-laptop.dnsalias.net:/home/bk/b30992-mysql-5.0-runtime
-
mats@kindahl-laptop.dnsalias.net authored
Adding support for correct handling of pthread_mutex_trylock() on Win32 systems as well as when using the safe mutexes.
-
joerg@trift2. authored
into trift2.:/MySQL/M50/push-5.0
-
- 28 Sep, 2007 2 commits
-
-
dkatz@damien-katzs-computer.local authored
Removed duplicate innodb variable from sys_variables array.
-
dkatz@damien-katzs-computer.local authored
Added #ifdef HAVE_SPATIAL around geometry related code.
-
- 27 Sep, 2007 2 commits
-
-
df@pippilotta.erinye.com authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
-
df@pippilotta.erinye.com authored
-
- 26 Sep, 2007 1 commit
-
-
- 25 Sep, 2007 1 commit
-
-
df@pippilotta.erinye.com authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
-
- 22 Sep, 2007 1 commit
-
-
jonathan@bagpuss.adsl.perkin.org.uk authored
cmake list are auto-generated and thus still required. Correct fix not yet known.
-
- 20 Sep, 2007 2 commits
-
-
gluh@mysql.com/eagle.(none) authored
-
gluh@mysql.com/eagle.(none) authored
added get_field_default_value() function which obtains default value from the field (used in store_create_info() & get_schema_column_record() functions)
-
- 19 Sep, 2007 1 commit
-
-
gluh@eagle.(none) authored
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
-