Skip to content

Commit 399f90a

Browse files
committed
Address review comments: close planner when exception occurs in convertToBeamRel(RelNode, QueryParameters)
1 parent 5939a99 commit 399f90a

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/CalciteQueryPlanner.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,12 +320,22 @@ public RelNode parseToRel(String sqlStatement, QueryParameters queryParameters)
320320
@Override
321321
public BeamRelNode convertToBeamRel(RelNode relNode, QueryParameters queryParameters)
322322
throws SqlConversionException {
323-
if (queryParameters.getKind() == Kind.POSITIONAL) {
324-
relNode =
325-
bindParameters(
326-
relNode, new ParameterBinder(relNode.getCluster().getRexBuilder(), queryParameters));
323+
boolean success = false;
324+
try {
325+
if (queryParameters.getKind() == Kind.POSITIONAL) {
326+
relNode =
327+
bindParameters(
328+
relNode,
329+
new ParameterBinder(relNode.getCluster().getRexBuilder(), queryParameters));
330+
}
331+
BeamRelNode result = convertToBeamRel(relNode, (RelCollation) null);
332+
success = true;
333+
return result;
334+
} finally {
335+
if (!success) {
336+
planner.close();
337+
}
327338
}
328-
return convertToBeamRel(relNode, (RelCollation) null);
329339
}
330340

331341
private BeamRelNode convertToBeamRel(RelNode relNode, @Nullable RelCollation collation)

0 commit comments

Comments
 (0)