Skip to content

Commit fb87952

Browse files
committed
Initiate a new RelToSqlConverter every time as it is stateful (1769/2018)
Signed-off-by: Yuanchun Shen <yuanchu@amazon.com>
1 parent 190597a commit fb87952

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

core/src/main/java/org/opensearch/sql/executor/QueryService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.apache.calcite.rel.RelRoot;
2828
import org.apache.calcite.rel.core.Sort;
2929
import org.apache.calcite.rel.logical.LogicalSort;
30+
import org.apache.calcite.rel.rel2sql.RelToSqlConverter;
3031
import org.apache.calcite.rel.rel2sql.SqlImplementor;
3132
import org.apache.calcite.rel.rules.FilterMergeRule;
3233
import org.apache.calcite.runtime.CalciteContextException;
@@ -83,8 +84,6 @@ public class QueryService {
8384
private final Planner planner;
8485
private DataSourceService dataSourceService;
8586
private Settings settings;
86-
private static final PplRelToSqlNodeConverter rel2sql =
87-
new PplRelToSqlNodeConverter(SparkSqlDialect.DEFAULT);
8887

8988
@Getter(lazy = true)
9089
private final CalciteRelNodeVisitor relNodeVisitor = new CalciteRelNodeVisitor(dataSourceService);
@@ -311,6 +310,7 @@ private RelNode validate(RelNode relNode, CalcitePlanContext context) {
311310
RelNode sqlRelNode = relNode.accept(new PplRelToSqlRelShuttle(context.rexBuilder, true));
312311

313312
// Convert RelNode to SqlNode for validation
313+
RelToSqlConverter rel2sql = new PplRelToSqlNodeConverter(SparkSqlDialect.DEFAULT);
314314
SqlImplementor.Result result = rel2sql.visitRoot(sqlRelNode);
315315
SqlNode root = result.asStatement();
316316

0 commit comments

Comments
 (0)