[ 
https://issues.apache.org/jira/browse/TRAFODION-2047?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15398074#comment-15398074
 ] 

ASF GitHub Bot commented on TRAFODION-2047:
-------------------------------------------

Github user zellerh commented on a diff in the pull request:

    https://github.com/apache/incubator-trafodion/pull/623#discussion_r72685632
  
    --- Diff: core/sql/optimizer/BindRelExpr.cpp ---
    @@ -717,7 +717,7 @@ static ItemExpr *intersectColumns(const RETDesc 
&leftTable,
         ItemExpr *leftExpr  = leftTable.getValueId(i).getItemExpr();
         ItemExpr *rightExpr = rightTable.getValueId(i).getItemExpr();
         BiRelat *compare = new (bindWA->wHeap())
    -      BiRelat(ITM_EQUAL, leftExpr, rightExpr);
    +      BiRelat(ITM_EQUAL, leftExpr, rightExpr, TRUE);
    --- End diff --
    
    My hope is that hash and merge join are carefully implemented to make this 
type of equals predicate with the "special nulls" semantics work as an 
equi-join predicate. If we hash/sort NULL values as regular values, and 
preserve the "special nulls" semantics for the actual comparison that's done in 
the hash/merge join, it might work just fine, and hopefully your example proves 
that this is indeed how it's implemented. The easiest way to check this is 
probably an EXPLAIN and a SHOWPLAN. If you want to send me this info for the 
example you added to the regression test (the one that includes a NULL value), 
I can take a look.


> add SQL syntax support to INTERSECT
> -----------------------------------
>
>                 Key: TRAFODION-2047
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-2047
>             Project: Apache Trafodion
>          Issue Type: New Feature
>            Reporter: liu ming
>            Assignee: liu ming
>             Fix For: 2.1-incubating
>
>
> INTERSECT is a common SQL syntax. 
> Trafodion should support it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to