diff --git a/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/visitors/DdlVisitor.java b/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/visitors/DdlVisitor.java index 5575626681..7dfec73e88 100644 --- a/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/visitors/DdlVisitor.java +++ b/fdb-relational-core/src/main/java/com/apple/foundationdb/relational/recordlayer/query/visitors/DdlVisitor.java @@ -58,6 +58,7 @@ import java.util.Locale; import java.util.Optional; import java.util.function.Function; +import java.util.function.Supplier; import java.util.stream.Collectors; @API(API.Status.EXPERIMENTAL) @@ -340,13 +341,13 @@ private RecordLayerInvokedRoutine getInvokedRoutineMetadata(@Nonnull final Parse } // 3. visit the SQL string to generate (compile) the corresponding SQL plan. - final var compiledSqlFunction = visitSqlInvokedFunction(functionSpecCtx, bodyCtx, isTemporary); + final Supplier compiledSqlFunction = () -> visitSqlInvokedFunction(functionSpecCtx, bodyCtx, isTemporary); // 4. Return it. return RecordLayerInvokedRoutine.newBuilder() .setName(functionName) .setDescription(functionDefinition) - .withCompilableRoutine(ignored -> compiledSqlFunction) + .withCompilableRoutine(ignored -> compiledSqlFunction.get()) .setNormalizedDescription(getDelegate().getPlanGenerationContext().getCanonicalQueryString()) .setTemporary(isTemporary) .build();