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:[email protected]]
Sent: November-26-13 2:37 AM
To: [email protected]
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:[email protected]]
Sent: Tuesday, November 26, 2013 2:50 PM
To: [email protected]
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.