hnguyen08 opened a new pull request #443: PHOENIX-5136
URL: https://github.com/apache/phoenix/pull/443
 
 
   `NULL` values for rows that are inserted using `UPSERT ON DUPLICATE KEY 
UPDATE` will be stored in HBase as empty byte arrays.  `NULL` values 
represented by empty byte arrays are not handled well in the 
`AndOrOperator.evaluate()`.  Any child expression of the `AndOrOperator` that 
evaluates to `NULL` represented by empty byte array will get marked in 
`partialEvalState`, thus having no effect when the `AndOrOperator` is 
re-evaluated against a different cell from the same row.  This causes problems 
because the child expression *should* be re-evaluated since it can still affect 
the final result.
   
   The fix ensures that `partialEvalState` is not marked if the child 
expression evaluates to a NULL value represented by empty array.
   
   Let me know if this fix is acceptable or if there is a better approach to 
this problem!

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to