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 BA6F5200B66 for ; Thu, 18 Aug 2016 23:53:24 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id B9058160A86; Thu, 18 Aug 2016 21:53:24 +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 0C9D6160AAE for ; Thu, 18 Aug 2016 23:53:23 +0200 (CEST) Received: (qmail 64756 invoked by uid 500); 18 Aug 2016 21:53:23 -0000 Mailing-List: contact notifications-help@asterixdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@asterixdb.apache.org Delivered-To: mailing list notifications@asterixdb.apache.org Received: (qmail 64747 invoked by uid 99); 18 Aug 2016 21:53:23 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 Aug 2016 21:53:23 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id DCBC1C034D for ; Thu, 18 Aug 2016 21:53:22 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.646 X-Spam-Level: X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id WTCVVdJMvwI4 for ; Thu, 18 Aug 2016 21:53:22 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 57A195FB17 for ; Thu, 18 Aug 2016 21:53:21 +0000 (UTC) Received: (qmail 64123 invoked by uid 99); 18 Aug 2016 21:53:20 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 18 Aug 2016 21:53:20 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 704712C0032 for ; Thu, 18 Aug 2016 21:53:20 +0000 (UTC) Date: Thu, 18 Aug 2016 21:53:20 +0000 (UTC) From: "Taewoo Kim (JIRA)" To: notifications@asterixdb.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (ASTERIXDB-1086) IntroduceProjectsRule creates a wrong PROJECT operator when there are multiple paths. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Thu, 18 Aug 2016 21:53:24 -0000 [ https://issues.apache.org/jira/browse/ASTERIXDB-1086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15427229#comment-15427229 ] Taewoo Kim commented on ASTERIXDB-1086: --------------------------------------- This is part of index-only change and is uploaded as a patch set: https://asterix-gerrit.ics.uci.edu/#/c/1073/ > IntroduceProjectsRule creates a wrong PROJECT operator when there are multiple paths. > ------------------------------------------------------------------------------------- > > Key: ASTERIXDB-1086 > URL: https://issues.apache.org/jira/browse/ASTERIXDB-1086 > Project: Apache AsterixDB > Issue Type: Bug > Components: AsterixDB, Optimizer > Reporter: Taewoo Kim > Assignee: Taewoo Kim > Labels: with-index-only > > IntroduceProjectsRule introduce a wrong project to filter out a variable that is used in the one of two paths after SPLIT (REPLICATE) operator. In my branch, I am trying to optimize the index-search. In order to implement this, there is an ASSIGN operator and it assigns a variable that is going to be used in the SELECT operator. After ASSIGN, there is SPLIT operator. It divides the path into two - the left path contains the SELECT and the other path contains no operator. Two paths will be merged by UNION operator. The issue is IntroduceProjectRule can't consider all paths at the same time. Thus, when it checks the right path, it introduces a wrong PROJECT operator that filters out one variable in the ASSIGN before SPLIT since it thinks that the variable is not used after ASSIGN operator. In fact, the variable is used in the left path. -- This message was sent by Atlassian JIRA (v6.3.4#6332)