James Taylor created PHOENIX-1887:
-------------------------------------

             Summary: Remove Tuple argument from Expression evaluate method
                 Key: PHOENIX-1887
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1887
             Project: Phoenix
          Issue Type: Bug
            Reporter: James Taylor


We currently pass through a Tuple argument to all Expression evaluate methods, 
though we only need it for a very limited set of Expression types: subclasses 
of ColumnExpression (to get the relavent KeyValue) and SequenceValueExpression 
(to get the next/current sequence value).

Instead, we could collect these expression types and initialize them with the 
required state before calling evaluate on the top level expression through a 
new setTuple method. We'd need to ensure on the client side that we copy the 
expression tree when we're evaluating them in parallel during an UPSERT SELECT 
call, but we already have a mechanism in place to do that when we added support 
for RAND().



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

Reply via email to