1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-02 02:53:04 +03:00
Files
mariadb/mysql-test/r
Martin Hansson 5ef9ec9d9e Bug#42846: wrong result returned for range scan when using
covering index
      
When two range predicates were combined under an OR
predicate, the algorithm tried to merge overlapping ranges
into one. But the case when a range overlapped several other
ranges was not handled. This lead to

1) ranges overlapping, which gave repeated results and 
2) a range that overlapped several other ranges was cut off.  

Fixed by 

1) Making sure that a range got an upper bound equal to the
next range with a greater minimum.
2) Removing a continue statement


mysql-test/r/group_min_max.result:
  Bug#42846: Changed query plans
mysql-test/r/range.result:
  Bug#42846: Test result.
mysql-test/t/range.test:
  Bug#42846: Test case.
sql/opt_range.cc:
  Bug#42846: The fix. 
  
  Part1: Previously, both endpoints from key2 were copied,
  which is not safe. Since ranges are processed in ascending
  order of minimum endpoints, it is safe to copy the minimum
  endpoint from key2 but not the maximum. The maximum may only
  be copied if there is no other range or the other range's
  minimum is greater than key2's maximum.
2009-10-09 11:30:40 +02:00
..
2009-08-27 15:59:25 +05:00
2009-09-10 11:58:13 +05:00
2009-08-20 14:30:59 +02:00
2009-09-03 08:38:06 +02:00
2009-06-25 13:44:50 +05:00
2009-08-10 15:46:20 -03:00
2009-09-04 12:39:56 +05:00
2009-07-15 15:43:45 +05:30
2009-06-01 16:00:38 +04:00
2009-03-27 10:18:06 +08:00
2009-09-10 15:30:03 +05:00
2009-04-29 07:59:10 +05:00
2009-02-26 18:17:06 +01:00
2009-05-06 15:00:14 +05:30
2009-06-15 17:36:51 +03:00
2009-09-02 18:58:17 +02:00
2009-04-09 14:38:50 +05:00
2009-03-16 20:54:50 +01:00
2009-02-19 18:22:28 +01:00
2009-09-10 11:54:26 +05:00
2009-02-19 17:59:00 +04:00
2009-06-10 11:58:36 +03:00
2009-09-28 16:48:40 +03:00
2009-08-31 16:40:35 +03:00
2009-02-19 18:24:25 -05:00
2009-02-14 20:14:10 +03:00
2009-05-15 12:42:57 +04:00
2009-05-15 12:11:07 +05:00
2009-05-10 21:20:35 +05:00
2009-08-31 17:09:09 +03:00