- 30 Jul, 2010 3 commits
-
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
****** This patch fixes the following bugs: - Bug#5889: Exit handler for a warning doesn't hide the warning in trigger - Bug#9857: Stored procedures: handler for sqlwarning ignored - Bug#23032: Handlers declared in a SP do not handle warnings generated in sub-SP - Bug#36185: Incorrect precedence for warning and exception handlers The problem was in the way warnings/errors during stored routine execution were handled. Prior to this patch the logic was as follows: - when a warning/an error happens: if we're executing a stored routine, and there is a handler for that warning/error, remember the handler, ignore the warning/error and continue execution. - after a stored routine instruction is executed: check for a remembered handler and activate one (if any). This logic caused several problems: - if one instruction generates several warnings (errors) it's impossible to choose the right handler -- a handler for the first generated condition was chosen and remembered for activation. - mess with handling conditions in scopes different from the current one. - not putting generated warnings/errors into Warning Info (Diagnostic Area) is against The Standard. The patch changes the logic as follows: - Diagnostic Area is cleared on the beginning of each statement that either is able to generate warnings, or is able to work with tables. - at the end of a stored routine instruction, Diagnostic Area is left intact. - Diagnostic Area is checked after each stored routine instruction. If an instruction generates several condition, it's now possible to take a look at all of them and determine an appropriate handler.
-
Alexander Nozdrin authored
-
- 29 Jul, 2010 16 commits
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Konstantin Osipov authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
-
Konstantin Osipov authored
-
Vasil Dimov authored
-
Vasil Dimov authored
-
Vasil Dimov authored
This is a null merge of the InnoDB changesets which get to trunk by manual porting and committing into mysql-trunk-innodb and then merging into mysql-trunk-bugfixing.
-
Vasil Dimov authored
-
Vasil Dimov authored
-
Vasil Dimov authored
-
Konstantin Osipov authored
the precursor patch for Bug#52044. When passing the TABLE instance for invalidation to the query cache, we didn't always have a valid share (in case of error). Make sure we invalidate the table using TABLE_LIST, not TABLE, object.
-
Alexander Barkov authored
Problem: The original patch didn't compile on debug_werror due to wrong format in printf("%d") for size_t variables. Fix: Adding cast to (int).
-
/*![:version:] Query Code */, where [:version:] is a sequence of 5 digits representing the mysql server version(e.g /*!50200 ... */), is a special comment that the query in it can be executed on those servers whose versions are larger than the version appearing in the comment. It leads to a security issue when slave's version is larger than master's. A malicious user can improve his privileges on slaves. Because slave SQL thread is running with SUPER privileges, so it can execute queries that he/she does not have privileges on master. This bug is fixed with the logic below: - To replace '!' with ' ' in the magic comments which are not applied on master. So they become common comments and will not be applied on slave. - Example: 'INSERT INTO t1 VALUES (1) /*!10000, (2)*/ /*!99999 ,(3)*/ will be binlogged as 'INSERT INTO t1 VALUES (1) /*!10000, (2)*/ /* 99999 ,(3)*/
-
- 28 Jul, 2010 7 commits
-
-
Gleb Shchepa authored
DELETE statement Single-table delete ordered by a field that has a hash-type index may cause an assertion failure or a crash. An optimization added by the fix for the bug 36569 forced the optimizer to use ORDER BY-compatible indices when applicable. However, the existence of unsorted indices (HASH index algorithm for some engines such as MEMORY/HEAP, NDB) was ignored. The test_if_order_by_key function has been modified to skip unsorted indices.
-
Konstantin Osipov authored
The failure was introduced by a precursor patch for the fix for Bug#52044. When opening tables for GRANT statement to check that subject columns exist, mysql_table_grant() would try to lock the tables, and thus start a transaction. This was unnecessary and lead to an assert.
-
Davi Arnaut authored
-
Alexander Nozdrin authored
to be more descriptive.
-
Jimmy Yang authored
to mysql-5.1-innodb plugin.
-
Vasil Dimov authored
-
Vasil Dimov authored
-
- 27 Jul, 2010 4 commits
-
-
Konstantin Osipov authored
-
Davi Arnaut authored
Workaround a interface problem with the atomic macros that was causing warnings. The correct type is retrieved using typeof if compiling with GCC.
-
Konstantin Osipov authored
Remove dead and unused code. Update to reflect the code review requests.
-
Konstantin Osipov authored
This patch also fixes Bug#55452 "SET PASSWORD is replicated twice in RBR mode". The goal of this patch is to remove the release of metadata locks from close_thread_tables(). This is necessary to not mistakenly release the locks in the course of a multi-step operation that involves multiple close_thread_tables() or close_tables_for_reopen(). On the same token, move statement commit outside close_thread_tables(). Other cleanups: Cleanup COM_FIELD_LIST. Don't call close_thread_tables() in COM_SHUTDOWN -- there are no open tables there that can be closed (we leave the locked tables mode in THD destructor, and this close_thread_tables() won't leave it anyway). Make open_and_lock_tables() and open_and_lock_tables_derived() call close_thread_tables() upon failure. Remove the calls to close_thread_tables() that are now unnecessary. Simplify the back off condition in Open_table_context. Streamline metadata lock handling in LOCK TABLES implementation. Add asserts to ensure correct life cycle of statement transaction in a session. Remove a piece of dead code that has also become redundant after the fix for Bug 37521.
-
- 26 Jul, 2010 4 commits
-
-
Davi Arnaut authored
Remove ASM for MC68000 and Vax.
-
Davi Arnaut authored
Remove 32-bit SPARC specific code.
-
Matthias Leich authored
into actual tree. No conflicts.
-
Davi Arnaut authored
The problem was that the optimize method of the ARCHIVE storage engine was not preserving the FRM embedded in the ARZ file when rewriting the ARZ file for optimization. The ARCHIVE engine stores the FRM in the ARZ file so it can be transferred from machine to machine without also copying the FRM -- the engine restores the embedded FRM during discovery. The solution is to copy over the FRM when rewriting the ARZ file. In addition, some initial error checking is performed to ensure garbage is not copied over.
-
- 28 Jul, 2010 1 commit
-
-
Luis Soares authored
-
- 26 Jul, 2010 5 commits
-
-
Sven Sandberg authored
-
Jimmy Yang authored
rb://408 approved by Sunny Bains
-
Sven Sandberg authored
-
Dmitry Lenev authored
table copy". This patch only adds test case as the bug itself was addressed by Ramil's fix for bug 50946 "fast index creation still seems to copy the table".
-
Alexander Nozdrin authored
-