mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02:00
MDEV-18741: Optimizer trace: multi-part key ranges are printed incorrectly
Changed the function append_range_all_keyparts to use sel_arg_range_seq_init / sel_arg_range_seq_next to produce ranges.
Also adjusted to print format for the ranges, now the ranges are printed as:
(keypart1_min, keypart2_min,..) OP (keypart1_name,keypart2_name, ..) OP (keypart1_max,keypart2_max, ..)
Also added more tests for range and index merge access for optimizer trace
This commit is contained in:
parent
24773bf380
commit
5e36f5dd00
8 changed files with 1125 additions and 206 deletions
|
|
@ -116,7 +116,7 @@ explain select * from t1 where pk1 != 0 and key1 = 1 {
|
|||
"range_scan_alternatives": [
|
||||
{
|
||||
"index": "PRIMARY",
|
||||
"ranges": ["pk1 < 0", "0 < pk1"],
|
||||
"ranges": ["(pk1) < (0)", "(0) < (pk1)"],
|
||||
"rowid_ordered": true,
|
||||
"using_mrr": false,
|
||||
"index_only": false,
|
||||
|
|
@ -127,7 +127,7 @@ explain select * from t1 where pk1 != 0 and key1 = 1 {
|
|||
},
|
||||
{
|
||||
"index": "key1",
|
||||
"ranges": ["1 <= key1 <= 1"],
|
||||
"ranges": ["(1) <= (key1) <= (1)"],
|
||||
"rowid_ordered": true,
|
||||
"using_mrr": false,
|
||||
"index_only": false,
|
||||
|
|
@ -164,7 +164,7 @@ explain select * from t1 where pk1 != 0 and key1 = 1 {
|
|||
"type": "range_scan",
|
||||
"index": "key1",
|
||||
"rows": 1,
|
||||
"ranges": ["1 <= key1 <= 1"]
|
||||
"ranges": ["(1) <= (key1) <= (1)"]
|
||||
},
|
||||
"rows_for_plan": 1,
|
||||
"cost_for_plan": 2.3751,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue