> On March 10, 2015, 4:52 a.m., Jacques Nadeau wrote: > > exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlOperator.java, > > line 43 > > <https://reviews.apache.org/r/31871/diff/1/?file=889812#file889812line43> > > > > Can you update this interface to be isDeterministic? Update func > > holder as well. Simply keep the old interface of isRandom() and mark as > > deprecated. Additionally, please provide a default constructor that is > > isDeterministic = true so that we don't have to change all the places were > > we assumed that behavior.
I will start this work, but I was trying to avoid confusion within Drill as much as possible, as well as major refactoring. If we want to change this pattern everywhere, that would include where we define all of the non-deterministic UDFs (although admittedly there aren't too many of them). I had chosen this point as it was exactly where we meet with the Calcite API. - Jason ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/31871/#review75852 ----------------------------------------------------------- On March 9, 2015, 10:07 p.m., Jason Altekruse wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/31871/ > ----------------------------------------------------------- > > (Updated March 9, 2015, 10:07 p.m.) > > > Review request for drill and Jacques Nadeau. > > > 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 > ----- > > > exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/DrillFunctionRegistry.java > 00aaec6 > > 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 > aa1dffd > 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/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 > > Diff: https://reviews.apache.org/r/31871/diff/ > > > Testing > ------- > > Cluster tests completed, waiting on unit tests. > > > Thanks, > > Jason Altekruse > >