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 32E8210615 for ; Tue, 17 Mar 2015 22:04:10 +0000 (UTC) Received: (qmail 48435 invoked by uid 500); 17 Mar 2015 22:04:10 -0000 Delivered-To: apmail-drill-dev-archive@drill.apache.org Received: (qmail 48376 invoked by uid 500); 17 Mar 2015 22:04:09 -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 48360 invoked by uid 500); 17 Mar 2015 22:04:09 -0000 Delivered-To: apmail-incubator-drill-dev@incubator.apache.org Received: (qmail 48354 invoked by uid 99); 17 Mar 2015 22:04:09 -0000 Received: from reviews-vm.apache.org (HELO reviews.apache.org) (140.211.11.40) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Mar 2015 22:04:09 +0000 Received: from reviews.apache.org (localhost [127.0.0.1]) by reviews.apache.org (Postfix) with ESMTP id E28351D420B; Tue, 17 Mar 2015 22:04:08 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============6501703786873255500==" MIME-Version: 1.0 Subject: Re: Review Request 31871: 2406 - part 2 - (subset of 2060 part 2) enable interpreted expression evaluation at planning time From: "Jason Altekruse" To: "Jacques Nadeau" Cc: "Chris Westin" , "Jason Altekruse" , "drill" Date: Tue, 17 Mar 2015 22:04:08 -0000 Message-ID: <20150317220408.391.1204@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/31871/ X-Sender: "Jason Altekruse" References: <20150316171114.391.32180@reviews.apache.org> In-Reply-To: <20150316171114.391.32180@reviews.apache.org> Reply-To: "Jason Altekruse" X-ReviewRequest-Repository: drill-git --===============6501703786873255500== 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/31871/ ----------------------------------------------------------- (Updated March 17, 2015, 10:04 p.m.) Review request for drill and Jacques Nadeau. Changes ------- Added isDeterministic() to funtion holder, marked isRandom() as deprecated. Bugs: DRILL-2406 https://issues.apache.org/jira/browse/DRILL-2406 Repository: drill-git Description ------- To enable planning rules to take advantage of constant expressions in queries, or to allow them to run queries against small datasets, such as partition information we need to e able to evaluate expressions at planning time. Expression evaluation in the regular expecuation path is relatively expensive, as it invovles java code generation, compilation and JITing expression trees. An interpreted expression system was added recently to allow evaluating an expression without generating java code at runtime. This patch exposes that work (after some refactorings in 2143 and the first part of 2406) to the planning context for use in optimizer rules. Diffs (updated) ----- exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFuncHolder.java 279c428 exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java fafc286 exec/java-exec/src/main/java/org/apache/drill/exec/memory/BufferAllocator.java 30b905f exec/java-exec/src/main/java/org/apache/drill/exec/memory/TopLevelAllocator.java 2a28bcb exec/java-exec/src/main/java/org/apache/drill/exec/ops/BufferManager.java PRE-CREATION exec/java-exec/src/main/java/org/apache/drill/exec/ops/FragmentContext.java 108f5bb exec/java-exec/src/main/java/org/apache/drill/exec/ops/QueryContext.java c881432 exec/java-exec/src/main/java/org/apache/drill/exec/planner/fragment/SimpleParallelizer.java f8d1803 exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillReduceAggregatesRule.java 93fff35 exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/visitor/InsertLocalExchangeVisitor.java 907fcb1 exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlOperator.java 6b54c43 exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java 409450f exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentExecutor.java 4ab3cc0 exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestLocalExchange.java fc1c6b9 exec/java-exec/src/test/java/org/apache/drill/exec/pop/TestFragmentChecker.java 07d310a Diff: https://reviews.apache.org/r/31871/diff/ Testing ------- Cluster tests completed, waiting on unit tests. Thanks, Jason Altekruse --===============6501703786873255500==--