[ 
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)

Reply via email to