[teiid-issues] [JBoss JIRA] (TEIID-3058) Cassandra: cannot compare timestamp field in where clause

Steven Hawkins (JIRA) issues at jboss.org
Wed Apr 1 19:03:18 EDT 2015


    [ https://issues.jboss.org/browse/TEIID-3058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13055489#comment-13055489 ] 

Steven Hawkins commented on TEIID-3058:
---------------------------------------

The existing logic seems to work fine for Cassandra 2.0.9 with CQL 3.1.1.   Can you provide more details about the exception you are now seeing, what version are you using, etc.?

> Cassandra:  cannot compare timestamp field in where clause
> ----------------------------------------------------------
>
>                 Key: TEIID-3058
>                 URL: https://issues.jboss.org/browse/TEIID-3058
>             Project: Teiid
>          Issue Type: Bug
>          Components: Misc. Connectors
>    Affects Versions: 8.7, 8.10
>         Environment: Cassandra with Teiid 8.7
>            Reporter: Ivan Chan
>            Assignee: Steven Hawkins
>             Fix For: 8.7.1, 8.9
>
>
> It seems like Teiid is having problem to compare translate CQL if there is timestamp comparison in where clause:
> ORIGINAL SQL:
> select "cassandrads_sales"."product_family" as "cassandrads_sales_product_family",
> "cassandrads_sales"."product_family" as "cassandrads_sales_product_family1"
> from "cassandrads"."sales" "cassandrads_sales"
> where "cassandrads_sales"."the_date" <= '2013-05-01 00:00:00'
>  limit 1000
> TRANSLATED CQL:
> SELECT cassandrads.sales.product_family FROM cassandrads.sales WHERE cassandrads.sales.the_date <= {ts'2013-05-01 00:00:00.0'} LIMIT 1000
> And I got this error:
> Caused by: org.teiid.translator.TranslatorException: line 1:55 no viable alternative at input '2013-05-01 00:00:0
>         at org.teiid.translator.cassandra.CassandraQueryExecution.execute(CassandraQueryExecution.java:80)
>         at org.teiid.translator.cassandra.CassandraQueryExecution.execute(CassandraQueryExecution.java:72)
>         at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:325)
>         at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:298)
>         at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:135)
> If it is not possible to do time/ data comparison for CQL, maybe you guys should consider to do it in memory instead.  Thanks.



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the teiid-issues mailing list