You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Sean Hsuan-Yi Chu (JIRA)" <ji...@apache.org> on 2016/03/29 20:28:25 UTC
[jira] [Created] (CALCITE-1176) The implementation of
SqlOperatorBinding#getOperandLiteralValue does not strictly follow the
contract
Sean Hsuan-Yi Chu created CALCITE-1176:
------------------------------------------
Summary: The implementation of SqlOperatorBinding#getOperandLiteralValue does not strictly follow the contract
Key: CALCITE-1176
URL: https://issues.apache.org/jira/browse/CALCITE-1176
Project: Calcite
Issue Type: Improvement
Components: core
Reporter: Sean Hsuan-Yi Chu
Assignee: Sean Hsuan-Yi Chu
As is pointed out in [1], if the operand is not a literal, the value returned by SqlOperatorBinding#getOperandLiteralValue is null.
However, the two implementations in RexCallBinding and SqlCallBinding do not really follow. From the implementation point of view, they will call other two utilities methods which could throw exceptions [2], [3].
[1] https://github.com/apache/calcite/blob/4c7f5c20a04b4a4e736a16f801d8b5e6eded48cc/core/src/main/java/org/apache/calcite/sql/SqlOperatorBinding.java#L119
[2]
https://github.com/apache/calcite/blob/72b2cfb799242e0d1d7e6aed8bfe43cceb554c7c/core/src/main/java/org/apache/calcite/rex/RexLiteral.java#L645
[3]
https://github.com/apache/calcite/blob/4ac82a30b8ee7ae1afcd83c6f3ef687761536f2e/core/src/main/java/org/apache/calcite/sql/SqlLiteral.java#L335
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)