void MultiJoin::getPotentialOutputValues(ValueIdSet & outputValues) const { outputValues.clear(); CANodeIdSet jbbcs = jbbSubset_.getJBBCs(); Int32 arity = getArity(); for (Lng32 i = 0; i < arity; i++) { JBBC * jbbci = child(i)->getGroupAnalysis()->getNodeAnalysis()->getJBBC(); if(jbbci->parentIsLeftJoin()) outputValues.insertList(jbbci->nullInstantiatedOutput()); else // Default implementation is good enough for innerNonSemi multi join outputValues += child(i).getGroupAttr()->getCharacteristicOutputs(); } } // MultiJoin::getPotentialOutputValues()