maybe try with a mvn clean install and let all tests run. I did a clean checkout and query worked.
Also, we haven't added syntactic sugar yet so you need to do: >>select _MAP['type'] from donuts instead of >>select type from donuts Note that you can use subqueries to clean things up a bit. SELECT ppu, count(1) AS cnt FROM (SELECT _MAP['ppu'] AS ppu, _MAP['type'] AS type FROM donuts)y GROUP BY ppu ORDER BY ppu DESC; If I recall, Julian has worked on adding views but I don't think we have that available in Drill yet. (Julian will be able to confirm). I also thought we had added limit but I trying it reveals it isn't in yet. Jacques On Sun, Jul 21, 2013 at 2:32 PM, Ted Dunning <[email protected]> wrote: > I am prepping for a workshop and it appears that sql line is a bit broken. > > Steps that I did: > > installed protoc 2.5.0 > git pull and checkout of pre_exec_merge > > > This seems all in order. > > Then I run sqlline and connect to the donuts table which seems to work well > (I added a -q in sqlline to minimize mvn squawking) > > $ cd incubator-drill/sandbox/prototype > $ mvn install -DskipTests > $ rm .classpath > $ ./sqlline > /Users/tdunning/.sqlline/sqlline.properties (No such file or directory) > sqlline version ??? by Marc Prud'hommeaux > sqlline> !connect > jdbc:optiq:model=common/target/test-classes/donuts-model.json admin admin > Connecting to jdbc:optiq:model=common/target/test-classes/donuts-model.json > ... lots of messages about logback being configured poorly ... > > Connected to: Optiq (version 0.4.2) > Driver: Optiq JDBC Driver (version 0.4.2) > Autocommit status: true > Transaction isolation: TRANSACTION_REPEATABLE_READ > > > Here is the exciting part. I enter a simple query: > > 0: jdbc:optiq:model=common/target/test-classe> select * from donuts; > > What pops out is a reasonable logical plan: > > { > "head":{ > "type":"apache_drill_logical_plan", > "version":"1", > "generator":{"type":"manual","info":"na"} > }, > "storage":[ > {"name":"donuts-json","type":"classpath"}, > {"name":"queue","type":"queue"}], > "query":[ > {"op":"sequence","do":[ > > {"op":"scan","memo":"initial_scan","ref":"_MAP","storageengine":"donuts-json","selection":{"path":"/donuts.json","type":"JSON"}}, > > {"op":"project","projections":[{"expr":"_MAP","ref":"output._MAP"}]}, > {"op":"store","storageengine":"queue","memo":"output > sink","target":{"number":0}} > ] > } > ] > } > > And then problems start: > > 14:24:55.515 [main] DEBUG o.a.drill.common.config.DrillConfig - Loading > configs at the following URLs > [jar:file:/Users/tdunning/.m2/repository/org/apache/drill/exec/ref/1.0-SNAPSHOT/ref-1.0-SNAPSHOT.jar!/drill-module.conf, > jar:file:/Users/tdunning/.m2/repository/org/apache/drill/common/1.0-SNAPSHOT/common-1.0-SNAPSHOT.jar!/drill-module.conf, > file:/Users/tdunning/Apache/Drill/incubator-drill/sandbox/prototype/exec/ref/target/classes/drill-module.conf, > file:/Users/tdunning/Apache/Drill/incubator-drill/sandbox/prototype/exec/java-exec/target/classes/drill-module.conf] > 14:24:55.527 [main] DEBUG o.a.d.c.l.data.LogicalOperatorBase - Adding > Logical Operator sub types: [class > org.apache.drill.common.logical.data.Join, class > org.apache.drill.common.logical.data.Project, class > org.apache.drill.common.logical.data.Limit, class > org.apache.drill.common.logical.data.Order, class > org.apache.drill.common.logical.data.Transform, class > org.apache.drill.common.logical.data.Filter, class > org.apache.drill.common.logical.data.Constant, class > org.apache.drill.common.logical.data.Flatten, class > org.apache.drill.common.logical.data.Sequence, class > org.apache.drill.common.logical.data.Store, class > org.apache.drill.common.logical.data.Union, class > org.apache.drill.common.logical.data.Segment, class > org.apache.drill.common.logical.data.RunningAggregate, class > org.apache.drill.common.logical.data.WindowFrame, class > org.apache.drill.common.logical.data.Scan, class > org.apache.drill.common.logical.data.CollapsingAggregate] > 14:24:55.529 [main] DEBUG o.a.d.c.l.StorageEngineConfigBase - Adding > Storage Engine Configs including [class > org.apache.drill.exec.ref.rse.ClasspathRSE$ClasspathRSEConfig, class > org.apache.drill.exec.ref.rse.FileSystemRSE$FileSystemRSEConfig, class > org.apache.drill.exec.ref.rse.ConsoleRSE$ConsoleRSEConfig, class > org.apache.drill.exec.ref.rse.QueueRSE$QueueRSEConfig] > 14:24:55.550 [main] DEBUG o.a.drill.common.logical.JSONOptions - Creating > Deserializer. > 14:24:55.553 [main] DEBUG o.a.drill.common.logical.JSONOptions - Creating > Deserializer. > java.lang.NoClassDefFoundError: > org/apache/drill/common/expression/NoArgValidator > at > org.apache.drill.exec.expr.fn.impl.Alternator$Provider.getFunctionDefintions(Alternator.java:43) > at > org.apache.drill.common.expression.FunctionRegistry.<init>(FunctionRegistry.java:44) > at > org.apache.drill.common.expression.LogicalExpression$De.deserialize(LogicalExpression.java:74) > at > org.apache.drill.common.expression.LogicalExpression$De.deserialize(LogicalExpression.java:54) > at > com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:375) > at > com.fasterxml.jackson.databind.deser.BeanDeserializer._deserializeUsingPropertyBased(BeanDeserializer.java:5 > > > The query [select donuts._map from donuts] works identically ... good plan, > big stack trace. > > Anybody have suggestions here? It looks like Jackson is unable to read and > parse the logical plan. > > In related issues, if I try [select type from donuts] or [select > donuts.type from donuts] I get this error and no logical plan: > > Jul 21, 2013 2:29:52 PM org.eigenbase.sql.validate.SqlValidatorException > <init> > > SEVERE: org.eigenbase.sql.validate.SqlValidatorException: Column 'TYPE' not > found in table 'DONUTS'
