Eugene Koifman created HIVE-14949:

             Summary: Enforce that target:source is not 1:N
                 Key: HIVE-14949
             Project: Hive
          Issue Type: Sub-task
          Components: Transactions
            Reporter: Eugene Koifman
            Assignee: Eugene Koifman

If > 1 row on source side matches the same row on target side that means that  
we are forced update (or delete) the same row in target more than once as part 
of the same SQL statement.  This should raise an error per SQL Spec

There is no sure way to do this via static analysis of the query.

Can we add something to ROJ operator to pay attention to ROW__ID of target side 
row and compare it with ROW__ID of target side of previous row output?  If they 
are the same, that means > 1 source row matched.
Or perhaps just mark each row in the hash table that it matched.  And if it 
matches again, throw an error.

This message was sent by Atlassian JIRA

Reply via email to