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 1CC9B17BCB for ; Thu, 26 Mar 2015 00:01:57 +0000 (UTC) Received: (qmail 98273 invoked by uid 500); 26 Mar 2015 00:01:56 -0000 Delivered-To: apmail-drill-dev-archive@drill.apache.org Received: (qmail 98209 invoked by uid 500); 26 Mar 2015 00:01:56 -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 98194 invoked by uid 500); 26 Mar 2015 00:01:56 -0000 Delivered-To: apmail-incubator-drill-dev@incubator.apache.org Received: (qmail 98181 invoked by uid 99); 26 Mar 2015 00:01:56 -0000 Received: from reviews-vm.apache.org (HELO reviews.apache.org) (140.211.11.40) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 26 Mar 2015 00:01:56 +0000 Received: from reviews.apache.org (localhost [127.0.0.1]) by reviews.apache.org (Postfix) with ESMTP id DD20A1D526B; Thu, 26 Mar 2015 00:01:55 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============0029937361235484866==" MIME-Version: 1.0 Subject: Re: Review Request 30697: Drill-2060 - part 2 - constant expression folding during planning From: "Jason Altekruse" To: "Aman Sinha" , "Parth Chandra" , "Jacques Nadeau" , "Jinfeng Ni" , "Aditya Kishore" , "Mehant Baid" Cc: "drill" , "Jason Altekruse" , "Julian Hyde" Date: Thu, 26 Mar 2015 00:01:55 -0000 Message-ID: <20150326000155.1504.89899@reviews.apache.org> X-ReviewBoard-URL: https://reviews.apache.org/ Auto-Submitted: auto-generated Sender: "Jason Altekruse" X-ReviewGroup: drill-git X-ReviewRequest-URL: https://reviews.apache.org/r/30697/ X-Sender: "Jason Altekruse" References: <20150324165328.1505.35422@reviews.apache.org> In-Reply-To: <20150324165328.1505.35422@reviews.apache.org> Reply-To: "Jason Altekruse" X-ReviewRequest-Repository: drill-git --===============0029937361235484866== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30697/ ----------------------------------------------------------- (Updated March 26, 2015, 12:01 a.m.) Review request for drill, Aditya Kishore, Aman Sinha, Jacques Nadeau, Jinfeng Ni, Mehant Baid, and Parth Chandra. Changes ------- Addressed review comments Bugs: DRILL-2060 https://issues.apache.org/jira/browse/DRILL-2060 Repository: drill-git Description ------- THIS REQUEST HAS BEEN BROKEN INTO TWO REVIEWS: - I had to make a fairly substandial change to the interpreteed expression evaluation to make the tests work. Use a small modification of a rule in optiq and hook up the interpreted expression evaluator to fold constant expressions (including those with Drill UDFs) into literals. Fragment memory limits have been disabled, a more complete refactoring of memory management is planned, the changes made here were to allow the creation of a childAllocator without access to a fragment context. I have added two comments next to the modifiations I made to the optiq rule for our use case. Diffs (updated) ----- common/src/main/java/org/apache/drill/common/expression/ExpressionStringBuilder.java d3839ed contrib/storage-hive/core/src/main/java/org/apache/drill/exec/planner/sql/HiveUDFOperator.java 7524690 exec/java-exec/src/main/codegen/templates/TypeHelper.java d387b74 exec/java-exec/src/main/java/io/netty/buffer/DrillBuf.java d87fb76 exec/java-exec/src/main/java/org/apache/drill/exec/expr/ExpressionTreeMaterializer.java 6d42136 exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java 32cf362 exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/StringFunctionHelpers.java 3b1d7ef exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/interpreter/InterpreterEvaluator.java 35c35ec exec/java-exec/src/main/java/org/apache/drill/exec/ops/BufferManager.java 536f6fd exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/project/ProjectRecordBatch.java 0c7a71a exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillConstExecutor.java PRE-CREATION exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceExpressionsRule.java PRE-CREATION exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillRuleSets.java b1a7189 exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/PlannerSettings.java f320157 exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java 710418b exec/java-exec/src/main/java/org/apache/drill/exec/server/options/SystemOptionManager.java 608fac7 exec/java-exec/src/test/java/org/apache/drill/PlanningBase.java e673230 exec/java-exec/src/test/java/org/apache/drill/TestProjectPushDown.java cbb5c6e exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestAggregateFunctions.java 72ad31a exec/java-exec/src/test/java/org/apache/drill/exec/fn/interp/TestConstantFolding.java PRE-CREATION exec/java-exec/src/test/resources/parquet/alltypes.json PRE-CREATION pom.xml 05573a1 Diff: https://reviews.apache.org/r/30697/diff/ Testing ------- This is a work in progress, some testing has been done, no full unit test run yet Thanks, Jason Altekruse --===============0029937361235484866==--