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 C2B3D200C62 for ; Wed, 26 Apr 2017 22:39:28 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C1469160BA8; Wed, 26 Apr 2017 20:39:28 +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 1570D16090A for ; Wed, 26 Apr 2017 22:39:27 +0200 (CEST) Received: (qmail 33559 invoked by uid 500); 26 Apr 2017 20:39:27 -0000 Mailing-List: contact issues-help@carbondata.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@carbondata.apache.org Delivered-To: mailing list issues@carbondata.apache.org Received: (qmail 33550 invoked by uid 99); 26 Apr 2017 20:39:27 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 Apr 2017 20:39:27 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id ED805D549C for ; Wed, 26 Apr 2017 20:39:26 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.021 X-Spam-Level: X-Spam-Status: No, score=-4.021 tagged_above=-999 required=6.31 tests=[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=-0.001] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id Zel3epZb5i2y for ; Wed, 26 Apr 2017 20:39:26 +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 D15DA5F297 for ; Wed, 26 Apr 2017 20:39:25 +0000 (UTC) Received: (qmail 33545 invoked by uid 99); 26 Apr 2017 20:39:25 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 26 Apr 2017 20:39:25 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id E1E26DFD9C; Wed, 26 Apr 2017 20:39:24 +0000 (UTC) From: jackylk To: issues@carbondata.incubator.apache.org Reply-To: issues@carbondata.incubator.apache.org References: In-Reply-To: Subject: [GitHub] incubator-carbondata pull request #795: [CARBONDATA-923] Fix issue of insert... Content-Type: text/plain Message-Id: <20170426203924.E1E26DFD9C@git1-us-west.apache.org> Date: Wed, 26 Apr 2017 20:39:24 +0000 (UTC) archived-at: Wed, 26 Apr 2017 20:39:28 -0000 Github user jackylk commented on a diff in the pull request: https://github.com/apache/incubator-carbondata/pull/795#discussion_r113556768 --- Diff: integration/spark2/src/main/scala/org/apache/spark/sql/hive/CarbonAnalysisRules.scala --- @@ -52,7 +53,26 @@ object CarbonPreInsertionCasts extends Rule[LogicalPlan] { ) } if (child.output.size >= relation.carbonRelation.output.size) { - InsertIntoCarbonTable(relation, p.partition, p.child, p.overwrite, p.ifNotExists) + var index = 0 + val newChildOutput = child.output.map { column => + index = index + 1 + column match { + case attr: Alias => + Alias(attr.child, s"col$index")(attr.exprId) + case attr: Attribute => + Alias(attr, s"col$index")(NamedExpression.newExprId) + case attr => attr + } + } + if (newChildOutput == child.output) { + InsertIntoCarbonTable(relation, p.partition, p.child, p.overwrite, p.ifNotExists) + } else { + InsertIntoCarbonTable(relation, + p.partition, + Project(newChildOutput, child), --- End diff -- I think you can move the creation of `InsertIntoCarbonTable` below else clause, so that it will take care of both if and else case. Only one parameter is different. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastructure@apache.org or file a JIRA ticket with INFRA. ---