[JBoss JIRA] (TEIID-3930) Accumulo translator: select rowid returns empty resultset
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3930?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-3930.
---------------------------------
> Accumulo translator: select rowid returns empty resultset
> ---------------------------------------------------------
>
> Key: TEIID-3930
> URL: https://issues.jboss.org/browse/TEIID-3930
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.3
> Reporter: Jan Stastny
> Assignee: Ramesh Reddy
> Fix For: 9.0, 8.12.5
>
>
> Accumulo translator, according to its [documentation|https://docs.jboss.org/author/display/teiid812final/Apache+...], enables querying accumulo through teiid's vdb with table like:
> {code:xml}
> CREATE FOREIGN TABLE "User" (
> rowid string OPTIONS (UPDATABLE FALSE, SEARCHABLE 'All_Except_Like'),
> name_age string OPTIONS (SEARCHABLE 'All_Except_Like', "teiid_accumulo:CF" 'name', "teiid_accumulo:CQ" 'age', "teiid_accumulo:VALUE-IN" '{VALUE}'),
> name_firstname string OPTIONS (SEARCHABLE 'All_Except_Like', "teiid_accumulo:CF" 'name', "teiid_accumulo:CQ" 'firstname', "teiid_accumulo:VALUE-IN" '{VALUE}'),
> name_lastname string OPTIONS (SEARCHABLE 'All_Except_Like', "teiid_accumulo:CF" 'name', "teiid_accumulo:CQ" 'lastname', "teiid_accumulo:VALUE-IN" '{VALUE}'),
> CONSTRAINT PK0 PRIMARY KEY(rowid)
> ) OPTIONS (UPDATABLE TRUE);
> {code}
> The problem is, that querying for rowid column won't return any results:
> Query
> {code:sql}
> SELECT rowid FROM User;
> {code}
> does return empty resultset.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 4 months
[JBoss JIRA] (TEIID-4104) FORMATTIMESTAMP function is not correctly pushed down when a column is passed as FORMAT argument
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4104?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-4104.
---------------------------------
> FORMATTIMESTAMP function is not correctly pushed down when a column is passed as FORMAT argument
> ------------------------------------------------------------------------------------------------
>
> Key: TEIID-4104
> URL: https://issues.jboss.org/browse/TEIID-4104
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Salvatore R
> Assignee: Steven Hawkins
> Fix For: 9.0, 8.12.5, 8.13.5
>
>
> I defined in PostgreSQL the following table:
> {code:sql}
> CREATE TABLE public.test
> (
> ts timestamp without time zone,
> fmt character varying(100)
> );
> {code}
> Running this query:
> {code:sql}
> select FORMATTIMESTAMP(ts, fmt) from pg.test;
> {code}
> throws the following exception:
> {code}
> 13:44:21,778 WARN [org.teiid.CONNECTOR] (Worker3_QueryProcessorQueue19) J0VWrGay8mz0 Connector worker process failed for atomic-request=J0VWrGay8mz0.8.0.2: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT formattimestamp(g_0."ts", g_0."fmt") FROM "public"."test" AS g_0]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.0.CR1.jar:8.12.0.CR1]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:349)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_67]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_67]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_67]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_67]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy47.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:298)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:110)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:107)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_67]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:58)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> 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:1145) [rt.jar:1.7.0_67]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_67]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
> Caused by: org.postgresql.util.PSQLException: ERROR: function formattimestamp(timestamp without time zone, character varying) does not exist
> Hint: No function matches the given name and argument types. You might need to add explicit casts.
> Character: 8
> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
> at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123) [translator-jdbc-8.12.0.CR1.jar:8.12.0.CR1]
> ... 18 more
> {code}
> A similar exception is thrown not only in PostgreSQL but also in other datasources like MySQL, Oracle or Microsoft SQL Server.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 4 months
[JBoss JIRA] (TEIID-4211) Wrong rewriting of CTEs when pushed down to PostgreSQL
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4211?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-4211.
---------------------------------
> Wrong rewriting of CTEs when pushed down to PostgreSQL
> ------------------------------------------------------
>
> Key: TEIID-4211
> URL: https://issues.jboss.org/browse/TEIID-4211
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.13.4
> Reporter: Salvatore R
> Assignee: Steven Hawkins
> Fix For: 9.0, 8.12.5, 8.13.5
>
>
> Running the following query:
> {code:sql}
> WITH
> cte1 as (SELECT * from pg.test_a),
> cte2 as (select * from cte1),
> cte3 as (select * from cte1)
> SELECT * FROM cte2 join cte3 on cte2.a=cte3.a
> {code}
> where pg.test_a is a table defined in PostgreSQL, this exception is thrown:
> {code:sql}
> 19:42:22,287 WARN [org.teiid.CONNECTOR] (Worker20_QueryProcessorQueue228) ezaCNEtY3C+P Connector worker process failed for atomic-request=ezaCNEtY3C+P.121.3.48: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: WITH cte1 (a, b) AS (SELECT g_0."a", g_0."b" FROM "public"."test_a" AS g_0), cte1 (a, b) AS (SELECT g_0."a", g_0."b" FROM "public"."test_a" AS g_0), cte2 (a,b) AS (SELECT g_0.a, g_0.b FROM cte1 AS g_0), cte3 (a, b) AS (SELECT g_0.a, g_0.b FROM cte1 AS g_0) SELECT g_1.a, g_1.b, g_0.a, g_0.b FROM cte2 AS g_0, cte3 AS g_1 WHERE g_0.a = g_1.a]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:359)
> at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy56.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:262)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> 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:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.postgresql.util.PSQLException: ERROR: WITH query name "cte1" specified more than once
> Position: 78
> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
> at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
> at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:504)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123)
> ... 17 more
> {code}
> I am not sure if the problem below might be also related, but an exception is thrown by running the following query with nested CTEs:
> {code:sql}
> WITH
> cte1 as (SELECT 1 as a)
> ,cte3 as (with cte3_1 as (select cte1.a from cte1 join pg.test_a t1 on cte1.a=t1.a) select * from cte3_1)
> SELECT * FROM cte3;;
> {code}
> The exception is:
> {code:sql}
> 20:00:37,731 WARN [org.teiid.PROCESSOR] (Worker21_QueryProcessorQueue239) ezaCNEtY3C+P TEIID30020 Processing exception for request ezaCNEtY3C+P.125 'TEIID30226 Temporary table "cte1" does not exist.'. Originally QueryProcessingException TempTableStore.java:564. Enable more detailed logging to see the entire stacktrace.
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 4 months
[JBoss JIRA] (TEIID-3887) Redshift - RS does not support ASCII function
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3887?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-3887.
---------------------------------
> Redshift - RS does not support ASCII function
> ----------------------------------------------
>
> Key: TEIID-3887
> URL: https://issues.jboss.org/browse/TEIID-3887
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.12.3
> Environment: driver - PostgreSQL 9.2
> translator - postgresql
> Reporter: Juraj Duráni
> Assignee: Steven Hawkins
> Fix For: 8.13, 8.12.4
>
>
> Redshift database does not support ASCII function
> E.g. *SELECT INTKEY, ASCII(INTKEY) FROM BQT1.SmallA ORDER BY INTKEY* is translated as *SELECT g_0.intkey AS c_0, ascii(cast(g_0.intkey AS varchar(4000))) AS c_1 FROM smalla AS g_0 ORDER BY c_0*
> Result:
> {code:text}
> Caused by: org.postgresql.util.PSQLException: ERROR: Specified types or functions (one per INFO message) not supported on Redshift tables.
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 4 months
[JBoss JIRA] (TEIID-4167) Infinispan translator specific clause in sql query causes NullPointerException
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4167?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-4167.
---------------------------------
> Infinispan translator specific clause in sql query causes NullPointerException
> ------------------------------------------------------------------------------
>
> Key: TEIID-4167
> URL: https://issues.jboss.org/browse/TEIID-4167
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.5
> Reporter: Jan Stastny
> Assignee: Van Halbert
> Priority: Optional
> Fix For: 9.x, 8.12.5
>
>
> When using DSL enabled infinispan-cache translator, NullPointerException occurs when executing a query with LIMIT clause:
> {code:sql}
> SELECT * FROM CustomerReport LIMIT 100;
> {code}
> or with non-trivial WHERE clause (doesn't matter whether such row exists or not):
> {code:sql}
> SELECT * FROM CustomerReport WHERE customerId=1;
> {code}
> {code:plain}
> 09:50:18,253 DEBUG [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue1) Running task for parent thread Worker0_QueryProcessorQueue0
> 09:50:18,255 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue1) ZzVxT/W8iN+B.0.0.0 Processing NEW request: SELECT jdgSource.CustomerReport.totalAmount FROM jdgSource.CustomerReport LIMIT 100
> 09:50:18,500 INFO [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue1) === Using DefaultCacheManager (loaded by configuration) ===
> 09:50:18,505 INFO [org.infinispan.factories.GlobalComponentRegistry] (Worker1_QueryProcessorQueue1) ISPN000128: Infinispan version: Infinispan 'Infinium' 6.4.0.Final-redhat-4
> 09:50:18,833 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue1) Infinispan-Cache Connection has been created.
> 09:50:18,841 DEBUG [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue1) ZzVxT/W8iN+B.0.0.0 Obtained execution
> 09:50:18,889 ERROR [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue1) Connector worker process failed for atomic-request=ZzVxT/W8iN+B.0.0.0: java.lang.NullPointerException
> at org.infinispan.query.dsl.embedded.impl.QueryEngine.parse(QueryEngine.java:623) [infinispan-query-6.4.0.Final-redhat-4.jar:6.4.0.Final-redhat-4]
> at org.infinispan.query.dsl.embedded.impl.QueryEngine.buildQuery(QueryEngine.java:93) [infinispan-query-6.4.0.Final-redhat-4.jar:6.4.0.Final-redhat-4]
> at org.infinispan.query.dsl.embedded.impl.DelegatingQuery.createQuery(DelegatingQuery.java:38) [infinispan-query-6.4.0.Final-redhat-4.jar:6.4.0.Final-redhat-4]
> at org.infinispan.query.dsl.embedded.impl.DelegatingQuery.list(DelegatingQuery.java:45) [infinispan-query-6.4.0.Final-redhat-4.jar:6.4.0.Final-redhat-4]
> at org.teiid.resource.adapter.infinispan.DSLSearch.performSearch(DSLSearch.java:176)
> at org.teiid.resource.adapter.infinispan.DSLSearch.performSearch(DSLSearch.java:130)
> at org.teiid.translator.object.ObjectExecution.execute(ObjectExecution.java:259) [translator-object-8.12.5.redhat-3.jar:8.12.5]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:359) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_51]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_51]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_51]
> at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_51]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at com.sun.proxy.$Proxy124.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_51]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_51]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_51]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_51]
> 09:50:18,895 DEBUG [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue2) Request Thread ZzVxT/W8iN+B.0 with state PROCESSING
> 09:50:18,896 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue2) TEIID30019 Unexpected exception for request ZzVxT/W8iN+B.0: java.lang.NullPointerException
> at org.infinispan.query.dsl.embedded.impl.QueryEngine.parse(QueryEngine.java:623)
> at org.infinispan.query.dsl.embedded.impl.QueryEngine.buildQuery(QueryEngine.java:93)
> at org.infinispan.query.dsl.embedded.impl.DelegatingQuery.createQuery(DelegatingQuery.java:38)
> at org.infinispan.query.dsl.embedded.impl.DelegatingQuery.list(DelegatingQuery.java:45)
> at org.teiid.resource.adapter.infinispan.DSLSearch.performSearch(DSLSearch.java:176)
> at org.teiid.resource.adapter.infinispan.DSLSearch.performSearch(DSLSearch.java:130)
> at org.teiid.translator.object.ObjectExecution.execute(ObjectExecution.java:259)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:359) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_51]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_51]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_51]
> at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_51]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at com.sun.proxy.$Proxy124.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_51]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.5.redhat-3.jar:8.12.5.redhat-3]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_51]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_51]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_51]
> 09:50:18,899 DEBUG [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue2) QueryProcessor: closing processor
> 09:50:18,899 DEBUG [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue2) ZzVxT/W8iN+B.0.0.0 Remove State
> 09:50:18,900 DEBUG [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue2) ZzVxT/W8iN+B.0.0.0 Processing Close : SELECT jdgSource.CustomerReport.totalAmount FROM jdgSource.CustomerReport LIMIT 100
> 09:50:18,900 DEBUG [org.teiid.CONNECTOR] (Worker0_QueryProcessorQueue2) ZzVxT/W8iN+B.0.0.0 Closed execution
> {code}
> The vdb looks like:
> {code:xml}
> <vdb name="jdg-local" version="1">
> <description>For testing of materialized views</description>
> <property name ="lib" value ="org.jboss.qe.jdg.pojos"></property>
> <model name="jdgSource">
> <source name="jdgSource" translator-name="jdg-override"
> connection-jndi-name="java:/jdg-mat-ds" />
> <metadata type="DDL"><![CDATA[]]>
> CREATE FOREIGN TABLE CustomerReport(
> customerId integer not null OPTIONS (SEARCHABLE 'Searchable', NATIVE_TYPE 'int'),
> totalAmount integer,
> CONSTRAINT PK_ID PRIMARY KEY(customerId)
> ) OPTIONS (NAMEINSOURCE 'jdg-mat', UPDATABLE TRUE);
> </metadata>
> </model>
> <translator name="jdg-override" type="infinispan-cache">
> <property name="SupportsDSLSearching" value="true"/>
> <property name="SupportsDirectQueryProcedure" value="true" />
> </translator>
> </vdb>
> {code}
> And the annotated POJO:
> {code:java}
> @Indexed
> public class CustomerReport implements Serializable {
> private static final long serialVersionUID = 1L;
> @NumericField @Field(index=Index.YES, store=Store.YES, analyze=Analyze.NO)
> private Integer customerId;
> @Field(index=Index.YES, store=Store.YES, analyze=Analyze.NO)
> private Integer totalAmount;
> public Integer getCustomerId() {
> return customerId;
> }
> public void setCustomerId(Integer customerId) {
> this.customerId = customerId;
> }
> public Integer getTotalAmount() {
> return totalAmount;
> }
> public void setTotalAmount(Integer totalAmount) {
> this.totalAmount = totalAmount;
> }
> }
> {code}
> The cache is defined in infinispan-cfg.xml file:
> {code:sql}
> <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="urn:infinispan:config:6.0 http://www.infinispan.org/schemas/infinispan-config-6.0.xsd"
> xmlns="urn:infinispan:config:6.0">
> <global>
> <globalJmxStatistics enabled="false"
> allowDuplicateDomains="true" />
> </global>
> <namedCache name="jdg-mat-stage">
> <eviction strategy="LIRS" maxEntries="1000" />
> <persistence passivation="false">
> <singleFile shared="false" fetchPersistentState="false"
> ignoreModifications="false" purgeOnStartup="false" preload="false"
> location="./target/localcache/indexing/jdg-mat-stage">
> </singleFile>
> </persistence>
> </namedCache>
> </infinispan>
> {code}
> Resource adapter looks like:
> {code:xml}
> <resource-adapter id="jdg-mat">
> <module slot="6" id="org.jboss.teiid.resource-adapter.infinispan"/>
> <connection-definitions>
> <connection-definition class-name="org.teiid.resource.adapter.infinispan.InfinispanManagedConnectionFactory" jndi-name="java:/jdg-mat-ds" enabled="true" pool-name="jdg-mat">
> <config-property name="ConfigurationFileNameForLocalCache">
> ${jboss.home.dir}/standalone/configuration/infinispan-cfg.xml
> </config-property>
> <config-property name="CacheTypeMap">
> jdg-mat:org.jboss.qe.jdg.pojo.CustomerReport;customerId
> </config-property>
> </connection-definition>
> </connection-definitions>
> </resource-adapter>
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 4 months
[JBoss JIRA] (TEIID-4224) HANA translator : incorrect pushdown of DAYOFWEEK function
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4224?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-4224.
---------------------------------
> HANA translator : incorrect pushdown of DAYOFWEEK function
> ----------------------------------------------------------
>
> Key: TEIID-4224
> URL: https://issues.jboss.org/browse/TEIID-4224
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.5
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 9.0, 8.12.5, 8.13.5
>
>
> Teiid's DAYOFWEEK function:
> {code:plain}
> DAYOFWEEK(x) Return day of week (Sunday=1, Saturday=7)
> {code}
> is pushed down as:
> {code:plain}
> dayname(g_0."DATEVALUE")
> {code}
> but this function returns string representation of the day.
> More appropriate would be to push DAYOFWEEK as WEEKDAY function, but the returned value has to be adapted to Teiid's representation (Sunday=1 and Saturday=7, vs. HANA's Monday=0,Sunday=6). So the solution would be to push:
> {code:sql}
> MOD((WEEKDAY(datevalue)+1),7)+1
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 4 months
[JBoss JIRA] (TEIID-4280) NPE in RuleMergeVirtual when running a query with nested CTEs
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4280?page=com.atlassian.jira.plugin... ]
Steven Hawkins closed TEIID-4280.
---------------------------------
> NPE in RuleMergeVirtual when running a query with nested CTEs
> -------------------------------------------------------------
>
> Key: TEIID-4280
> URL: https://issues.jboss.org/browse/TEIID-4280
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.12
> Reporter: Salvatore R
> Assignee: Steven Hawkins
> Fix For: 9.1, 8.12.5, 8.13.6, 9.0.1
>
>
> I defined the following view, based on a table in PostgreSQL (pg.test_a):
> {code:sql}
> create view tv1 as
> WITH
> alias as (SELECT a from pg.test_a),
> alias2 as (select t2.a as a1, t1.a from alias t1 join (SELECT a from pg.test_a) t2 on t1.a=t2.a),
> alias3 as (select t2.a as a1, t1.a from alias t1 join alias2 t2 on t1.a=t2.a)
> SELECT alias3.a1 FROM alias2 join alias3 on alias3.a=alias2.a;
> {code}
> When I run this query:
> {code:sql}
> with
> CTE1 as (
> select a1 from (
> with CTE11 as (select a1 from views.tv1)
> select a1 from CTE11
> ) as SUBQ1),
> CTE2 as (
> select a1 from (
> with CTE21 as (select a1 from views.tv1)
> select a1 from CTE21
> ) as SUBQ2)
> select * from CTE1 as T1 join CTE2 as T2 on T1.a1=T2.a1
> {code}
> this exception is thrown:
> {code:sql}
> 16:36:34,749 ERROR [org.teiid.PROCESSOR] (Worker17_QueryProcessorQueue112) cMD3wCUrebvy TEIID30019 Unexpected exception for request cMD3wCUrebvy.34: java.lang.NullPointerException
> at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.doMerge(RuleMergeVirtual.java:218)
> at org.teiid.query.optimizer.relational.rules.RuleMergeVirtual.execute(RuleMergeVirtual.java:84)
> at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:870)
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:226)
> at org.teiid.query.optimizer.relational.RelationalPlanner.planWith(RelationalPlanner.java:361)
> at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:206)
> at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:159)
> at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:445)
> at org.teiid.dqp.internal.process.Request.processRequest(Request.java:473)
> at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:655)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:337)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> 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:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> {code}
> The same error occurs using inline views too.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 4 months