Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 4D3D4200B9D for ; Thu, 13 Oct 2016 20:32:23 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 4BE6D160AE4; Thu, 13 Oct 2016 18:32:23 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id B8475160AD2 for ; Thu, 13 Oct 2016 20:32:22 +0200 (CEST) Received: (qmail 76437 invoked by uid 500); 13 Oct 2016 18:32:21 -0000 Mailing-List: contact dev-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hive.apache.org Delivered-To: mailing list dev@hive.apache.org Received: (qmail 76418 invoked by uid 99); 13 Oct 2016 18:32:21 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 13 Oct 2016 18:32:21 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id AC28D2C0059 for ; Thu, 13 Oct 2016 18:32:21 +0000 (UTC) Date: Thu, 13 Oct 2016 18:32:21 +0000 (UTC) From: "Eugene Koifman (JIRA)" To: dev@hive.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (HIVE-14949) Enforce that target:source is not 1:N MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 13 Oct 2016 18:32:23 -0000 Eugene Koifman created HIVE-14949: ------------------------------------- Summary: Enforce that target:source is not 1:N Key: HIVE-14949 URL: https://issues.apache.org/jira/browse/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 (v6.3.4#6332)