[ https://issues.apache.org/jira/browse/HIVE-14943?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15637968#comment-15637968 ]
Alan Gates commented on HIVE-14943: ----------------------------------- Comments in the code on the review board. I also have some questions on how the WHEN clauses work: The AND segment of the WHEN clause, is the expression evaluated against the target table or source table(s) or either or both? The implementation seems to imply that a single row coming from the source will go down a particular branch of the WHEN clause, particularly since it specifies that if there are to WHEN MATCHED clauses one must be an UPDATE and one must be a DELETE, and since you are requiring and AND in the WHEN. But AFAICT an AND alone isn't sufficient to guarantee a record only applies to one side. For example: {code} MERGE INTO T USING U ON T.a = U.a WHEN MATCHED AND U.timestamp < 'yesterday' THEN DELETE WHEN MATCHED THEN UPDATE T.timestamp = U.timestamp WHEN NOT MATCHED THEN INSERT; {code} A row with U.timestamp < 'yesterday' matches both the delete and update clauses. How do you decide which wins? How do you guarantee that the winner you want is the winner you get? On INSERT, are we requiring the VALUES clause or allowing them to omit it (as I did above) and assume they mean find matching columns in the source expression and target table and insert appropriately? Finally, all the of the tests are unit tests. Do you plan to add .q tests separately? > Base Implementation > ------------------- > > Key: HIVE-14943 > URL: https://issues.apache.org/jira/browse/HIVE-14943 > Project: Hive > Issue Type: Sub-task > Components: Transactions > Reporter: Eugene Koifman > Assignee: Eugene Koifman > Attachments: HIVE-14943.2.patch, HIVE-14943.3.patch, > HIVE-14943.4.patch, HIVE-14943.5.patch, HIVE-14943.6.patch, > HIVE-14943.7.patch, HIVE-14943.8.patch, HIVE-14943.9.patch, HIVE-14943.patch > > > Create the 1st pass functional implementation of MERGE > This should run e2e and produce correct results. -- This message was sent by Atlassian JIRA (v6.3.4#6332)