- 03 Jan, 2011 1 commit
-
-
Michael Widenius authored
It includes speed optimizations for HANDLER READ by caching as much as possible in HANDLER OPEN Other things: - Added mysqld option --disable-thr-alarm to be able to benchmark things without thr_alarm - Changed 'Locked' state to 'System lock' and 'Table lock' (these where used in the code but never shown to end user) - Better error message if mysql_install_db.sh fails - Moved handler function prototypes to sql_handler.h - Remove not anymore used 'thd->locked' member include/thr_alarm.h: Added my_disable_thr_alarm include/thr_lock.h: Add new member to THR_LOCK_DATA to remember original lock type state. This is needed as thr_unlock() resets type to TL_UNLOCK. mysql-test/include/check_no_concurrent_insert.inc: Locked -> Table lock mysql-test/include/handler.inc: Locked -> Table lock mysql-test/r/handler_innodb.result: Updated results for new tests mysql-test/r/handler_myisam.result: Updated results for new tests mysql-test/r/sp-threads.result: Locked -> Table lock mysql-test/suite/binlog/t/binlog_stm_row.test: Locked -> Table lock mysql-test/suite/funcs_1/datadict/processlist_val.inc: Locked -> Table lock mysql-test/suite/pbxt/t/lock_multi.test: Locked -> Table lock mysql-test/suite/sys_vars/r/concurrent_insert_func.result: Locked -> Table lock mysql-test/suite/sys_vars/t/concurrent_insert_func.test: Locked -> Table lock mysql-test/suite/sys_vars/t/delayed_insert_limit_func.test: Locked -> Table lock mysql-test/suite/sys_vars/t/query_cache_wlock_invalidate_func.test: Locked -> Table lock mysql-test/suite/sys_vars/t/sql_low_priority_updates_func.test: Locked -> Table lock mysql-test/t/insert_notembedded.test: Locked -> Table lock mysql-test/t/lock_multi.test: Locked -> Table lock mysql-test/t/merge-big.test: Locked -> Table lock mysql-test/t/multi_update.test: Locked -> Table lock mysql-test/t/query_cache_28249.test: Locked -> Table lock mysql-test/t/sp_notembedded.test: Locked -> Table lock mysql-test/t/sp_sync.test: Locked -> Table lock mysql-test/t/status.test: Locked -> Table lock mysql-test/t/trigger_notembedded.test: Locked -> Table lock mysys/thr_alarm.c: Added option to disable thr_alarm mysys/thr_lock.c: Detect loops scripts/mysql_install_db.sh: Give better error message if something goes wrong sql/Makefile.am: Added sql_handler.h sql/lock.cc: Split functions to allow one to cache value if store_lock() (for HANDLER functions). - Split mysql_lock_tables() into two functions, where first one allocates MYSQL_LOCK and other other one uses it. - Made get_lock_data() an external function. - Added argument to mysql_unlock_tables() to not free sql_lock. - Added argument to reset_lock_data() to reset lock structure to initial state (as after get_lock_data()) sql/mysql_priv.h: Moved handler function prototypes to sql_handler.h Added new lock functions. sql/mysqld.cc: Added --thread-alarm startup option sql/net_serv.cc: Don't call vio_blocking() if not needed sql/sql_base.cc: include sql_handler.h sql/sql_class.cc: include sql_handler.h Remove not anymore used 'thd->locked' member sql/sql_class.h: Remove not anymore used 'thd->locked' member sql/sql_db.cc: include sql_handler.h sql/sql_delete.cc: include sql_handler.h sql/sql_handler.cc: Rewrote all code to use SQL_HANDLER instead of TABLE_LIST (original interface) Rewrote mysql_ha_open() to cache all things from TABLE_LIST and items for field list, where etc. In mysql_ha_open() also cache MYSQL_LOCK structure from get_lock_data(). Split functions into smaller sub functions (needed to be able to implement mysql_ha_read_prepare()) Added mysql_ha_read_prepare() to allow one to prepare HANDLER READ. sql/sql_handler.h: Interface to sql_handler.cc sql/sql_parse.cc: include sql_handler.h sql/sql_prepare.cc: Added mysql_test_handler_read(), prepare for HANDLER READ sql/sql_rename.cc: include sql_handler.h sql/sql_show.cc: Removed usage of thd->locked sql/sql_table.cc: include sql_handler.h sql/sql_trigger.cc: include sql_handler.h
-
- 26 Dec, 2010 1 commit
-
-
Igor Babaev authored
-
- 25 Dec, 2010 1 commit
-
-
Igor Babaev authored
-
- 24 Dec, 2010 1 commit
-
-
Igor Babaev authored
In some cases the function make_cond_for_index() was mistaken when detecting index only pushdown conditions for a table: a pushdown condition that was not index only could be marked as such. It happened because the procedure erroneously used the markers for index only conditions that remained from the calls of this function that extracted the index conditions for other tables. Fixed by erasing index only markers as soon as they are need anymore.
-
- 22 Dec, 2010 1 commit
-
-
Igor Babaev authored
Lifted the limitation that hash join could not be used over varchar fields with non-binary collation.
-
- 21 Dec, 2010 2 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Merge with 5.3-main
-
- 20 Dec, 2010 1 commit
-
-
Sergey Petrunya authored
- Fixes for the second fix: take into account case where we don't need to save/restore the scan.
-
- 19 Dec, 2010 1 commit
-
-
Sergey Petrunya authored
Switch from "Disable identical key handling optimization when IndexConditionPushdown is used" approach To an approach where we save/restore index tuple and so can use index condition pushdown.
-
- 17 Dec, 2010 2 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
- 16 Dec, 2010 3 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
- Address Monty's review feedback, portion 3
-
Sergey Petrunya authored
- Address Monty's review feedback, portion 2
-
- 15 Dec, 2010 1 commit
-
-
Sergey Petrunya authored
- Better warnings
-
- 14 Dec, 2010 1 commit
-
-
unknown authored
Analysis: The assert failed because st_select_lex::print() was called for subqueries as follows: Item_subselect::print() -> subselect_single_select_engine::print() -> st_select_lex::print() It was Item_subselect::fix_fields() that set the thd by calling set_thd(), so when this print() was called before fix_fields(), subselect_engine::thd was NULL. Solution: The patch makes all constructors of all subselect_engine classes to take a THD parameter. The default subselect_single_select_engine engine is created early during parse time, in the Item_subselect::init call, so we pass the correct THD object already at this point.
-
- 13 Dec, 2010 2 commits
-
-
Sergey Petrunya authored
- Address review feedback: change return type of RANGE_SEQ_IF::next()
-
Sergey Petrunya authored
-
- 11 Dec, 2010 2 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
-
- 10 Dec, 2010 1 commit
-
-
Sergey Petrunya authored
pointers.
-
- 08 Dec, 2010 2 commits
-
-
Sergey Petrunya authored
- Make Mrr_ordered_index_reader() save the rowid across scan interruptions Also - Fix compiler warning for setup_buffer_sizes() - Add commented key_copy/key_restore for better handling of a similar issue with index record being destroyed by scan interruption (which causes incorrect evaluation of pushed index condition later on).
-
Michael Widenius authored
Fixed compiler warning mysql-test/r/named_pipe.result: Fixed test results for windows builds mysql-test/r/shm.result: Fixed test results for windows builds sql/item_cmpfunc.cc: Fixed compiler warning about uninitialized "first"
-
- 06 Dec, 2010 12 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Problem : mtr reports test failure because it sees [ERROR] mysqld got exception 0x80000003 ; in the .err file The exception comes from DBUG_EXECUTE_IF (.. abort()) Fix: use DBUG_ABORT instead of abort() - it does not throw any exceptions.
-
Vladislav Vaintroub authored
The reason for failure is that DBUG_EXECUTE_IF in mi_open() only worked for Unix-formatted file names, due to strstr(name, "/crashed") The fix change strstr() above to strstr(name, "crashed"), to it can work with Windows file names as well.
-
Sergey Petrunya authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Reason: inconsistent compilation, federatedx is compiled without SAFEMALLOC flag, while anything else is compiled with SAFEMALLOC. As a consequence, my_hash_init used inside federatedx initialization does not provide correct caller info parameters (file, line) , so they are initialized with whatever is on stack. When info about allocated memory is output in COM_DEBUG command, the server crashes trying to output string starting at 0xcccccccccccccccc. The fix is to remove SAFEMALLOC preprocessor flags from every CMakeLists.txt, except the top-level one. Also, SAFEMALLOC is not defined by default now, instead there is WITH_DEBUG_FULL CMake option which adds -DSAFEMALLOC to C and C++ flags in debug compilation. This option is off by default, because 1) Debug C runtime already has heap debugging builtin with overwrite and leak detection 2)safemalloc considerably slows down the tests. Note also that - SAFEMALLOC is gone in MySQL5.5 - On Windows, heap related overflows can also be found using free pageheap utility (that is also part of application verifier). This is even more efficient if there are no other layers on top of Windows heap allocator, e.g it is most efficient with release version.
-
Michael Widenius authored
-
Michael Widenius authored
-
Michael Widenius authored
- Fixed problem with oqgraph and 'make dist' Note that after this merge we have a problem show in join_outer where we examine too many rows in one specific case (related to BUG#57024). This will be fixed when mwl#128 is merged into 5.3.
-
- 05 Dec, 2010 3 commits
-
-
Michael Widenius authored
-
Michael Widenius authored
-
Michael Widenius authored
- Moved end_pagecache() to after maria_close() - Flush page cache before closing files (in maria_pack) Fixed test suite failure for PBXT mysql-test/suite/pbxt/r/select.result: We mask out the 'rows' column because it may differ from run to run mysql-test/suite/pbxt/t/select.test: We mask out the 'rows' column because it may differ from run to run storage/maria/maria_chk.c: Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache. storage/maria/maria_pack.c: Moved end_pagecache() to after maria_close() to not trigger end-consistency testing of pagecache. flush page cache before closing files.
-
- 04 Dec, 2010 2 commits
-
-
unknown authored
The assert removed because it do not take into account case when previous and this buffers used for first time but previous buffer was not sent to disk yet (i.e. previous buffer was never sent to disk yet).
-
Michael Widenius authored
-