| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| | |
Lifted the limitation that hash join could not be used over
varchar fields with non-binary collation.
|
| | |
|
|\ \
| |/
|/|
| | |
- Merge with 5.3-main
|
| |
| |
| |
| |
| | |
- Fixes for the second fix: take into account case where we don't need to save/restore the scan.
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
- Address Monty's review feedback, portion 3
|
| |
| |
| |
| | |
- Address Monty's review feedback, portion 2
|
| |
| |
| |
| | |
- Better warnings
|
| |
| |
| |
| | |
- Address review feedback: change return type of RANGE_SEQ_IF::next()
|
| |\ |
|
| | |
| | |
| | |
| | | |
pointers.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
join_cache_level=5
- 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).
|
| | |
| | |
| | |
| | |
| | |
| | | |
maria-5.3-dsmrr-cpk
- Testcase (but iself is no longer repeatable)
|
| | |
| | |
| | |
| | |
| | |
| | | |
maria-5.3-dsmrr-cpk
- Testcase (the bug itself was fixed by development on BKA side)
|
| | |
| | |
| | |
| | |
| | |
| | | |
- Address Monty's review feedback, part 6: rename "handler *h" variable in all
DS-MRR classes to something else.
|
| | | |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
- Address Monty's review feedback, part 5
|
| | | |
| | | |
| | | |
| | | |
| | | | |
- dodge some bug in mysql-test-run that makes it to consider multiple
statements as one (most likely it doesn't understand quotes in /* comments */)
|
| | |/ |
|
| | | |
|
| | |\ |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
subsequent asserts have the wrong meaning.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
- Address Monty's review feedback, part 4
|
| | | |
| | | |
| | | |
| | | | |
- Address Monty's review feedback, part 3
|
| | | |
| | | |
| | | |
| | | |
| | | | |
- Address Monty's review feedback, part 1
- Fix buildbot failure
|
| | | |
| | | |
| | | |
| | | | |
- Address Monty's review feedback, part 1
|
| | | | |
|
| | |\ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`!know_key_tuple_params
- Make sure we have enough space for both rowids and keys.
|
| | | | | |
|
| | | |\ \ |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
buffer, attempt 4
- Disable identical key handling optimization when
IndexConditionPushdown is used
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- Code cleanup
- Always propagate the error code we got from storage engine all the way up
|
| | | |\ \ \
| | | | |/ / |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- Update test results
- Handle the case where MRR implementation doesn't get any key tuples at all
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- A certain problem with NULLs filtering was solved in two different
ways. Use MWL#128's approach (it's more generic) and rollback DS-MRR's.
|