mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03: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:
@@ -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,
|
||||
|
Reference in New Issue
Block a user