[
https://issues.apache.org/jira/browse/PHOENIX-1030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14162274#comment-14162274
]
James Taylor commented on PHOENIX-1030:
---------------------------------------
Thanks, [~tdsilva]. Here's some feedback on some minor stuff:
- I don't think you need a look here, as you should be able to index into
BOOLEAN_EXPRESSIONS using the child.getDeterminism().ordinal() value.
{code}
public static boolean isFalse(Expression child) {
- return child == FALSE_EXPRESSION || child == ND_FALSE_EXPRESSION;
+ for (Determinism determinism : Determinism.values()) {
+ if (child==BOOLEAN_EXPRESSIONS[determinism.ordinal()])
+ return true;
+ }
+ return false;
}
public static boolean isTrue(Expression child) {
- return child == TRUE_EXPRESSION || child == ND_TRUE_EXPRESSION;
+ for (Determinism determinism : Determinism.values()) {
+ if
(child==BOOLEAN_EXPRESSIONS[Determinism.values().length+determinism.ordinal()])
+ return true;
+ }
+ return false;
}
{code}
- How about some static helper functions for these?
{code}
NULL_EXPRESSIONS[determinism.ordinal()]
BOOLEAN_EXPRESSIONS[Determinism.values().length+determinism.ordinal()]
TYPED_NULL_EXPRESSIONS[type.ordinal()+PDataType.values().length*determinism.ordinal()]
{code}
> Change Expression.isDeterministic() to return a enum of values ALWAYS,
> PER_STATEMENT, PER_ROW
> ---------------------------------------------------------------------------------------------
>
> Key: PHOENIX-1030
> URL: https://issues.apache.org/jira/browse/PHOENIX-1030
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Thomas D'Silva
> Assignee: Thomas D'Silva
> Attachments: PHOENIX-1030-3.0.patch, PHOENIX-1030-3.0.patch,
> PHOENIX-1030-3.0.patch, PHOENIX-1030-3.0.patch, PHOENIX-1030-4.0.patch,
> PHOENIX-1030-4.0.patch, PHOENIX-1030-master.patch
>
>
> Change Expression.isDeterministic() to return an ENUM with three values
> DETERMINISTIC - the expression returns the same output every time given the
> same input.
> UNDETERMINISTIC_ROW - the expression should be computed for every row
> UNDETERMINISTIC_STMT - the expression should be be computed for a given
> statement only once
> See PHOENIX-1001
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)