----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/16230/#review30520 -----------------------------------------------------------
exec/java-exec/src/main/codegen/data/MathFunctionTypes.tdd <https://reviews.apache.org/r/16230/#comment58453> Where did you get these conversion rules? For example, TinyInt + TinyInt => BigInt? - Jacques Nadeau On Dec. 13, 2013, 12:56 a.m., Mehant Baid wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/16230/ > ----------------------------------------------------------- > > (Updated Dec. 13, 2013, 12:56 a.m.) > > > Review request for drill and Jacques Nadeau. > > > Bugs: DRILL-320 > https://issues.apache.org/jira/browse/DRILL-320 > > > Repository: drill-git > > > Description > ------- > > Rework the implementations of existing math functions to use codegen so that > we have a more complete list of implementations. Previous implementations > were done manually so we only had a handful of implementations for each > function. Now that we are using freemarker to generate code during compile > time we can easily have all the required implementations. > > We were also missing any implementation for multiply and divide functions, so > added that as part of this JIRA. > > The implementations added here are for inputs with similar types (eg: for the > function 'add', the inputs can be of type INT, INT or FLOAT, FLOAT etc). The > expectation is that if we have implementations for similar types of input, > once we have implicit casting we should be able to cast one of the inputs so > that both the inputs are of the same type. > > > MathFunctionTypes.tdd, MathFunctionTemplates.java: > The above two files are used by freemarker to generate code for all the types > specified in MathFunctionTypes.tdd using the template specified in > MathFunctionTemplates.java. > > ComparisonFunctions.java, SimpleRepeatedFunctions.java: > Simple modification in these files to use the correct class for logging > purposes. > > MathFunctions.java: > This class used to contain some implementations for add, subtract methods. > Removed those from here, since we have all the implementations via codegen. > > TestMathFunctions.java, simple_math_functions.json: > Added really basic test cases for add and multiply functions. > > > Diffs > ----- > > exec/java-exec/src/main/codegen/config.fmpp cd2b2cc > exec/java-exec/src/main/codegen/data/MathFunctionTypes.tdd PRE-CREATION > exec/java-exec/src/main/codegen/templates/MathFunctionTemplates.java > PRE-CREATION > > exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ComparisonFunctions.java > 15034cd > > exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/MathFunctions.java > 288760b > > exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/SimpleRepeatedFunctions.java > 2f838b1 > > exec/java-exec/src/test/java/org/apache/drill/exec/fn/impl/TestMathFunctions.java > PRE-CREATION > exec/java-exec/src/test/resources/functions/simple_math_functions.json > PRE-CREATION > > Diff: https://reviews.apache.org/r/16230/diff/ > > > Testing > ------- > > Manual testing using sqlline. > > Added basic test cases in TestMathFunctions.java, simple addition and > multiplication of constants. > > > Thanks, > > Mehant Baid > >
