Jan Stastny created TEIID-5087:
----------------------------------
Summary: Infinispan Hotrod error for date/time/timestamp literal in where
criteria
Key: TEIID-5087
URL:
https://issues.jboss.org/browse/TEIID-5087
Project: Teiid
Issue Type: Bug
Components: JDG Connector, Misc. Connectors
Affects Versions: 8.12.x-6.4
Reporter: Jan Stastny
Assignee: Ramesh Reddy
Priority: Critical
For a vdb with following source DDL metadata:
{code:sql|title="Source"}
CREATE FOREIGN TABLE SmallA (
IntKey integer,
IntNum integer,
DoubleNum double,
ObjectValue object,
BigDecimalValue bigdecimal,
BigIntegerValue biginteger,
CharValue char,
StringNum string,
StringKey string PRIMARY KEY,
FloatNum float,
LongNum long,
TimeValue time,
ShortValue short,
ByteNum byte,
TimeStampValue timestamp,
BooleanValue boolean,
DateValue date
) OPTIONS(UPDATABLE true, "teiid_ispn:cache"
'${jdg.cache.name}');
{code}
and a view:
{code:sql|title="CRUD"}
CREATE VIEW SmallA(
IntKey integer,
IntNum integer,
DoubleNum double,
ObjectValue object,
BigDecimalValue bigdecimal,
BigIntegerValue biginteger,
CharValue char,
StringNum string,
StringKey string PRIMARY KEY,
FloatNum float,
LongNum long,
TimeValue time,
ShortValue short,
ByteNum byte,
TimestampValue timestamp,
BooleanValue boolean,
DateValue date
) OPTIONS (UPDATABLE true) AS
SELECT
source.IntKey AS IntKey,
source.IntNum as IntNum,
source.DoubleNum AS DoubleNum,
source.ObjectValue AS ObjectValue,
source.BigDecimalValue AS BigDecimalValue,
source.BigIntegerValue AS BigIntegerValue,
source.CharValue AS CharValue,
source.StringNum AS StringNum,
source.StringKey AS StringKey,
source.FloatNum AS FloatNum,
source.LongNum AS LongNum,
source.TimeValue AS TimeValue,
source.ShortValue AS ShortValue,
source.ByteNum AS ByteNum,
source.TimeStampValue AS TimestampValue,
source.BooleanValue AS BooleanValue,
source.DateValue AS DateValue
FROM Source.SmallA as source;
{code}
Following query fails:
{code:sql}
SELECT TimeValue FROM CRUD.SmallA WHERE TimeValue = {t '02:52:21'}
{code}
and the same applies to date/timestamp alternatives.
{code:title=error}
16:58:10,318 WARN [org.infinispan.client.hotrod.impl.protocol.Codec21]
(Worker3_QueryProcessorQueue21) ISPN004005: Error received from the server:
org.infinispan.objectfilter.ParsingException: ISPN028526: Invalid query: SELECT
g_0.TimeValue FROM Source.SmallA g_0 WHERE g_0.TimeValue = {t '02:52:21'} ; Parser
error messages: [[statement, selectStatement, querySpec, whereClause, logicalExpression,
expression, logicalOrExpression, logicalAndExpression, negatedExpression,
equalityExpression, relationalExpression, additiveExpression]: line 1:66 state 0
(decision=42) no viable alt; token=[@22,66:66='{',<74>,1:66], [statement]:
line 1:67 mismatched token: [@23,67:67='t',<59>,1:67]; expecting type EOF].
16:58:10,319 ERROR [org.teiid.CONNECTOR] (Worker3_QueryProcessorQueue21) Connector worker
process failed for atomic-request=7H/tbl4yNCGQ.7.0.36:
org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for messageId=97
returned server error (status=0x85): org.infinispan.objectfilter.ParsingException:
ISPN028526: Invalid query: SELECT g_0.TimeValue FROM Source.SmallA g_0 WHERE g_0.TimeValue
= {t '02:52:21'} ; Parser error messages: [[statement, selectStatement, querySpec,
whereClause, logicalExpression, expression, logicalOrExpression, logicalAndExpression,
negatedExpression, equalityExpression, relationalExpression, additiveExpression]: line
1:66 state 0 (decision=42) no viable alt; token=[@22,66:66='{',<74>,1:66],
[statement]: line 1:67 mismatched token: [@23,67:67='t',<59>,1:67];
expecting type EOF].
at
org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:363)
[infinispan-client-hotrod.jar:8.4.1.ER1-redhat-1]
at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:152)
[infinispan-client-hotrod.jar:8.4.1.ER1-redhat-1]
at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:138)
[infinispan-client-hotrod.jar:8.4.1.ER1-redhat-1]
at
org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:60)
[infinispan-client-hotrod.jar:8.4.1.ER1-redhat-1]
at
org.infinispan.client.hotrod.impl.operations.QueryOperation.executeOperation(QueryOperation.java:68)
[infinispan-client-hotrod.jar:8.4.1.ER1-redhat-1]
at
org.infinispan.client.hotrod.impl.operations.QueryOperation.executeOperation(QueryOperation.java:30)
[infinispan-client-hotrod.jar:8.4.1.ER1-redhat-1]
at
org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:57)
[infinispan-client-hotrod.jar:8.4.1.ER1-redhat-1]
at org.infinispan.client.hotrod.impl.query.RemoteQuery.executeQuery(RemoteQuery.java:68)
[infinispan-client-hotrod.jar:8.4.1.ER1-redhat-1]
at org.infinispan.client.hotrod.impl.query.RemoteQuery.list(RemoteQuery.java:53)
[infinispan-client-hotrod.jar:8.4.1.ER1-redhat-1]
at
org.teiid.translator.infinispan.hotrod.InfinispanResponse.fetchNextBatch(InfinispanResponse.java:76)
[translator-infinispan-hotrod-8.12.11.6_4.jar:8.12.11.6_4]
at
org.teiid.translator.infinispan.hotrod.InfinispanResponse.getNextRow(InfinispanResponse.java:92)
[translator-infinispan-hotrod-8.12.11.6_4.jar:8.12.11.6_4]
at
org.teiid.translator.infinispan.hotrod.InfinispanQueryExecution.next(InfinispanQueryExecution.java:138)
[translator-infinispan-hotrod-8.12.11.6_4.jar:8.12.11.6_4]
at
org.teiid.dqp.internal.datamgr.ConnectorWorkItem.handleBatch(ConnectorWorkItem.java:433)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.more(ConnectorWorkItem.java:236)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at sun.reflect.GeneratedMethodAccessor162.invoke(Unknown Source) [:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_121]
at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at com.sun.proxy.$Proxy79.more(Unknown Source)
at
org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:309)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_121]
at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
[teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[rt.jar:1.8.0_121]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[rt.jar:1.8.0_121]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121]
16:58:10,322 WARN [org.teiid.PROCESSOR] (Worker2_QueryProcessorQueue22) TEIID30020
Processing exception for request 7H/tbl4yNCGQ.7 'TEIID30504 jdg7-source:
org.infinispan.objectfilter.ParsingException: ISPN028526: Invalid query: SELECT
g_0.TimeValue FROM Source.SmallA g_0 WHERE g_0.TimeValue = {t '02:52:21'} ; Parser
error messages: [[statement, selectStatement, querySpec, whereClause, logicalExpression,
expression, logicalOrExpression, logicalAndExpression, negatedExpression,
equalityExpression, relationalExpression, additiveExpression]: line 1:66 state 0
(decision=42) no viable alt; token=[@22,66:66='{',<74>,1:66], [statement]:
line 1:67 mismatched token: [@23,67:67='t',<59>,1:67]; expecting type
EOF].'. Originally TeiidProcessingException Codec20.java:363. Enable more detailed
logging to see the entire stacktrace.
{code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)