@@ -227,28 +227,26 @@ public void testStreamstatsReset() {
227227 public void testStreamstatsWithReverse () {
228228 String ppl = "source=EMP | streamstats max(SAL) by DEPTNO | reverse" ;
229229 RelNode root = getRelNode (ppl );
230+ // Reverse replaces the __stream_seq__ sort in-place via backtracking
230231 String expectedLogical =
231232 "LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4], SAL=[$5],"
232233 + " COMM=[$6], DEPTNO=[$7], max(SAL)=[$9])\n "
233234 + " LogicalSort(sort0=[$8], dir0=[DESC])\n "
234- + " LogicalSort(sort0=[$8], dir0=[ASC])\n "
235- + " LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4],"
235+ + " LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4],"
236236 + " SAL=[$5], COMM=[$6], DEPTNO=[$7], __stream_seq__=[$8], max(SAL)=[MAX($5) OVER"
237237 + " (PARTITION BY $7 ROWS UNBOUNDED PRECEDING)])\n "
238- + " LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4],"
238+ + " LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4],"
239239 + " SAL=[$5], COMM=[$6], DEPTNO=[$7], __stream_seq__=[ROW_NUMBER() OVER ()])\n "
240- + " LogicalTableScan(table=[[scott, EMP]])\n " ;
240+ + " LogicalTableScan(table=[[scott, EMP]])\n " ;
241241 verifyLogical (root , expectedLogical );
242242
243243 String expectedSparkSql =
244- "SELECT `EMPNO`, `ENAME`, `JOB`, `MGR`, `HIREDATE`, `SAL`, `COMM`, `DEPTNO`, `max(SAL)`\n "
245- + "FROM (SELECT `EMPNO`, `ENAME`, `JOB`, `MGR`, `HIREDATE`, `SAL`, `COMM`, `DEPTNO`,"
246- + " `__stream_seq__`, MAX(`SAL`) OVER (PARTITION BY `DEPTNO` ROWS BETWEEN UNBOUNDED"
244+ "SELECT `EMPNO`, `ENAME`, `JOB`, `MGR`, `HIREDATE`, `SAL`, `COMM`, `DEPTNO`,"
245+ + " MAX(`SAL`) OVER (PARTITION BY `DEPTNO` ROWS BETWEEN UNBOUNDED"
247246 + " PRECEDING AND CURRENT ROW) `max(SAL)`\n "
248247 + "FROM (SELECT `EMPNO`, `ENAME`, `JOB`, `MGR`, `HIREDATE`, `SAL`, `COMM`, `DEPTNO`,"
249248 + " ROW_NUMBER() OVER () `__stream_seq__`\n "
250249 + "FROM `scott`.`EMP`) `t`\n "
251- + "ORDER BY `__stream_seq__` NULLS LAST) `t1`\n "
252250 + "ORDER BY `__stream_seq__` DESC NULLS FIRST" ;
253251 verifyPPLToSparkSQL (root , expectedSparkSql );
254252 }
0 commit comments