Thanks Venki. Thanks & Regards, B Anil Kumar.
On Sat, Mar 1, 2014 at 9:22 PM, Venki Korukanti <[email protected]>wrote: > Hi Anil, > > I think custom functions within SQL are not supported yet. There is a > separate JIRA for that. You can test by creating a physical plan that uses > your function. An example of physical plan > is: > <gitclone>/exec/java-exec/src/test/resources/functions/testSubstring.json. > In the "project" operator change expr from "substr" to your function. Once > you create a physical plan either you can submit it through > "./bin/submit_plan" or write a unittest that submits this plan. I prefer > the latter as you anyway need a unittest that tests your code in order to > submit the patch. Example unittest for testSubstring.json file is: > > <gitclone>/exec/java-exec/src/test/java/org/apache/drill/exec/physical/impl/TestSimpleFunctions.java, > look at testSubstring. > > Thanks > Venki > > > On Sat, Mar 1, 2014 at 6:16 AM, AnilKumar B <[email protected]> wrote: > > > I am new to Apache drill, trying to implement Power > > function(DRILL-390<https://issues.apache.org/jira/browse/DRILL-390>), > > I implemented Power function, and registered in > > org.apache.drill.common.expression.fn.MathFunctions as below. > > > > FunctionDefinition.operator("power", new > > ArgumentValidators.NumericTypeAllowed(2, true), new > > OutputTypeDeterminer.SameAsAnySoft() , "pow") > > > > While testing, I am facing below issue, am I missing any other > > registration? > > > > 0: jdbc:drill:schema=parquet-local> SELECT pow(2.0,3.0) AS POW_VALUE FROM > > "sample-data/region.parquet"; > > Mar 01, 2014 7:35:50 PM org.eigenbase.sql.validate.SqlValidatorException > > <init> > > SEVERE: org.eigenbase.sql.validate.SqlValidatorException: No match found > > for function signature POW(<NUMERIC>, <NUMERIC>) > > Mar 01, 2014 7:35:50 PM org.eigenbase.util.EigenbaseException <init> > > SEVERE: org.eigenbase.util.EigenbaseContextException: From line 1, > column 8 > > to line 1, column 19 > > org.eigenbase.util.EigenbaseContextException: From line 1, column 8 to > line > > 1, column 19 > > at > > > > > org.eigenbase.resource.EigenbaseResource$_Def12.ex(EigenbaseResource.java:1026) > > at org.eigenbase.sql.SqlUtil.newContextException(SqlUtil.java:739) > > at org.eigenbase.sql.SqlUtil.newContextException(SqlUtil.java:726) > > at > > > > > org.eigenbase.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:3849) > > at > > > > > org.eigenbase.sql.validate.SqlValidatorImpl.handleUnresolvedFunction(SqlValidatorImpl.java:1613) > > at org.eigenbase.sql.SqlFunction.deriveType(SqlFunction.java:312) > > at org.eigenbase.sql.SqlFunction.deriveType(SqlFunction.java:222) > > > > > > > > > > Thanks & Regards, > > B Anil Kumar. > > >
