[ https://issues.apache.org/jira/browse/DRILL-4191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15053840#comment-15053840 ]
Khurram Faraaz commented on DRILL-4191: --------------------------------------- Also when we order by the same column as the partitioning (partition by) column we get the right result for last value. The column being c1 in the query below. {code} 0: jdbc:drill:schema=dfs.tmp> select c1, last_value(c2) over(partition by c1 order by c1) lstval from md_627; +-----+-------------+ | c1 | lstval | +-----+-------------+ | 1 | 2015-12-12 | | 1 | 2015-12-12 | | 1 | 2015-12-12 | +-----+-------------+ 3 rows selected (0.458 seconds) {code} > Last value function returns incorrect results. > ---------------------------------------------- > > Key: DRILL-4191 > URL: https://issues.apache.org/jira/browse/DRILL-4191 > Project: Apache Drill > Issue Type: Bug > Components: Execution - Flow > Affects Versions: 1.4.0 > Environment: 4 node cluster on CentOS > Reporter: Khurram Faraaz > > Last value function returns incorrect results. > {noformat} > [root@centos-01 ~]# cat MD627.csv > 1,2015-01-01 > 1,2015-01-02 > 1,2015-12-12 > git commit id : b9068117 > create table md_627 as select cast(columns[0] as int) c1, cast(columns[1] as > date) c2 from `MD627.csv`; > [root@centos-01 parquet-tools]# ./parquet-schema ../md627/0_0_0.parquet > message root { > optional int32 c1; > optional int32 c2 (DATE); > } > 0: jdbc:drill:schema=dfs.tmp> select * from md_627; > +-----+-------------+ > | c1 | c2 | > +-----+-------------+ > | 1 | 2015-01-01 | > | 1 | 2015-01-02 | > | 1 | 2015-12-12 | > +-----+-------------+ > 3 rows selected (0.265 seconds) > 0: jdbc:drill:schema=dfs.tmp> select c1, last_value(c2) over(partition by c1 > order by c2) lstval from md_627; > +-----+-------------+ > | c1 | lstval | > +-----+-------------+ > | 1 | 2015-01-01 | > | 1 | 2015-01-02 | > | 1 | 2015-12-12 | > +-----+-------------+ > 3 rows selected (0.405 seconds) > 0: jdbc:drill:schema=dfs.tmp> explain plan for select c1, last_value(c2) > over(partition by c1 order by c2) lstval from md_627; > +------+------+ > | text | json | > +------+------+ > | 00-00 Screen > 00-01 Project(c1=[$0], lstval=[$1]) > 00-02 Project(c1=[$0], lstval=[$1]) > 00-03 Project(c1=[$0], $1=[$2]) > 00-04 Window(window#0=[window(partition {0} order by [1] range > between UNBOUNDED PRECEDING and CURRENT ROW aggs [LAST_VALUE($1)])]) > 00-05 SelectionVectorRemover > 00-06 Sort(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC]) > 00-07 Project(c1=[$1], c2=[$0]) > 00-08 Scan(groupscan=[ParquetGroupScan > [entries=[ReadEntryWithPath [path=maprfs:///tmp/md_627]], > selectionRoot=maprfs:/tmp/md_627, numFiles=1, usedMetadataFile=false, > columns=[`c1`, `c2`]]]) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)