• S
    CDB Specific changes, other fix-ups after merging e549722a · e5f6e826
    Shreedhar Hardikar 提交于
    0. Fix up post join dedup logic after cherry-pick
    0. Fix pull_up_sublinks_jointree_recurse returning garbage relids
    0. Update gporca, rangefuncs, eagerfree answer fileis
    	1. gporca
    	Previously we were generating a Hash Inner Join with an
    	HashAggregate for deduplication. Now we generate a Hash
    	Semi Join in which case we do not need to deduplicate the
    	inner.
    
    	2. rangefuncs
    	We updated this answer file during the cherry-pick of
    	e006a24a since there was a change in plan.
    	After these cherry-picks, we are back to the original
    	plan as master. Hence we see the original error.
    
    	3. eagerfree
    	We are generating a not-very-useful subquery scan node
    	with this change. This is not producing wrong results.
    	But this subqeury scan needs to be removed.
    	We will file a follow-up chore to investigate and fix this.
    
    0. We no longer need helper function `hasSemiJoin()` to check whether
    this specialInfo list has any specialJoinInfos constructed for Semi Join
    (IN/EXISTS sublink). We have moved that check inside
    `cdb_set_cheapest_dedup()`
    
    0. We are not exercising the pre-join-deduplication code path after
    this cherry-pick. Before this merge, we had three CDB specific
    nodes in `InClauseInfo` in which we recorded information for
    pre-join-dedup in case of simple uncorrelated IN sublinks.
    `try_join_unique`, `sub_targetlist` and `InOperators`
    Since we now have `SpecialJoinInfo` instead of `InClauseInfo`, we need
    to devise a way to record this information in `SpecialJoinInfo`.
    We have filed a follow-up story for this.
    
    Ref [#142356521]
    Signed-off-by: NDhanashree Kashid <dkashid@pivotal.io>
    e5f6e826
gporca.out 233.4 KB