[JBoss JIRA] (TEIID-5030) Couchbase error in date/timestamp datatype pushdown
by Jan Stastny (JIRA)
[ https://issues.jboss.org/browse/TEIID-5030?page=com.atlassian.jira.plugin... ]
Jan Stastny updated TEIID-5030:
-------------------------------
Summary: Couchbase error in date/timestamp datatype pushdown (was: Couchbase error in date datatype pushdown)
> Couchbase error in date/timestamp datatype pushdown
> ---------------------------------------------------
>
> Key: TEIID-5030
> URL: https://issues.jboss.org/browse/TEIID-5030
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Critical
>
> There is an issue with date datatype pushdown.
> {code:sql|title=query}
> SELECT BQT1.SmallA.DateValue FROM BQT1.SmallA WHERE BQT1.SmallA.DateValue = '2000-02-02'
> {code}
> {code:title=teiid-command.log}
> 09:59:44,422 INFO [org.teiid.COMMAND_LOG] (New I/O worker #2) QE2ZpDa/Btt5 START USER COMMAND: startTime=2017-08-24 09:59:44.422 requestID=QE2ZpDa/Btt5.31 txID=null sessionID=QE2ZpDa/Btt5 applicationName=JDBC principal=user@teiid-security vdbName=couchbase vdbVersion=1 sql=SELECT BQT1.SmallA.DateValue FROM BQT1.SmallA WHERE BQT1.SmallA.DateValue = '2000-02-02'
> 09:59:44,436 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue68) QE2ZpDa/Btt5 START DATA SRC COMMAND: startTime=2017-08-24 09:59:44.436 requestID=QE2ZpDa/Btt5.31 sourceCommandID=0 executionID=12 txID=null modelName=Couchbase_small translatorName=couchbase sessionID=QE2ZpDa/Btt5 principal=user@teiid-security sql=SELECT convert(Couchbase_small.SmallA.DateValue, date) FROM Couchbase_small.SmallA WHERE convert(Couchbase_small.SmallA.DateValue, date) = {d'2000-02-02'}
> 09:59:44,436 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue68) QE2ZpDa/Btt5 SOURCE SRC COMMAND: endTime=2017-08-24 09:59:44.436 requestID=QE2ZpDa/Btt5.31 sourceCommandID=0 executionID=12 txID=null modelName=Couchbase_small translatorName=couchbase sessionID=QE2ZpDa/Btt5 principal=user@teiid-security sourceCommand=[SELECT TOATOM(`$cb_c1_DateValue`) FROM `dvqe_small` `$cb_t1` LET `$cb_c1_DateValue` = `$cb_t1`.`DateValue` WHERE TOATOM(`$cb_c1_DateValue`) = {d '2000-02-02'} AND `$cb_t1`.`type` = 'SmallA']
> 09:59:44,588 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue68) QE2ZpDa/Btt5 ERROR SRC COMMAND: endTime=2017-08-24 09:59:44.588 requestID=QE2ZpDa/Btt5.31 sourceCommandID=0 executionID=12 txID=null modelName=Couchbase_small translatorName=couchbase sessionID=QE2ZpDa/Btt5 principal=user@teiid-security
> 09:59:44,596 DEBUG [org.teiid.COMMAND_LOG] (Worker8_QueryProcessorQueue69) QE2ZpDa/Btt5 END SRC COMMAND: endTime=2017-08-24 09:59:44.596 requestID=QE2ZpDa/Btt5.31 sourceCommandID=0 executionID=12 txID=null modelName=Couchbase_small translatorName=couchbase sessionID=QE2ZpDa/Btt5 principal=user@teiid-security finalRowCount=0 cpuTime(ns)=8526015
> 09:59:44,596 INFO [org.teiid.COMMAND_LOG] (Worker8_QueryProcessorQueue69) QE2ZpDa/Btt5 ERROR USER COMMAND: endTime=2017-08-24 09:59:44.596 requestID=QE2ZpDa/Btt5.31 txID=null sessionID=QE2ZpDa/Btt5 principal=user@teiid-security vdbName=couchbase vdbVersion=1 finalRowCount=null
> 09:59:44,598 INFO [org.teiid.COMMAND_LOG] (Worker8_QueryProcessorQueue69) QE2ZpDa/Btt5 END USER COMMAND: endTime=2017-08-24 09:59:44.598 requestID=QE2ZpDa/Btt5.31 txID=null sessionID=QE2ZpDa/Btt5 principal=user@teiid-security vdbName=couchbase vdbVersion=1 finalRowCount=0
> {code}
> {code:title=server.log}
> 09:59:44,588 WARN [org.teiid.CONNECTOR] (Worker9_QueryProcessorQueue68) Connector worker process failed for atomic-request=QE2ZpDa/Btt5.31.0.12: org.teiid.translator.TranslatorException: Query did not complete successfully: [{"msg":"syntax error - at d","code":3000}], error code: fatal
> at org.teiid.translator.couchbase.CouchbaseQueryExecution.execute(CouchbaseQueryExecution.java:73) [translator-couchbase-8.12.11.6_4-redhat-64-5.jar:8.12.11.6_4-redhat-64-5]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:363)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_121]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar: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)
> at com.sun.proxy.$Proxy79.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> 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)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> 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]
> Caused by: javax.resource.ResourceException: Query did not complete successfully: [{"msg":"syntax error - at d","code":3000}], error code: fatal
> at org.teiid.resource.adapter.couchbase.CouchbaseConnectionImpl.execute(CouchbaseConnectionImpl.java:64)
> at org.teiid.translator.couchbase.CouchbaseQueryExecution.execute(CouchbaseQueryExecution.java:71) [translator-couchbase-8.12.11.6_4-redhat-64-5.jar:8.12.11.6_4-redhat-64-5]
> ... 18 more
> 09:59:44,596 WARN [org.teiid.PROCESSOR] (Worker8_QueryProcessorQueue69) TEIID30020 Processing exception for request QE2ZpDa/Btt5.31 'TEIID30504 couchbase_small: Query did not complete successfully: [{"msg":"syntax error - at d","code":3000}], error code: fatal'. Originally TeiidProcessingException CouchbaseConnectionImpl.java:64. Enable more detailed logging to see the entire stacktrace.
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIID-5030) Couchbase error in date datatype pushdown
by Jan Stastny (JIRA)
Jan Stastny created TEIID-5030:
----------------------------------
Summary: Couchbase error in date datatype pushdown
Key: TEIID-5030
URL: https://issues.jboss.org/browse/TEIID-5030
Project: Teiid
Issue Type: Bug
Components: Misc. Connectors
Affects Versions: 8.12.x-6.4
Reporter: Jan Stastny
Assignee: Steven Hawkins
Priority: Critical
There is an issue with date datatype pushdown.
{code:sql|title=query}
SELECT BQT1.SmallA.DateValue FROM BQT1.SmallA WHERE BQT1.SmallA.DateValue = '2000-02-02'
{code}
{code:title=teiid-command.log}
09:59:44,422 INFO [org.teiid.COMMAND_LOG] (New I/O worker #2) QE2ZpDa/Btt5 START USER COMMAND: startTime=2017-08-24 09:59:44.422 requestID=QE2ZpDa/Btt5.31 txID=null sessionID=QE2ZpDa/Btt5 applicationName=JDBC principal=user@teiid-security vdbName=couchbase vdbVersion=1 sql=SELECT BQT1.SmallA.DateValue FROM BQT1.SmallA WHERE BQT1.SmallA.DateValue = '2000-02-02'
09:59:44,436 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue68) QE2ZpDa/Btt5 START DATA SRC COMMAND: startTime=2017-08-24 09:59:44.436 requestID=QE2ZpDa/Btt5.31 sourceCommandID=0 executionID=12 txID=null modelName=Couchbase_small translatorName=couchbase sessionID=QE2ZpDa/Btt5 principal=user@teiid-security sql=SELECT convert(Couchbase_small.SmallA.DateValue, date) FROM Couchbase_small.SmallA WHERE convert(Couchbase_small.SmallA.DateValue, date) = {d'2000-02-02'}
09:59:44,436 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue68) QE2ZpDa/Btt5 SOURCE SRC COMMAND: endTime=2017-08-24 09:59:44.436 requestID=QE2ZpDa/Btt5.31 sourceCommandID=0 executionID=12 txID=null modelName=Couchbase_small translatorName=couchbase sessionID=QE2ZpDa/Btt5 principal=user@teiid-security sourceCommand=[SELECT TOATOM(`$cb_c1_DateValue`) FROM `dvqe_small` `$cb_t1` LET `$cb_c1_DateValue` = `$cb_t1`.`DateValue` WHERE TOATOM(`$cb_c1_DateValue`) = {d '2000-02-02'} AND `$cb_t1`.`type` = 'SmallA']
09:59:44,588 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue68) QE2ZpDa/Btt5 ERROR SRC COMMAND: endTime=2017-08-24 09:59:44.588 requestID=QE2ZpDa/Btt5.31 sourceCommandID=0 executionID=12 txID=null modelName=Couchbase_small translatorName=couchbase sessionID=QE2ZpDa/Btt5 principal=user@teiid-security
09:59:44,596 DEBUG [org.teiid.COMMAND_LOG] (Worker8_QueryProcessorQueue69) QE2ZpDa/Btt5 END SRC COMMAND: endTime=2017-08-24 09:59:44.596 requestID=QE2ZpDa/Btt5.31 sourceCommandID=0 executionID=12 txID=null modelName=Couchbase_small translatorName=couchbase sessionID=QE2ZpDa/Btt5 principal=user@teiid-security finalRowCount=0 cpuTime(ns)=8526015
09:59:44,596 INFO [org.teiid.COMMAND_LOG] (Worker8_QueryProcessorQueue69) QE2ZpDa/Btt5 ERROR USER COMMAND: endTime=2017-08-24 09:59:44.596 requestID=QE2ZpDa/Btt5.31 txID=null sessionID=QE2ZpDa/Btt5 principal=user@teiid-security vdbName=couchbase vdbVersion=1 finalRowCount=null
09:59:44,598 INFO [org.teiid.COMMAND_LOG] (Worker8_QueryProcessorQueue69) QE2ZpDa/Btt5 END USER COMMAND: endTime=2017-08-24 09:59:44.598 requestID=QE2ZpDa/Btt5.31 txID=null sessionID=QE2ZpDa/Btt5 principal=user@teiid-security vdbName=couchbase vdbVersion=1 finalRowCount=0
{code}
{code:title=server.log}
09:59:44,588 WARN [org.teiid.CONNECTOR] (Worker9_QueryProcessorQueue68) Connector worker process failed for atomic-request=QE2ZpDa/Btt5.31.0.12: org.teiid.translator.TranslatorException: Query did not complete successfully: [{"msg":"syntax error - at d","code":3000}], error code: fatal
at org.teiid.translator.couchbase.CouchbaseQueryExecution.execute(CouchbaseQueryExecution.java:73) [translator-couchbase-8.12.11.6_4-redhat-64-5.jar:8.12.11.6_4-redhat-64-5]
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:363)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar: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)
at com.sun.proxy.$Proxy79.execute(Unknown Source)
at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
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)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
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]
Caused by: javax.resource.ResourceException: Query did not complete successfully: [{"msg":"syntax error - at d","code":3000}], error code: fatal
at org.teiid.resource.adapter.couchbase.CouchbaseConnectionImpl.execute(CouchbaseConnectionImpl.java:64)
at org.teiid.translator.couchbase.CouchbaseQueryExecution.execute(CouchbaseQueryExecution.java:71) [translator-couchbase-8.12.11.6_4-redhat-64-5.jar:8.12.11.6_4-redhat-64-5]
... 18 more
09:59:44,596 WARN [org.teiid.PROCESSOR] (Worker8_QueryProcessorQueue69) TEIID30020 Processing exception for request QE2ZpDa/Btt5.31 'TEIID30504 couchbase_small: Query did not complete successfully: [{"msg":"syntax error - at d","code":3000}], error code: fatal'. Originally TeiidProcessingException CouchbaseConnectionImpl.java:64. Enable more detailed logging to see the entire stacktrace.
{code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIID-5027) Translator infinispan-hotrod incorrect data type import
by Jan Stastny (JIRA)
[ https://issues.jboss.org/browse/TEIID-5027?page=com.atlassian.jira.plugin... ]
Jan Stastny commented on TEIID-5027:
------------------------------------
[~rareddy] So the idea would be to define the columns as strings in Source Model's DDL metadata, and only in my view I'd converted it to time/date/datetime. Is that right?
Though in the docs, there's:
When using DATE/TIMESTAMP/TIME types in Teiid metadata, they are by default marshaled into a LONG type in Infinispan.
It seems like they're not, otherwise they would map to column with type long, wouldn't they?
> Translator infinispan-hotrod incorrect data type import
> -------------------------------------------------------
>
> Key: TEIID-5027
> URL: https://issues.jboss.org/browse/TEIID-5027
> Project: Teiid
> Issue Type: Bug
> Components: JDG Connector, Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Blocker
>
> I have a vdb:
> {code:xml|title=jdg71_crud-vdb.xml}
> <vdb name="jdg71_crud" version="1">
> <model name="Source" type="PHYSICAL" visible="true">
> <source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
> <metadata type="DDL"><![CDATA[
> 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}');
> ]]>
> </metadata>
> <metadata type = "NATIVE"/>
> </model>
> </vdb>
> {code}
> But the resulting metadata are:
> || column_name | column_type ||
> || IntKey | integer ||
> || IntNum | integer ||
> || DoubleNum | double ||
> || ObjectValue | string ||
> || BigDecimalValue | varbinary ||
> || BigIntegerValue | varbinary ||
> || CharValue | string ||
> || StringNum | string ||
> || StringKey | string ||
> || FloatNum | float ||
> || LongNum | long ||
> || TimeValue | varbinary ||
> || ShortValue | integer ||
> || ByteNum | integer ||
> || TimeStampValue | varbinary ||
> || BooleanValue | boolean ||
> || DateValue | varbinary ||
> All the columns should be replaced by appropriate data type as defined in the vdb.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIID-5029) Regression with outer join optimization
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5029?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5029.
-----------------------------------
Resolution: Done
Updated the logic to account for when both children are access nodes - which will only occur in limited circumstances when pushdown is initially inhibited (such as with a nested cross join).
There is a follow on enhancement to allow for additional pushdown planning after this particular scenario, but that's a very low priority.
> Regression with outer join optimization
> ---------------------------------------
>
> Key: TEIID-5029
> URL: https://issues.jboss.org/browse/TEIID-5029
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 9.3
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 10.0, 9.3.3
>
>
> TEIID-4886 does not account for all tree structures and is producing a null pointer exception:
> java.lang.NullPointerException
> at org.teiid.query.optimizer.relational.plantree.PlanNode.replaceChild(PlanNode.java:313) at org.teiid.query.optimizer.relational.rules.RulePlanJoins.groupAcrossLeftOuter(RulePlanJoins.jav at org.teiid.query.optimizer.relational.rules.RulePlanJoins.execute(RulePlanJoins.java:157)
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIID-5029) Regression with outer join optimization
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-5029:
-------------------------------------
Summary: Regression with outer join optimization
Key: TEIID-5029
URL: https://issues.jboss.org/browse/TEIID-5029
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 9.3
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 10.0, 9.3.3
TEIID-4886 does not account for all tree structures and is producing a null pointer exception:
java.lang.NullPointerException
at org.teiid.query.optimizer.relational.plantree.PlanNode.replaceChild(PlanNode.java:313) at org.teiid.query.optimizer.relational.rules.RulePlanJoins.groupAcrossLeftOuter(RulePlanJoins.jav at org.teiid.query.optimizer.relational.rules.RulePlanJoins.execute(RulePlanJoins.java:157)
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIID-5027) Translator infinispan-hotrod incorrect data type import
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-5027?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-5027:
-------------------------------------
[~jstastny] You can try to keep it as a string in that case and use the parseTimestamp function. Yes, you would need to write the INSTEAD OF TRIGGER. These are the hurdles that Teiid need to take care automatically by creating the view. Probably we should just change the document to limit the datatypes to avoid this situation to begin with. I do not want to add something we can not support fully.
> Translator infinispan-hotrod incorrect data type import
> -------------------------------------------------------
>
> Key: TEIID-5027
> URL: https://issues.jboss.org/browse/TEIID-5027
> Project: Teiid
> Issue Type: Bug
> Components: JDG Connector, Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Blocker
>
> I have a vdb:
> {code:xml|title=jdg71_crud-vdb.xml}
> <vdb name="jdg71_crud" version="1">
> <model name="Source" type="PHYSICAL" visible="true">
> <source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
> <metadata type="DDL"><![CDATA[
> 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}');
> ]]>
> </metadata>
> <metadata type = "NATIVE"/>
> </model>
> </vdb>
> {code}
> But the resulting metadata are:
> || column_name | column_type ||
> || IntKey | integer ||
> || IntNum | integer ||
> || DoubleNum | double ||
> || ObjectValue | string ||
> || BigDecimalValue | varbinary ||
> || BigIntegerValue | varbinary ||
> || CharValue | string ||
> || StringNum | string ||
> || StringKey | string ||
> || FloatNum | float ||
> || LongNum | long ||
> || TimeValue | varbinary ||
> || ShortValue | integer ||
> || ByteNum | integer ||
> || TimeStampValue | varbinary ||
> || BooleanValue | boolean ||
> || DateValue | varbinary ||
> All the columns should be replaced by appropriate data type as defined in the vdb.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIID-5027) Translator infinispan-hotrod incorrect data type import
by Jan Stastny (JIRA)
[ https://issues.jboss.org/browse/TEIID-5027?page=com.atlassian.jira.plugin... ]
Jan Stastny commented on TEIID-5027:
------------------------------------
[~rareddy] There is an issue with your proposal though. If you consider modelling date/timestamp/date as long in protobuf, then you need to have the means to covert date/timestamp/time to long (Unix time I suppose) in Teiid. This is tracked in https://issues.jboss.org/browse/TEIID-5026.
Because when you convert the datatypes, you need to define 'INSTEAD OF TRIGGER' for insert/update, but if you don't have the ability to convert timestamp back to long, then you can't update such column.
> Translator infinispan-hotrod incorrect data type import
> -------------------------------------------------------
>
> Key: TEIID-5027
> URL: https://issues.jboss.org/browse/TEIID-5027
> Project: Teiid
> Issue Type: Bug
> Components: JDG Connector, Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Blocker
>
> I have a vdb:
> {code:xml|title=jdg71_crud-vdb.xml}
> <vdb name="jdg71_crud" version="1">
> <model name="Source" type="PHYSICAL" visible="true">
> <source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
> <metadata type="DDL"><![CDATA[
> 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}');
> ]]>
> </metadata>
> <metadata type = "NATIVE"/>
> </model>
> </vdb>
> {code}
> But the resulting metadata are:
> || column_name | column_type ||
> || IntKey | integer ||
> || IntNum | integer ||
> || DoubleNum | double ||
> || ObjectValue | string ||
> || BigDecimalValue | varbinary ||
> || BigIntegerValue | varbinary ||
> || CharValue | string ||
> || StringNum | string ||
> || StringKey | string ||
> || FloatNum | float ||
> || LongNum | long ||
> || TimeValue | varbinary ||
> || ShortValue | integer ||
> || ByteNum | integer ||
> || TimeStampValue | varbinary ||
> || BooleanValue | boolean ||
> || DateValue | varbinary ||
> All the columns should be replaced by appropriate data type as defined in the vdb.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIID-5027) Translator infinispan-hotrod incorrect data type import
by Jan Stastny (JIRA)
[ https://issues.jboss.org/browse/TEIID-5027?page=com.atlassian.jira.plugin... ]
Jan Stastny commented on TEIID-5027:
------------------------------------
[~vhalbert2] Yes you're right it should, my mistake in copy paste. I will correct the description. It applies to the 'CREATE FOREIGN TABLE' usage.
> Translator infinispan-hotrod incorrect data type import
> -------------------------------------------------------
>
> Key: TEIID-5027
> URL: https://issues.jboss.org/browse/TEIID-5027
> Project: Teiid
> Issue Type: Bug
> Components: JDG Connector, Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Blocker
>
> I have a vdb:
> {code:xml|title=jdg71_crud-vdb.xml}
> <vdb name="jdg71_crud" version="1">
> <model name="Source" type="PHYSICAL" visible="true">
> <source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
> <metadata type="DDL"><![CDATA[
> 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, "teiid_ispn:cache" '${jdg.cache.name}');
> ]]>
> </metadata>
> <metadata type = "NATIVE"/>
> </model>
> </vdb>
> {code}
> But the resulting metadata are:
> || column_name | column_type ||
> || IntKey | integer ||
> || IntNum | integer ||
> || DoubleNum | double ||
> || ObjectValue | string ||
> || BigDecimalValue | varbinary ||
> || BigIntegerValue | varbinary ||
> || CharValue | string ||
> || StringNum | string ||
> || StringKey | string ||
> || FloatNum | float ||
> || LongNum | long ||
> || TimeValue | varbinary ||
> || ShortValue | integer ||
> || ByteNum | integer ||
> || TimeStampValue | varbinary ||
> || BooleanValue | boolean ||
> || DateValue | varbinary ||
> All the columns should be replaced by appropriate data type as defined in the vdb.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIID-5027) Translator infinispan-hotrod incorrect data type import
by Jan Stastny (JIRA)
[ https://issues.jboss.org/browse/TEIID-5027?page=com.atlassian.jira.plugin... ]
Jan Stastny updated TEIID-5027:
-------------------------------
Description:
I have a vdb:
{code:xml|title=jdg71_crud-vdb.xml}
<vdb name="jdg71_crud" version="1">
<model name="Source" type="PHYSICAL" visible="true">
<source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
<metadata type="DDL"><![CDATA[
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}');
]]>
</metadata>
<metadata type = "NATIVE"/>
</model>
</vdb>
{code}
But the resulting metadata are:
|| column_name | column_type ||
|| IntKey | integer ||
|| IntNum | integer ||
|| DoubleNum | double ||
|| ObjectValue | string ||
|| BigDecimalValue | varbinary ||
|| BigIntegerValue | varbinary ||
|| CharValue | string ||
|| StringNum | string ||
|| StringKey | string ||
|| FloatNum | float ||
|| LongNum | long ||
|| TimeValue | varbinary ||
|| ShortValue | integer ||
|| ByteNum | integer ||
|| TimeStampValue | varbinary ||
|| BooleanValue | boolean ||
|| DateValue | varbinary ||
All the columns should be replaced by appropriate data type as defined in the vdb.
was:
I have a vdb:
{code:xml|title=jdg71_crud-vdb.xml}
<vdb name="jdg71_crud" version="1">
<model name="Source" type="PHYSICAL" visible="true">
<source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
<metadata type="DDL"><![CDATA[
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, "teiid_ispn:cache" '${jdg.cache.name}');
]]>
</metadata>
<metadata type = "NATIVE"/>
</model>
</vdb>
{code}
But the resulting metadata are:
|| column_name | column_type ||
|| IntKey | integer ||
|| IntNum | integer ||
|| DoubleNum | double ||
|| ObjectValue | string ||
|| BigDecimalValue | varbinary ||
|| BigIntegerValue | varbinary ||
|| CharValue | string ||
|| StringNum | string ||
|| StringKey | string ||
|| FloatNum | float ||
|| LongNum | long ||
|| TimeValue | varbinary ||
|| ShortValue | integer ||
|| ByteNum | integer ||
|| TimeStampValue | varbinary ||
|| BooleanValue | boolean ||
|| DateValue | varbinary ||
All the columns should be replaced by appropriate data type as defined in the vdb.
> Translator infinispan-hotrod incorrect data type import
> -------------------------------------------------------
>
> Key: TEIID-5027
> URL: https://issues.jboss.org/browse/TEIID-5027
> Project: Teiid
> Issue Type: Bug
> Components: JDG Connector, Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Blocker
>
> I have a vdb:
> {code:xml|title=jdg71_crud-vdb.xml}
> <vdb name="jdg71_crud" version="1">
> <model name="Source" type="PHYSICAL" visible="true">
> <source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
> <metadata type="DDL"><![CDATA[
> 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}');
> ]]>
> </metadata>
> <metadata type = "NATIVE"/>
> </model>
> </vdb>
> {code}
> But the resulting metadata are:
> || column_name | column_type ||
> || IntKey | integer ||
> || IntNum | integer ||
> || DoubleNum | double ||
> || ObjectValue | string ||
> || BigDecimalValue | varbinary ||
> || BigIntegerValue | varbinary ||
> || CharValue | string ||
> || StringNum | string ||
> || StringKey | string ||
> || FloatNum | float ||
> || LongNum | long ||
> || TimeValue | varbinary ||
> || ShortValue | integer ||
> || ByteNum | integer ||
> || TimeStampValue | varbinary ||
> || BooleanValue | boolean ||
> || DateValue | varbinary ||
> All the columns should be replaced by appropriate data type as defined in the vdb.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIID-5027) Translator infinispan-hotrod incorrect data type import
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-5027?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-5027:
-------------------------------------
ProtoBuf protocol on which this transalator is based on supports limited data types which can be seen at [1], if you are defining anything other than these then they will be by default byte[] or varbinary.
There may be an enhancement we can do preserve the data types at Teiid layer, but it is not without hurdles. The best thing we can do for now is to KI the issue that some of the data types in Teiid like (biginteger, bigdecimal, timestamp, etc) will not be supported natively in Infinispan, the user needs to create a separate view and convert them to respective type.
So basically when you define DDL in Infinispan source model, use only types supported by protobuf, if needs more types then create a view on it.
[1] https://developers.google.com/protocol-buffers/docs/proto3#scalar
> Translator infinispan-hotrod incorrect data type import
> -------------------------------------------------------
>
> Key: TEIID-5027
> URL: https://issues.jboss.org/browse/TEIID-5027
> Project: Teiid
> Issue Type: Bug
> Components: JDG Connector, Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Blocker
>
> I have a vdb:
> {code:xml|title=jdg71_crud-vdb.xml}
> <vdb name="jdg71_crud" version="1">
> <model name="Source" type="PHYSICAL" visible="true">
> <source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
> <metadata type="DDL"><![CDATA[
> 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, "teiid_ispn:cache" '${jdg.cache.name}');
> ]]>
> </metadata>
> <metadata type = "NATIVE"/>
> </model>
> </vdb>
> {code}
> But the resulting metadata are:
> || column_name | column_type ||
> || IntKey | integer ||
> || IntNum | integer ||
> || DoubleNum | double ||
> || ObjectValue | string ||
> || BigDecimalValue | varbinary ||
> || BigIntegerValue | varbinary ||
> || CharValue | string ||
> || StringNum | string ||
> || StringKey | string ||
> || FloatNum | float ||
> || LongNum | long ||
> || TimeValue | varbinary ||
> || ShortValue | integer ||
> || ByteNum | integer ||
> || TimeStampValue | varbinary ||
> || BooleanValue | boolean ||
> || DateValue | varbinary ||
> All the columns should be replaced by appropriate data type as defined in the vdb.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months