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