Diverging results with TIME(3) and ranges depending on the execution plan in 5.1-micro

Bug #743017 reported by Philip Stoev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MariaDB
Fix Released
High
Sergei Golubchik

Bug Description

Using BETWEEN in the WHERE clause returns different results depending on the query plan:

--source include/have_innodb.inc
CREATE TABLE t1 ( f1 time(3), f2 datetime, KEY (f1)) Engine=innodb;
INSERT IGNORE INTO t1 VALUES ('07:07:20.000','0000-00-00 00:00:00.000'),('15:47:11.000','2000-12-22 17:22:54.000'),
('17:41:58.000','2006-09-09 00:00:00.000'),('00:20:03.000','2006-01-19 00:00:00.000'),
('13:27:12.000','0000-00-00 00:00:00.000'),('00:20:04.000','2001-12-22 10:14:36.000');

SELECT * FROM t1 FORCE KEY ( f1 ) WHERE f2 AND f1 BETWEEN '02:18:49' AND '2006-11-16 09:33:34' ;
returns 1 row

SELECT * FROM t1 IGNORE KEY ( f1 ) WHERE f2 AND f1 BETWEEN '02:18:49' AND '2006-11-16 09:33:34' ;
returns 2 rows

in either case, no warnings are produced. Not repeatable with TIME(0).

Even though the above example with with TIME(3) and a slightly weird BETWEEN, the issue is also repeatable with DATETIME(3) and a range expression that involves only DATETIME values.

Related branches

Changed in maria:
milestone: none → 5.3
assignee: nobody → Sergei (sergii)
description: updated
summary: - Diverging results with TIME(3) and BETWEEN depending on the execution
+ Diverging results with TIME(3) and ranges depending on the execution
plan in 5.1-micro
description: updated
Revision history for this message
Philip Stoev (pstoev-askmonty) wrote :

Another test case:

--source include/have_innodb.inc

CREATE TABLE t1 ( f1 int, f2 datetime(3), KEY (f2), KEY (f1,f2)) ENGINE=InnoDB;
INSERT IGNORE INTO t1 VALUES (2,'0000-00-00 00:00:00.000'),(2,'2007-01-14 15:18:50.000');

SELECT * FROM t1 FORCE KEY ( f2 ) WHERE f2 <= '2004-08-28 23:36:31.000000' ;
SELECT * FROM t1 IGNORE KEY ( f2 ) WHERE f2 <= '2004-08-28 23:36:31.000000' ;

Changed in maria:
importance: Undecided → High
status: New → In Progress
Changed in maria:
status: In Progress → Fix Committed
Changed in maria:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.