[
https://issues.apache.org/jira/browse/CALCITE-2259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16447659#comment-16447659
]
Julian Hyde commented on CALCITE-2259:
--------------------------------------
Some features that we can use when we're on JDK 8 (copied from CALCITE-2027):
* Migrate sub-classes of {{ThreadLocal}} to use {{ThreadLocal.withSupplier}}.
* Resource references; change {{try (Closeable ignore = foo())}} to {{try
(foo())}}, especially uses of {{TryThreadLocal}} and {{Hook.Closeable}}.
* Change uses of SAM interfaces to lambdas:
** Calcite: Bindable, Node, SqlTypeTransform, SqlOperandTypeInference,
SqlReturnTypeInference, UnboundMetadata, RelRunner, Handler.ResultSink,
Frameworks.PlannerAction, Invokable, SqlParserImplFactory;
** Guava: Function, Predicate and Supplier;
** Linq4j: Function0, Function1, Predicate1, Predicate2;
** Java: Iterable, Callable, InvocationHandler, Closeable, Comparator.
* Calls to Iterables.transform "pseudo-functional style" can be converted to
streams
> Allow Java 8 syntax in source files
> -----------------------------------
>
> Key: CALCITE-2259
> URL: https://issues.apache.org/jira/browse/CALCITE-2259
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Julian Hyde
> Priority: Major
>
> Allow Java 8 syntax in source files.
> In core/pom.xml, I tried changing {{source=1.7 target=1.8}} to {{source=8
> target=8}} but I ran into [Janino issue
> 47|https://github.com/janino-compiler/janino/issues/47]. (Thanks,
> [~vvysotskyi], for logging that issue.)
> When this is fixed, we will be able to use lambdas ({{->}}).
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)