Sergey Petrunya
3d698ac616
BUG#671361: virtual int Mrr_ordered_index_reader::refill_buffer(): Assertion `!know_key_tuple_params
...
- Make sure we have enough space for both rowids and keys.
2010-11-09 18:02:08 +02:00
Sergey Petrunya
0fb342ba56
BUG#670417: Diverging results in maria-5.3-mwl128-dsmrr-cpk with join buffer, attempt 4
...
- Disable identical key handling optimization when
IndexConditionPushdown is used
2010-11-08 20:37:01 +03:00
Sergey Petrunya
197c99427d
DS-MRR improvements
...
- Code cleanup
- Always propagate the error code we got from storage engine all the way up
2010-11-08 15:15:50 +03:00
Sergey Petrunya
d6ec99d0b6
Merge {DS-DRR improvements:code cleanup} into MWL#128+DS-MRR tree
2010-11-03 11:03:07 +03:00
Sergey Petrunya
c46450de72
Code cleanup
2010-11-03 00:09:28 +03:00
Sergey Petrunya
1654780f2d
Code cleanup
2010-11-02 23:25:35 +03:00
Sergey Petrunya
59db1d7a39
Address problems uncovered by buildbot
...
- Update test results
- Handle the case where MRR implementation doesn't get any key tuples at all
2010-11-02 19:32:26 +03:00
Sergey Petrunya
6c15806b68
MWL#121-124 DS-MRR support for key-ordered retrieval, etc
...
- Merge into 5.3-main
2010-11-01 18:49:59 +03:00
Sergey Petrunya
b76a8595c6
Re-initialization reworked
2010-11-01 13:52:10 +03:00
Sergey Petrunya
430f63c271
use DBUG_RETURN with DBUG_ENTER
2010-11-01 00:04:34 +03:00
Sergey Petrunya
d9a8dd22b2
DS-MRR/CPK improvements: correct buffer exhaustion handling
2010-10-31 22:00:15 +03:00
Igor Babaev
0b72fd88a1
Merge.
2010-10-30 06:07:45 -07:00
Sergey Petrunya
8e4c627ef8
DS-MRR improvements:
...
- Correct buffer re-allocation
2010-10-29 20:21:26 +04:00
Sergey Petrunya
1e82320d27
DS-MRR improvements
...
- buildbot test failure fixes: don't try to get more records from SimpleIndexReader
if we've already got EOF for it.
2010-10-29 13:42:48 +04:00
Sergei Golubchik
8e7ebfbce8
5.2 merge
2010-10-28 19:04:23 +02:00
Sergey Petrunya
a88bd5cf56
DS-MRR improvements:
...
- address the review feedback (class/var renames)
- fix wrong test result (bug in buffer refill logic)
2010-10-28 20:48:16 +04:00
Sergey Petrunya
d8efc3b155
DS-MRR improvements: address review feedback for R3 version of the patch
2010-10-26 15:35:13 +04:00
Igor Babaev
79087c9e07
Ported the fix for bug #57024 (a performance issue for outer joins).
...
Employed the same kind of optimization as in the fix for the cases
when join buffer is used.
The optimization performs early evaluation of the conditions from
on expression with table references to only outer tables of
an outer join.
2010-10-06 13:27:12 -07:00
Sergey Petrunya
ac8a79b944
Code cleanup
2010-10-04 10:31:40 +04:00
Sergey Petrunya
d4f2e7a9a9
Fix failures introduced in the previous push
2010-10-04 00:37:30 +04:00
Sergey Petrunya
5156457506
Address review feedback
...
- One iterator class
- Switch back from state automaton into two-nested-iterators approach..
2010-10-03 14:48:42 +04:00
Sergey Petrunya
22d5323fac
DS-MRR/CPK improvements: more of addressing review feedback
2010-10-01 15:54:35 +04:00
Sergey Petrunya
61f26f0c62
DS-MRR improvements: address review feedback
...
- change dsmrr_next_from_index() to a switch-based state automaton-like structure.
2010-09-28 20:20:09 +04:00
Sergey Petrunya
4f56acb676
Better comments, move Lifo_buffer to separate file.
2010-09-28 12:19:50 +04:00
Sergey Petrunya
3066c37718
DS-MRR improvements: review feedback
...
- Switch from one bi-directional buffer class to two
virtual inheritance-based forward and backward buffer classes.
2010-09-21 20:19:54 +04:00
Sergey Petrunya
2121ab1eb4
DS-MRR improvements: remove write_size/read_size, have the same size
...
for writing and reading
2010-09-20 13:23:51 +04:00
Sergey Petrunya
189555f39a
DS-MRR improvements: more code cleanup
...
- better comments
- rename variables to better reflect their meaning
2010-09-20 13:02:17 +04:00
Sergey Petrunya
18a348503a
DS-MRR improvements: better comments, use symbolic name instead of +1/-1 constants.
2010-09-19 01:05:47 +04:00
Sergey Petrunya
499b142ad5
BUG#628785: multi_range_read.cc:430: int DsMrr_impl::dsmrr_init(): Assertion `do_sort_keys || do_rowid_fetch' failed
...
- Make Ds_MrrImpl::check_cpk_scan() follow the execution code' logic: don't
do MRR scans on clustered PK when mrr_sort_keys=off.
2010-09-15 16:58:01 +04:00
Sergey Petrunya
188de43db1
- Fixed BUG#623285: Crash in quick_range_seq_next() in maria-5.3-dsmrr-cpk
...
- Relax overly-strict assert added in previous commit
- Run generic MRR testsuite for Maria engine, too.
2010-09-13 19:45:41 +04:00
Sergey Petrunya
b9e5125050
Remove garbage comments, coding style conformance (no functional changes).
2010-09-12 13:21:25 +04:00
Sergey Petrunya
a730bb9caf
Fix a typo bug in SimpleBuffer.read()
2010-09-11 21:56:43 +04:00
Sergey Petrunya
9b04caffd4
Commit for buildbot checks
2010-09-10 20:48:11 +04:00
Sergey Petrunya
dbc63bed22
MWL#121-125: DS-MRR improvements
...
- Address review feedback, step 1
2010-09-05 14:32:14 +04:00
Sergey Petrunya
fae27347d1
Fix one more problem with buffer exhaustion scenario
2010-08-19 19:52:58 +02:00
Sergey Petrunya
d4f057f256
More valgrind fixes
2010-08-15 22:30:18 +04:00
Sergey Petrunya
3b85e019ab
Fix another (possibly dangerous) valgrind failure.
2010-08-15 07:59:39 +04:00
Sergey Petrunya
889e6170fe
Fix [harmless] valgrind failure
2010-08-15 06:59:23 +04:00
Sergey Petrunya
c964cb1b62
key/rowid buffer overflow fixes for various tricky cases.
2010-08-14 18:56:37 +04:00
Sergey Petrunya
d098596ba5
Fix a number of problems with reverse buffer use
2010-08-12 23:59:29 +04:00
Sergey Petrunya
8d07c16ad9
Do dynamic buffer growing/shrinking.
2010-08-12 21:18:41 +04:00
Sergey Petrunya
8dc81f47ef
Use reverse/backwards buffer for keys (now works)
...
- don't allocate space for rowid buffer when we don't really need it.
- fix buffer iterator
2010-08-11 14:54:34 +04:00
Sergey Petrunya
57c17e18af
Fix valgrind failure
2010-08-09 00:38:42 +04:00
Sergey Petrunya
a2e29a83aa
We can't check that assertion at the first iteration
2010-08-08 15:44:32 +04:00
Sergey Petrunya
758b68a980
Fix valgrind failure: don't access key_buffer if we haven't set it up yet.
2010-08-08 12:30:48 +04:00
Sergey Petrunya
e25db795bd
DS-MRR, key-ordered retrievals: commit for buildbot
2010-08-08 11:13:54 +04:00
Sergey Petrunya
7391175d7e
DS-MRR support improvements (MWL#123, MWL#124, MWL#125)
...
- Let DS-MRR/CPK take advantage of materialized keys, when possible
2010-07-18 01:05:44 +04:00
Sergey Petrunya
e0999cdf7c
DS-MRR support improvements (MWL#123, MWL#124, MWL#125)
...
- Lots of TODO comments
- add mrr_sort_keys flag to @@optimizer_switch
- [from Igor] SQL layer part passes HA_MRR_MATERIALIZED_KEYS flag
- Don't call rnd_pos() many times in a row if sorted rowid buffer
has the same rowid value for multiple consequive (rowid, range_id) pairs.
2010-07-17 18:03:50 +04:00
Sergey Petrunya
e1006e9e1f
MWL#121: DS-MRR support for clustered primary keys
...
- Merge with current 5.3
2010-07-16 13:38:23 +04:00
Sergey Petrunya
27f9fc063c
MariaDB 5.2 -> MariaDB 5.3 merge
2010-06-26 14:05:41 +04:00
Sergey Petrunya
488d352a66
MWL#121: DS-MRR support for clustered primary keys
...
- Remove back key_parts from multi_range_read_init() parameters
- Related code simplification/cleanup
2010-06-22 23:26:11 +04:00
Sergey Petrunya
b45748f058
MWL#121: DS-MRR support for clustered primary keys
...
- Fix the code to work with IndexConditionPushdown+BKA (EXPLAIN is still
incorrect, see comments in the patch)
- Test coverage for ICP+BKA
2010-06-22 22:38:52 +04:00
Sergey Petrunya
16e197f5b1
MWL#121: DS-MRR support for clustered primary keys
...
- Add testcases
- Code cleanup: garbage removal, better comments, make members private where possible
2010-06-22 21:24:22 +04:00
Sergey Petrunya
82f8ed17e1
MWL#121: DS-MRR support for clustered primary keys
...
- Add testcases
2010-06-21 12:34:31 +04:00
Sergey Petrunya
925e508a2e
MWL#121: DS-MRR support for clustered primary keys
...
- First code (will need code cleanup)
2010-06-19 15:40:19 +04:00
Sergey Petrunya
da5edf5057
MWL#67: MRR backport
...
- Make index condition pushdown be controlled by an @@optimizer_switch flag,
not by @@engine_condition_pushdown
- Make MRR buffer size be controlled by @@mrr_buffer_size, not
by @@read_rnd_buffer_size
- Move parts of code to separate files
- Code cleanup
- Add --sorted_result to some SELECTs in tests.
2009-12-22 15:33:21 +03:00