Return-Path: X-Original-To: apmail-drill-issues-archive@minotaur.apache.org Delivered-To: apmail-drill-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 870AE10F34 for ; Thu, 29 May 2014 15:46:36 +0000 (UTC) Received: (qmail 96314 invoked by uid 500); 29 May 2014 15:46:36 -0000 Delivered-To: apmail-drill-issues-archive@drill.apache.org Received: (qmail 96290 invoked by uid 500); 29 May 2014 15:46:36 -0000 Mailing-List: contact issues-help@drill.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@drill.incubator.apache.org Delivered-To: mailing list issues@drill.incubator.apache.org Received: (qmail 96281 invoked by uid 99); 29 May 2014 15:46:36 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 May 2014 15:46:36 +0000 X-ASF-Spam-Status: No, hits=-2000.7 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 29 May 2014 15:46:35 +0000 Received: (qmail 93145 invoked by uid 99); 29 May 2014 15:46:15 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 May 2014 15:46:15 +0000 Date: Thu, 29 May 2014 15:46:15 +0000 (UTC) From: "Jacques Nadeau (JIRA)" To: issues@drill.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (DRILL-173) Join operator should reuse ValueVectors when duplicate keys are present MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DRILL-173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jacques Nadeau updated DRILL-173: --------------------------------- Fix Version/s: Future > Join operator should reuse ValueVectors when duplicate keys are present > ----------------------------------------------------------------------- > > Key: DRILL-173 > URL: https://issues.apache.org/jira/browse/DRILL-173 > Project: Apache Drill > Issue Type: Bug > Affects Versions: 1.0.0-milestone-1 > Reporter: Ben Becker > Labels: optimization > Fix For: Future > > > There are cases where joining two record batches can result in redundant work. Consider a merge join performed on two tables (*t1* and *t2*) with duplicate keys on both sides: > h5. t1 > || key || value || > | 2 | 'a' | > | 2 | 'b' | > h5. t2 > || key || value || > | 2 | 'A' | > | 2 | 'B' | > | 2 | 'C' | > The resulting table will contain the cross product of all key values '2': > || key || t1.value || t2.value || > | 2 | 'a' | 'A' | > | 2 | 'a' | 'B' | > | 2 | 'a' | 'C' | > | 2 | 'b' | 'A' | > | 2 | 'b' | 'B' | > | 2 | 'b' | 'C' | > The current implementation iteratively copies t2.value from the incoming vectors. Ideally, the t2.value vector would only be iteratively constructed the first pass; after that it can be copied. -- This message was sent by Atlassian JIRA (v6.2#6252)