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)