[ https://issues.apache.org/jira/browse/DRILL-4399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15208275#comment-15208275 ]
Serge Harnyk commented on DRILL-4399: ------------------------------------- Query before optimisation: select 1 from tdt where (date '1999-12-01' , date '2001-12-31' ) overlaps ( date '2001-01-01' , tdt.cdt ) and rnum=0 Query passed to jdbc: SELECT 1 AS "EXPR$0" FROM "tdt" WHERE DATE '2001-12-31' >= DATE '2001-01-01' AND "cdt" >= DATE '1999-12-01' AND "rnum" = 0 Query before optimisation: select 1 from tdt where ( date '2001-12-31', date '1999-12-01' ) overlaps ( date '2001-01-01' , tdt.cdt ) and rnum=0 Query passed to jdbc: SELECT 1 AS "EXPR$0" FROM "public"."tdt" WHERE DATE '1999-12-01' >= DATE '2001-01-01' AND "cdt" >= DATE '2001-12-31' AND "rnum" = 0 When Drill meets OVERLAPS function it transform it to (StartA <= EndB) and (EndA >= StartB) condition. PostgreSQL add more logic - http://www.postgresql.org/docs/9.3/static/functions-datetime.html "When a pair of values is provided, either the start or the end can be written first; OVERLAPS automatically takes the earlier value of the pair as the start." > query using OVERLAPS function executes and returns 0 rows > --------------------------------------------------------- > > Key: DRILL-4399 > URL: https://issues.apache.org/jira/browse/DRILL-4399 > Project: Apache Drill > Issue Type: Bug > Components: Storage - JDBC > Affects Versions: 1.5.0 > Reporter: N Campbell > Assignee: Serge Harnyk > > Doc set makes not mention of this, but parses and executes > select 1 from postgres.public.tdt where (date '1999-12-01' , date > '2001-12-31' ) overlaps ( date '2001-01-01' , tdt.cdt ) and rnum=0 > This query executed by Postgres would return 1 row > create table TDT ( RNUM integer not null , CDT date ) ; > comment on table TDT is 'This describes table TDT.'; > grant select on table TDT to public; > insert into TDT(RNUM, CDT) values ( 0, NULL); > insert into TDT(RNUM, CDT) values ( 1, DATE '1996-01-01'); > insert into TDT(RNUM, CDT) values ( 2, DATE '2000-01-01'); > insert into TDT(RNUM, CDT) values ( 3, DATE '2000-12-31'); -- This message was sent by Atlassian JIRA (v6.3.4#6332)