Github user zellerh commented on a diff in the pull request:
https://github.com/apache/trafodion/pull/1444#discussion_r169392533
--- Diff: core/sql/optimizer/GroupAttr.cpp ---
@@ -1793,6 +1793,8 @@ void
GroupAttributes::resolveCharacteristicInputs(const ValueIdSet& externalInpu
ItemExpr * vidExpr = vid.getItemExpr();
if ((vidExpr->getOperatorType() == ITM_CURRENT_USER) ||
(vidExpr->getOperatorType() == ITM_CURRENT_TIMESTAMP) ||
+ (vidExpr->getOperatorType() == ITM_UNIQUE_SHORT_ID) ||
+ (vidExpr->getOperatorType() == ITM_UNIQUE_ID) ||
--- End diff --
This comment applies to all the changes in this commit: Don't these code
changes do the opposite of what you want to achieve? Functions like
CURRENT_TIMESTAMP and CURRENT_USER are carefully designed such that we execute
them only once per query, in the master. You want to make sure your functions
are evaluated once per row. Did you find that these changes helped fix the
issues you were seeing?
---