- 01 Jun, 2010 15 commits
-
-
Alfranio Correia authored
-
Alfranio Correia authored
breaks When a "CREATE TEMPORARY TABLE SELECT * FROM" was executed the OPTION_KEEP_LOG was not set into the thd->variables.option_bits. For that reason, if the transaction had updated only transactional engines and was rolled back at the end (.e.g due to a deadlock) the changes were not written to the binary log, including the creation of the temporary table. To fix the problem, we have set the OPTION_KEEP_LOG into the thd->variables.option_bits when a "CREATE TEMPORARY TABLE SELECT * FROM" is executed.
-
Alfranio Correia authored
-
Alexander Nozdrin authored
-
Alexander Nozdrin authored
Due to a BZR bug, that merge was done by the following command: bzr merge -r 'revid:tor.didriksen@sun.com-20100527074248-6qtv0p1ugy6o1hjo..' <mysql-trunk-bugfixing path>
-
Marko Mäkelä authored
------------------------------------------------------------ revno: 3490 revision-id: marko.makela@oracle.com-20100601120751-1uq7bbta5n7ts0qr parent: marko.makela@oracle.com-20100601120521-q48hk05ne4j1s2o0 committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2010-06-01 15:07:51 +0300 message: Minor cleanup. lock_rec_unlock(): Cache first_lock and rewrite while() loops as for(). btr_cur_optimistic_update(): Use common error handling return. row_create_prebuilt(): Add Valgrind instrumentation.
-
Marko Mäkelä authored
------------------------------------------------------------ revno: 3488 revision-id: marko.makela@oracle.com-20100601103738-upm8awahesmeh9dr parent: vasil.dimov@oracle.com-20100531163540-9fu3prbn2asqwdi5 committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2010-06-01 13:37:38 +0300 message: Bug#53812: assert row/row0umod.c line 660 in txn rollback after crash recovery row_undo_mod_upd_exist_sec(): Tolerate a failure to build the index entry for a DYNAMIC or COMPRESSED table during crash recovery.
-
Marko Mäkelä authored
------------------------------------------------------------ revno: 3478.1.3 revision-id: marko.makela@oracle.com-20100525123748-pmpehbg29oyhc1ns parent: marko.makela@oracle.com-20100524114349-5kaw52sz0yh4szkb committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2010-05-25 15:37:48 +0300 message: Suppress bogus Valgrind warnings about buf_buddy_relocate() accessing uninitialized memory in Valgrind-instrumented builds.
-
Marko Mäkelä authored
------------------------------------------------------------ revno: 3478.1.4 revision-id: marko.makela@oracle.com-20100525125352-hgafpmqhrrj7pv5i parent: marko.makela@oracle.com-20100525123748-pmpehbg29oyhc1ns committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Tue 2010-05-25 15:53:52 +0300 message: row_search_for_mysql(): Add assertions to track down Bug #53627.
-
Jonathan Perkin authored
-
Jonathan Perkin authored
previous. Convert some shell bits to standard 2-space indent, 80 columns, etc.
-
He Zhenxing authored
-
He Zhenxing authored
Check the length and use strncpy to make the code safer.
-
He Zhenxing authored
Check the length and use strncpy to make the code safer. plugin/semisync/semisync_master.cc: replace strcpy with strncpy to make the code safer
-
Alexander Nozdrin authored
-
- 31 May, 2010 7 commits
-
-
Vasil Dimov authored
Destroy the rw-lock object before freeing the memory it is occupying. If we do not do this, then the mutex that is contained in the rw-lock object btr_search_latch_temp->mutex gets "freed" and subsequently mutex_free() from sync_close() hits a mutex whose memory has been freed and crashes. Approved by: Heikki (via IRC) Discussed with: Calvin
-
Alexander Nozdrin authored
- revid:sp1r-svoj@mysql.com/june.mysql.com-20080324111246-00461 - revid:sp1r-svoj@mysql.com/june.mysql.com-20080414125521-40866 BUG#35274 - merge table doesn't need any base tables, gives error 124 when key accessed SELECT queries that use index against a merge table with empty underlying tables list may return with error "Got error 124 from storage engine". The problem was that wrong error being returned. mysql-test/r/merge.result: Backport of - revid:sp1r-svoj@mysql.com/june.mysql.com-20080324111246-00461 - revid:sp1r-svoj@mysql.com/june.mysql.com-20080414125521-40866 A test case for BUG#35274. Modified a test case according to fix for BUG#35274. Key based reads are now allowed for merge tables with no underlying tables defined. mysql-test/t/merge.test: Backport of - revid:sp1r-svoj@mysql.com/june.mysql.com-20080324111246-00461 - revid:sp1r-svoj@mysql.com/june.mysql.com-20080414125521-40866 A test case for BUG#35274. Modified a test case according to fix for BUG#35274. Key based reads are now allowed for merge tables with no underlying tables defined. storage/myisammrg/myrg_queue.c: Backport of - revid:sp1r-svoj@mysql.com/june.mysql.com-20080324111246-00461 - revid:sp1r-svoj@mysql.com/june.mysql.com-20080414125521-40866 Return "end of file" error instead of "wrong index" error when we got a merge table with empty underlying tables list. In 5.1 we cannot rely on info->open_tables value when checking if a merge table has no underlying tables defined. Use info->tables instead.
-
Gleb Shchepa authored
when it should use index Sometimes the LEFT/RIGHT JOIN with an empty table caused an unnecessary filesort. Sample query, where t1.i1 is indexed and t3 is empty: SELECT t1.*, t2.* FROM t1 JOIN t2 ON t1.i1 = t2.i2 LEFT JOIN t3 ON t2.i2 = t3.i3 ORDER BY t1.i1 LIMIT 5; The server erroneously used an item of empty outer-joined table as a common constant of a Item_equal (multi-equivalence expression). By the fix for the bug 16590 the constant status of such an item has been propagated to st_table::const_key_parts map bits related to other Item_equal argument-related key parts (those are obviously not constant in our case). As far as test_if_skip_sort_order function skips constant prefixes of testing keys, this caused an ignorance of available indices, since some prefixes were marked as constant by mistake. mysql-test/r/order_by.result: Test case for bug #38745. mysql-test/t/order_by.test: Test case for bug #38745. sql/item.h: Bug #38745: MySQL 5.1 optimizer uses filesort for ORDER BY when it should use index Item::is_outer_field() has been added and overloaded for Item_field and Item_ref classes. sql/item_cmpfunc.cc: Bug #38745: MySQL 5.1 optimizer uses filesort for ORDER BY when it should use index Item_equal::update_const() and Item_equal::update_used_tables() have been updated to not take into account the constantness of outer-joined table items.
-
Davi Arnaut authored
-
Tor Didriksen authored
Backport from mysql-pe (of those parts which have not been upmerged from 5.1) sql/field.cc: Local scope variable or method argument same as class attribute. sql/item.cc: Rename auto variable to avoid name clash. sql/item.h: Item_ref::basic_const_item had wrong signature (missing const) and was thus never called. sql/partition_info.cc: Rename, to avoid name clashes. sql/sql_load.cc: Rename, to avoid name clashes.
-
Vasil Dimov authored
-
Sergey Glukhov authored
-
- 28 May, 2010 11 commits
-
-
Davi Arnaut authored
Reorganize function to reflect that it does not actually uses curses and that there is no curses variant.
-
Davi Arnaut authored
client/mysql.cc: Remove unused functions. client/sql_string.cc: Remove unused functions. include/my_pthread.h: Remove unused prototype. mysys/my_pthread.c: Remove unused function. sql/lock.cc: Remove unused function. sql/lock.h: Remove unused and duplicated prototypes. sql/sql_class.h: Removed unused variables. sql/sql_const.h: Remove unused defines. sql/sql_priv.h: Remove unused defines. sql/sql_string.cc: Remove unused prototype. sql/thr_malloc.cc: Remove unused function. sql/thr_malloc.h: Remove unused prototype. storage/myisam/CMakeLists.txt: Remove obsolete fulltext file. storage/myisam/Makefile.am: Remove obsolete files (were already commented out). storage/myisam/ft_eval.c: Remove obsolete fulltext file. storage/myisam/ft_eval.h: Remove obsolete fulltext file. storage/myisam/ft_stem.c: Remove obsolete fulltext file. storage/myisam/ft_test1.c: Remove obsolete fulltext file. storage/myisam/ft_test1.h: Remove obsolete fulltext file.
-
Davi Arnaut authored
-
Davi Arnaut authored
-
Davi Arnaut authored
Formatting cleanup: removing tabs and trailing spaces to conform to MySQL Internals Coding Guidelines.
-
unknown authored
The problem is that if a NULL is stored in an Item_cache_decimal object, the associated my_decimal object is not initialized. However, it is still accessed when val_int() is called. The fix is to check for null_value within val_int(), and return without accessing the my_decimal object when the cached value is NULL. Bug#52122 reports the same issue for val_real(), and this patch also includes fixes for val_real() and val_str() and corresponding test cases from that bug report. Also, NULL is returned from val_decimal() when value is null. This will avoid that callers access an uninitialized my_decimal object. Made similar changes to all other Item_cache classes. Now all val_* methods should return a well defined value when actual value is NULL. mysql-test/r/type_decimal.result: Updated result file with test cases for Bug#52168 and Bug#52122. mysql-test/t/type_decimal.test: Added test cases for Bug#52168 and Bug#52122. sql/item.cc: In Item_cache_*::val_* methods, return a well defined value when actual value is NULL. This is especially important for Item_cache_decimal since otherwise one risk accessing an uninitialized my_decimal object. sql/item.h: Added method Item_cache::has_value() which returns TRUE if cache object contains a non-null value.
-
Vasil Dimov authored
-
Jonathan Perkin authored
-
Jonathan Perkin authored
-
Calvin Sun authored
r3119 does not prevent the crash even the test is disabled. The crash occurs during shutdown.
-
Alexander Nozdrin authored
-
- 27 May, 2010 7 commits
-
-
Vasil Dimov authored
consecutive_ios[0] cannot be NULL when slot is assigned.
-
Joerg Bruehe authored
is not needed any more with current versions of FreeBSD. (Entries 52410 and 52412 in the Bug DB) That change is based on Dan Nelson replying on the FreeBSD mailing list, freebsd-questions@freebsd.org in a thread running from 2010-Apr-29 to 2010-May-1 titled "Need info about FreeBSD and interrupted system calls for MySQL code" Also, ensure the cmake settings correspond to the autotools ones: Add "HAVE_BROKEN_REALPATH" to cmake. cmake/os/FreeBSD.cmake: With current versions of FreeBSD, threading is not done on the user-level any more, so the huge "net retry count" is not needed any more. However, it is still being kept as a comment for now, so that it can be re-activated should the need arise. In addition, set "HAVE_BROKEN_REALPATH" to completely mirror the autotools path. configure.in: With current versions of FreeBSD, threading is not done on the user-level any more, so the huge "net retry count" is not needed any more. This definitely holds for FreeBSD version 6 and up. Adapt the informational messages to the path taken.
-
Inaam Rana authored
list a thread doing a wait_ex as an s-lock waiter.
-
Sergey Glukhov authored
For BINARY(N) strip trailing zeroes to make the error message nice-looking mysql-test/r/errors.result: test case mysql-test/r/type_binary.result: result fix mysql-test/t/errors.test: test case sql/key.cc: For BINARY(N) strip trailing zeroes to make the error message nice-looking
-
Sergey Glukhov authored
We should avoid any SHARE fields assignments as this is shared structure and assignments may affect other therads. To avoid this copy of SHARE struct is created and stored into TABLE struct which is used in get_schema_coulumns_record later. mysql-test/r/mdl_sync.result: test case mysql-test/t/mdl_sync.test: test case sql/sql_show.cc: We should avoid any SHARE fields assignments as this is shared structure and assignments may affect other therads. To avoid this copy of SHARE struct is created and stored into TABLE struct which is used in get_schema_coulumns_record later.
-
Alfranio Correia authored
The thd->variables.option_bits & OPTION_BIN_LOG is currently abused: it's both a system variable and an implementation switch. The current approach to this option bit breaks the session variable encapsulation. Besides it is allowed to change @@session.sql_bin_log within a transaction what may lead to not correctly logging a transaction. To fix the problems, we created a thd->variables variable to represent the "sql_log_bin" and prohibited its update inside a transaction or sub-statement. mysql-test/suite/binlog/r/binlog_stm_unsafe_warning.result: Updated result file. The reason the warnings are removed is related to BUG#50312. mysql-test/suite/binlog/r/binlog_switch_inside_trans.result: Checks when is possible to change the option @@session.sql_log_bin. mysql-test/suite/binlog/t/binlog_switch_inside_trans.test: Checks when is possible to change the option @@session.sql_log_bin. mysql-test/suite/rpl/r/rpl_non_direct_stm_mixing_engines.result: Updated the result file with warnings that were being printed due to the wrong use of the thd->variables.option_bits and sql_log_bin_top_level variables. mysql-test/suite/rpl/r/rpl_stm_mixing_engines.result: Updated the result file with warnings that were being printed due to the wrong use of the thd->variables.option_bits and sql_log_bin_top_level variables. sql/share/errmsg-utf8.txt: Introduces two error messages to notify that the @@session.sql_log_bin cannot be changed inside a sub-statement or transaction. sql/sql_base.cc: Removes the variable sql_log_bin_toplevel and uses the session variable sql_log_bin. sql/sql_class.cc: Replaces the variable sql_log_bin_toplevel by the (variables.option_bits & OPTION_BIN_LOG). sql/sql_class.h: Removes the variable sql_log_bin_toplevel and creates a session variable sql_log_bin. sql/sys_vars.cc: Checks when the sql_log_bin can be correctly updated.
-
Vasil Dimov authored
-