Skip to content

Commit 259097d

Browse files
committed
fix unit tests
Signed-off-by: Jialiang Liang <jiallian@amazon.com>
1 parent bdf8023 commit 259097d

2 files changed

Lines changed: 15 additions & 13 deletions

File tree

ppl/src/test/java/org/opensearch/sql/ppl/calcite/CalcitePPLMultisearchTest.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -183,26 +183,29 @@ public void testMultisearchWithStats() {
183183
+ " LogicalAggregate(group=[{0}], count=[COUNT()])\n"
184184
+ " LogicalProject(type=[$8])\n"
185185
+ " LogicalUnion(all=[true])\n"
186-
+ " LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4],"
186+
+ " LogicalFilter(condition=[=($7, 10)])\n"
187+
+ " LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4],"
187188
+ " SAL=[$5], COMM=[$6], DEPTNO=[$7], type=['accounting':VARCHAR])\n"
188-
+ " LogicalFilter(condition=[=($7, 10)])\n"
189189
+ " LogicalTableScan(table=[[scott, EMP]])\n"
190-
+ " LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4],"
190+
+ " LogicalFilter(condition=[=($7, 20)])\n"
191+
+ " LogicalProject(EMPNO=[$0], ENAME=[$1], JOB=[$2], MGR=[$3], HIREDATE=[$4],"
191192
+ " SAL=[$5], COMM=[$6], DEPTNO=[$7], type=['research':VARCHAR])\n"
192-
+ " LogicalFilter(condition=[=($7, 20)])\n"
193193
+ " LogicalTableScan(table=[[scott, EMP]])\n";
194194
verifyLogical(root, expectedLogical);
195195

196+
// SparkSQL reflects Filter above Project due to flush logic
196197
String expectedSparkSql =
197198
"SELECT COUNT(*) `count`, `type`\n"
199+
+ "FROM (SELECT *\n"
198200
+ "FROM (SELECT `EMPNO`, `ENAME`, `JOB`, `MGR`, `HIREDATE`, `SAL`, `COMM`, `DEPTNO`,"
199201
+ " 'accounting' `type`\n"
200-
+ "FROM `scott`.`EMP`\n"
202+
+ "FROM `scott`.`EMP`) `t`\n"
201203
+ "WHERE `DEPTNO` = 10\n"
202204
+ "UNION ALL\n"
203-
+ "SELECT `EMPNO`, `ENAME`, `JOB`, `MGR`, `HIREDATE`, `SAL`, `COMM`, `DEPTNO`,"
205+
+ "SELECT *\n"
206+
+ "FROM (SELECT `EMPNO`, `ENAME`, `JOB`, `MGR`, `HIREDATE`, `SAL`, `COMM`, `DEPTNO`,"
204207
+ " 'research' `type`\n"
205-
+ "FROM `scott`.`EMP`\n"
208+
+ "FROM `scott`.`EMP`) `t1`\n"
206209
+ "WHERE `DEPTNO` = 20) `t3`\n"
207210
+ "GROUP BY `type`";
208211
verifyPPLToSparkSQL(root, expectedSparkSql);

ppl/src/test/java/org/opensearch/sql/ppl/calcite/CalcitePPLRegexTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,18 @@ public void testRegexBasic() {
3838
public void testRegexChainedFilters() {
3939
String ppl = "source=EMP | regex ENAME='A.*' | regex JOB='.*CLERK' | fields ENAME, JOB";
4040
RelNode root = getRelNode(ppl);
41+
// Filter accumulation combines multiple regex conditions into a single Filter with AND
4142
String expectedLogical =
4243
"LogicalProject(ENAME=[$1], JOB=[$2])\n"
43-
+ " LogicalFilter(condition=[REGEXP_CONTAINS($2, '.*CLERK':VARCHAR)])\n"
44-
+ " LogicalFilter(condition=[REGEXP_CONTAINS($1, 'A.*':VARCHAR)])\n"
45-
+ " LogicalTableScan(table=[[scott, EMP]])\n";
44+
+ " LogicalFilter(condition=[AND(REGEXP_CONTAINS($1, 'A.*':VARCHAR),"
45+
+ " REGEXP_CONTAINS($2, '.*CLERK':VARCHAR))])\n"
46+
+ " LogicalTableScan(table=[[scott, EMP]])\n";
4647
verifyLogical(root, expectedLogical);
4748

4849
String expectedSparkSql =
4950
"SELECT `ENAME`, `JOB`\n"
50-
+ "FROM (SELECT *\n"
5151
+ "FROM `scott`.`EMP`\n"
52-
+ "WHERE REGEXP_CONTAINS(`ENAME`, 'A.*')) `t`\n"
53-
+ "WHERE REGEXP_CONTAINS(`JOB`, '.*CLERK')";
52+
+ "WHERE REGEXP_CONTAINS(`ENAME`, 'A.*') AND REGEXP_CONTAINS(`JOB`, '.*CLERK')";
5453
verifyPPLToSparkSQL(root, expectedSparkSql);
5554
}
5655

0 commit comments

Comments
 (0)