drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Norris Lee <norr...@simba.com>
Subject RE: How to contribute ?
Date Fri, 06 Dec 2013 21:22:12 GMT
Hello,

I took a stab at trying to implement the "like" function by adding to org/apache/drill/common/expression/fn/BooleanFunctions.java
and org/apache/drill/exec/expr/fn/impl/ComparisonFunctionsNullable.java (Are these the right
files to add it to?). However, I hit an error with DrillOptiq. The error I got was:

0: jdbc:drill:schema=parquet-local> select * from "sample-data/region.parquet" where 'test'
like 'test';
java.lang.AssertionError: todo: implement syntax Special(LIKE('test', 'test'))
        at org.apache.drill.optiq.DrillOptiq$RexToDrill.visitCall(DrillOptiq.java:129)
        at org.apache.drill.optiq.DrillOptiq$RexToDrill.visitCall(DrillOptiq.java:75)
        at org.eigenbase.rex.RexCall.accept(RexCall.java:220)
        at org.apache.drill.optiq.DrillOptiq.toDrill(DrillOptiq.java:71)
        at org.apache.drill.optiq.DrillFilterRel.implement(DrillFilterRel.java:57)
        at org.apache.drill.optiq.DrillImplementor.go(DrillImplementor.java:99)
        at org.apache.drill.optiq.EnumerableDrillRel.implement(EnumerableDrillRel.java:108)
        at net.hydromatic.optiq.rules.java.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:69)
        at net.hydromatic.optiq.prepare.OptiqPrepareImpl$OptiqPreparingStmt.implement(OptiqPrepareImpl.java:541)
        at net.hydromatic.optiq.prepare.Prepare.prepareSql(Prepare.java:227)
        at net.hydromatic.optiq.prepare.Prepare.prepareSql(Prepare.java:131)
        at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare2_(OptiqPrepareImpl.java:256)
        at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepare_(OptiqPrepareImpl.java:196)
        at net.hydromatic.optiq.prepare.OptiqPrepareImpl.prepareSql(OptiqPrepareImpl.java:169)
        at net.hydromatic.optiq.jdbc.OptiqStatement.parseQuery(OptiqStatement.java:402)
        at net.hydromatic.optiq.jdbc.OptiqStatement.execute(OptiqStatement.java:192)
        at sqlline.SqlLine$Commands.execute(SqlLine.java:3825)
        at sqlline.SqlLine$Commands.sql(SqlLine.java:3738)
        at sqlline.SqlLine.dispatch(SqlLine.java:882)
        at sqlline.SqlLine.begin(SqlLine.java:717)
        at sqlline.SqlLine.mainWithInputRedirection(SqlLine.java:460)
        at sqlline.SqlLine.main(SqlLine.java:443)

How would I go on from there? Any help/suggestions would be appreciated. (I will create a
JIRA for this soon).

Thanks,
Norris

-----Original Message-----
From: Yash Sharma [mailto:yash.sharma@impetus.co.in] 
Sent: November-26-13 2:37 AM
To: drill-dev@incubator.apache.org
Subject: RE: How to contribute ?

Hi Rohit,
Welcome to the Crew.
Apart from looking into JIRA's, I would also suggest you to debug the existing test classes
. This will show you the flow of a drill plan in execution.
Eg: https://github.com/apache/incubator-drill/blob/master/exec/ref/src/test/java/org/apache/drill/exec/ref/RunSimplePlan.java

Here is a cool post by Tim on the lifetime of Drill Query which will be helpful while debugging
the flow:
Read: http://tnachen.wordpress.com/2013/11/05/lifetime-of-a-query-in-drill-alpha-release/

Also you can have a look into how Drill Functions work and you can add in some new Drill Functions.
Drill Functions are pretty simple to understand and there are lot of examples implemented.
This is how a sample Drill Func. looks like:
https://github.com/apache/incubator-drill/blob/103072a619741d5e228fdb181501ec2f82e111a3/sandbox/prototype/exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/impl/ComparisonFunctions.java

I had a small post on contributing to MathFunctions which might be helpful:
http://www.confusedcoders.com/bigdata/apache-drill/how-to-contribute-to-apache-drill-implementing-drill-math-functions

Good luck Drilling.
- Yash



-----Original Message-----
From: Rohit [mailto:rohit0286@gmail.com]
Sent: Tuesday, November 26, 2013 2:50 PM
To: drill-dev@incubator.apache.org
Subject: How to contribute ?

Hey Guys,

I've configured Drill for Dev on my machine. However, I'm still not clear how should i start
contributing to it.

I've gone through Jira issues. Being a newbie to this project i think it would be best to
start over with fixing test cases or add new test cases or trivial bugs. This will help me
in acquainting with Drill code. However, I couldn't find any issues like this. (Jira issues
- test.)

Please let me know how should i start.

Thanks,
RS.

________________________________






NOTE: This message may contain information that is confidential, proprietary, privileged or
otherwise protected by law. The message is intended solely for the named addressee. If received
in error, please destroy and notify the sender. Any use of this email is prohibited when received
in error. Impetus does not represent, warrant and/or guarantee, that the integrity of this
communication has been maintained nor that the communication is free of errors, virus, interception
or interference.

Mime
View raw message