Hi, Forget about it, after ten years without SQL, i managed to forget i had to wrap the WHERE value in quotes, single quotes in this case.
Thanks, Markus -----Original message----- > From:Markus Jelsma <markus.jel...@openindex.io> > Sent: Wednesday 29th August 2018 11:51 > To: solr-user <solr-user@lucene.apache.org> > Subject: 7.4.0 SQL handler throws exception if WHERE clause is present > > Hello, > > I was, finally, trying the SQL handler on one of our collections. Executing a > SELECT * FROM logs LIMIT 10 runs fine, but restricting the set using a WHERE > clause gives me the exception below. The type field is a String type, indexed > and has DocValues. > > I must be doing something wrong, but have no idea what. > > Many thanks, > Markus > > stmt=SELECT * FROM logs WHERE type=query LIMIT 10 gives me: > > java.lang.AssertionError: cannot translate call =(CAST($7):VARCHAR CHARACTER > SET "ISO-8859-1" COLLATE "ISO-8859-1$en_US$primary", CAST($2):VARCHAR > CHARACTER SET "ISO-8859-1" COLLATE "ISO-8859-1$en_US$primary") > at > org.apache.solr.handler.sql.SolrFilter$Translator.translateBinary(SolrFilter.java:181) > > at > org.apache.solr.handler.sql.SolrFilter$Translator.translateComparison(SolrFilter.java:128) > > at > org.apache.solr.handler.sql.SolrFilter$Translator.translateMatch(SolrFilter.java:81) > > at > org.apache.solr.handler.sql.SolrFilter$Translator.access$100(SolrFilter.java:70) > > at org.apache.solr.handler.sql.SolrFilter.implement(SolrFilter.java:64) > at > org.apache.solr.handler.sql.SolrRel$Implementor.visitChild(SolrRel.java:103) > at org.apache.solr.handler.sql.SolrSort.implement(SolrSort.java:58) > at > org.apache.solr.handler.sql.SolrRel$Implementor.visitChild(SolrRel.java:103) > at org.apache.solr.handler.sql.SolrProject.implement(SolrProject.java:55) > at > org.apache.solr.handler.sql.SolrRel$Implementor.visitChild(SolrRel.java:103) > at > org.apache.solr.handler.sql.SolrToEnumerableConverter.implement(SolrToEnumerableConverter.java:61) > > at > org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:108) > > at > org.apache.calcite.adapter.enumerable.EnumerableInterpretable.toBindable(EnumerableInterpretable.java:92) > > at > org.apache.calcite.prepare.CalcitePrepareImpl$CalcitePreparingStmt.implement(CalcitePrepareImpl.java:1257) > > at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:331) > at org.apache.calcite.prepare.Prepare.prepareSql(Prepare.java:228) > at > org.apache.calcite.prepare.CalcitePrepareImpl.prepare2_(CalcitePrepareImpl.java:784) > > at > org.apache.calcite.prepare.CalcitePrepareImpl.prepare_(CalcitePrepareImpl.java:639) > > at > org.apache.calcite.prepare.CalcitePrepareImpl.prepareSql(CalcitePrepareImpl.java:609) > > at > org.apache.calcite.jdbc.CalciteConnectionImpl.parseQuery(CalciteConnectionImpl.java:214) > > at > org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:603) > > at > org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:638) > > at > org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:149) > > at > org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:218) > > at > org.apache.solr.client.solrj.io.stream.JDBCStream.open(JDBCStream.java:269) > at > org.apache.solr.client.solrj.io.stream.ExceptionStream.open(ExceptionStream.java:54) > > at > org.apache.solr.handler.StreamHandler$TimerStream.open(StreamHandler.java:397) > > at > org.apache.solr.client.solrj.io.stream.TupleStream.writeMap(TupleStream.java:83) >