Return-Path: X-Original-To: apmail-drill-dev-archive@www.apache.org Delivered-To: apmail-drill-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5EBE917766 for ; Tue, 3 Nov 2015 05:25:55 +0000 (UTC) Received: (qmail 940 invoked by uid 500); 3 Nov 2015 05:25:55 -0000 Delivered-To: apmail-drill-dev-archive@drill.apache.org Received: (qmail 886 invoked by uid 500); 3 Nov 2015 05:25:55 -0000 Mailing-List: contact dev-help@drill.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@drill.apache.org Delivered-To: mailing list dev@drill.apache.org Received: (qmail 875 invoked by uid 99); 3 Nov 2015 05:25:54 -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; Tue, 03 Nov 2015 05:25:54 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 91E76E0418; Tue, 3 Nov 2015 05:25:54 +0000 (UTC) From: jacques-n To: dev@drill.apache.org Reply-To: dev@drill.apache.org References: In-Reply-To: Subject: [GitHub] drill pull request: DRILL-2288: Fix ScanBatch violation of IterOut... Content-Type: text/plain Message-Id: <20151103052554.91E76E0418@git1-us-west.apache.org> Date: Tue, 3 Nov 2015 05:25:54 +0000 (UTC) Github user jacques-n commented on a diff in the pull request: https://github.com/apache/drill/pull/228#discussion_r43717313 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/fn/JsonReader.java --- @@ -93,13 +93,15 @@ public void ensureAtLeastOneField(ComplexWriter writer) { if (!atLeastOneWrite) { // if we had no columns, create one empty one so we can return some data for count purposes. SchemaPath sp = columns.get(0); - PathSegment root = sp.getRootSegment(); + PathSegment fieldPath = sp.getRootSegment(); BaseWriter.MapWriter fieldWriter = writer.rootAsMap(); - while (root.getChild() != null && !root.getChild().isArray()) { - fieldWriter = fieldWriter.map(root.getNameSegment().getPath()); - root = root.getChild(); + while (fieldPath.getChild() != null && ! fieldPath.getChild().isArray()) { + fieldWriter = fieldWriter.map(fieldPath.getNameSegment().getPath()); + fieldPath = fieldPath.getChild(); + } + if (fieldWriter.isEmptyMap()) { --- End diff -- The change I was focused on was the addition of the fieldWriter.isEmptyMap() condition. Why was this condition added to the code? --- 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. ---