[ 
https://issues.apache.org/jira/browse/PHOENIX-3264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15513988#comment-15513988
 ] 

Julian Hyde commented on PHOENIX-3264:
--------------------------------------

Hopefully you can understand why I am pushing back and do not want to make 
every class and method public. Increased API surface area means more things to 
break.

Some methods are currently public (even though they are members of private 
classes) not because we intended them to be public some day, but because in 
Java methods that implement interface methods HAVE to be public.

Suppose you have a SqlNode e, an expression that you can to convert. Wrap it in 
a SqlSelect, so that it becomes the select clause of a dummy query, {{select e 
from (values 1)}}. Now use SqlToRelConverter to convert this query to a 
RelNode, which will naturally be a project, and take the sole item of its 
project list. That may be a very long way around, but it will work.

> Allow TRUE and FALSE to be used as literal constants
> ----------------------------------------------------
>
>                 Key: PHOENIX-3264
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3264
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: James Taylor
>         Attachments: Sql2RelImplementation.png, SqlLiteral.png, 
> SqlNodeToRexConverterImpl.png, SqlOptionNode.png, objectdependencies.png, 
> objectdependencies2.png, stacktrace.png
>
>
> Phoenix supports TRUE and FALSE as boolean literals, but perhaps Calcite 
> doesn't? Looks like this is leading to a fair number of failures.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to