[JBoss JIRA] (TEIID-4639) Mongo translator - embeddable tables - NULL primary key of embedded table in result
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4639?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4639:
----------------------------------
Fix Version/s: 9.2
> Mongo translator - embeddable tables - NULL primary key of embedded table in result
> -----------------------------------------------------------------------------------
>
> Key: TEIID-4639
> URL: https://issues.jboss.org/browse/TEIID-4639
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.8.6_3
> Reporter: Juraj Duráni
> Assignee: Ramesh Reddy
> Fix For: 9.2
>
>
> Issuing query like \[1\] on embeddable tables scenario \[2\], in the result, primary key of embedded table is NULL \[3\].
> {code:sql|title=\[1\] Sample query}
> SELECT a.id AS a_id, a.company_id AS a_cid, b.id AS b_id FROM Person a INNER JOIN Company b IN a.company_id = b.id
> {code}
> {code:sql|title=\[2\] DDL}
> CREATE FOREIGN TABLE Person (
> id integer PRIMARY KEY,
> name varchar(25),
> company_id integer,
> FOREIGN KEY (company_id) REFERENCES Company (id)
> ) OPTIONS(UPDATABLE 'TRUE');
> CREATE FOREIGN TABLE Company (
> id integer PRIMARY KEY,
> name varchar(25)
> ) OPTIONS(UPDATABLE 'TRUE', "teiid_mongo:EMBEDDABLE" 'TRUE');
> {code}
> *\[3\] Result*
> ||a_id||a_cid||b_id||
> |11|11|<null>|
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (TEIID-4638) Mongo translator - nested embeddable tables - INNER JOIN is not symetric
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4638?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4638:
----------------------------------
Fix Version/s: 9.2
> Mongo translator - nested embeddable tables - INNER JOIN is not symetric
> ------------------------------------------------------------------------
>
> Key: TEIID-4638
> URL: https://issues.jboss.org/browse/TEIID-4638
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.8.6_3
> Reporter: Juraj Duráni
> Assignee: Ramesh Reddy
> Fix For: 9.2
>
>
> I have three tables bound together in nested EMBEDDABLE scenario \[1\]. I have three respective collections in Mongo \[2\]. Issuing SQL query with INNER JOIN on first two tables, result depends on order of tables in JOIN (i.e. _a JOIN b_ vs. _b JOIN a_) \[3, 4\].
> {code:sql|title=\[1\] DDL}
> CREATE FOREIGN TABLE Issue (
> id integer PRIMARY KEY,
> name varchar(25),
> reporter_id integer,
> FOREIGN KEY (reporter_id) REFERENCES Person (id)
> ) OPTIONS(UPDATABLE 'TRUE');
> CREATE FOREIGN TABLE Person (
> id integer PRIMARY KEY,
> name varchar(25),
> company_id integer,
> FOREIGN KEY (company_id) REFERENCES Company (id)
> ) OPTIONS(UPDATABLE 'TRUE', "teiid_mongo:EMBEDDABLE" 'TRUE');
> CREATE FOREIGN TABLE Company (
> id integer PRIMARY KEY,
> name varchar(25)
> ) OPTIONS(UPDATABLE 'TRUE', "teiid_mongo:EMBEDDABLE" 'TRUE');
> {code}
> {code:plain|title=\[2\] Mongo data}
> > db.Company.find()
> { "_id" : 11, "name" : "comp11" }
> > db.Person.find()
> { "_id" : 11, "name" : "p11", "company_id" : 11, "Company" : { "name" : "comp11" } }
> > db.Issue.find()
> { "_id" : 11, "name" : "i11", "reporter_id" : 11, "Person" : { "name" : "p11", "company_id" : 11, "Company" : { "name" : "comp11" } } }
> {code}
> \[3\]
> *Query 1*
> {code:sql}
> SELECT a.*, b.* FROM Company a INNER JOIN Person b ON a.id = b.company_id
> {code}
> *Result*
> ||id||name||id||name||company_id||
> \[4\]
> *Query 2*
> {code:sql}
> SELECT a.*, b.* FROM Person b INNER JOIN Company a ON a.id = b.company_id
> {code}
> *Result*
> ||id||name||id||name||company_id||
> |<null>|comp11|11|p11|11|
> *Note 1*
> Person <--> Issue relationship is not affected by this issue.
> *Note 2*
> In \[4\], first _id_ in result is _null_. I will report this as a separate issue.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (TEIID-4651) SybaseIQ translator: different order of arguments in LOCATE function
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4651?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4651:
----------------------------------
Component/s: JDBC Connector
(was: Misc. Connectors)
Fix Version/s: 9.2
> SybaseIQ translator: different order of arguments in LOCATE function
> --------------------------------------------------------------------
>
> Key: TEIID-4651
> URL: https://issues.jboss.org/browse/TEIID-4651
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.12.8.6_3
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 9.2
>
>
> Teiid's and SAP IQ's LOCATE function differs in order of arguments. Translator is pushing the LOCATE function as is into the source, which results in undesirable results. This is critical issue, as the queries seemingly work, but are not producing correct results.
> See [SAP IQ LOCATE function docs|http://help.sap.com/saphelp_iq1611_iqrefbb/helpdata/en/a5/5fae8484f2...]
> Query:
> {code:sql}
> SELECT INTKEY, STRINGNUM, LOCATE(1,STRINGNUM) FROM BQT1.SmallA ORDER BY intkey
> {code}
> being pushed as:
> {code:sql}
> [SELECT g_0."intkey" AS c_0, g_0."stringnum" AS c_1, locate('1', g_0."stringnum") AS c_2 FROM "bqt-server"."dvqe"."SmallA" AS g_0 ORDER BY c_0]
> {code}
> Results in:
> || intkey || stringnum || expr3 ||
> |0 | -24 | 0|
> |1 | <null> | <null>|
> |2 | -22 | 0|
> |3 | -21 | 0|
> |4 | -20 | 0|
> |5 | -19 | 0|
> |6 | -18 | 0|
> |7 | -17 | 0|
> |8 | -16 | 0|
> |9 | -15 | 0|
> |10 | -14 | 0|
> |11 | -13 | 0|
> |12 | -12 | 0|
> |13 | -11 | 0|
> |14 | -10 | 0|
> |15 | -9 | 0|
> |16 | -8 | 0|
> |17 | <null> | <null>|
> |18 | -6 | 0|
> |19 | -5 | 0|
> |20 | -4 | 0|
> |21 | -3 | 0|
> |22 | -2 | 0|
> |23 | -1 | 0|
> |24 | 0 | 0|
> |25 | 1 | 1|
> |26 | 2 | 0|
> |27 | 3 | 0|
> |28 | 4 | 0|
> |29 | 5 | 0|
> |30 | 6 | 0|
> |31 | 7 | 0|
> |32 | 8 | 0|
> |33 | <null> | <null>|
> |34 | 10 | 0|
> |35 | 11 | 0|
> |36 | 12 | 0|
> |37 | 13 | 0|
> |38 | 14 | 0|
> |39 | 15 | 0|
> |40 | 16 | 0|
> |41 | 17 | 0|
> |42 | 18 | 0|
> |43 | 19 | 0|
> |44 | 20 | 0|
> |45 | 21 | 0|
> |46 | 22 | 0|
> |47 | 23 | 0|
> |48 | 24 | 0|
> |49 | <null> | <null> |
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (TEIID-4653) SybaseIQ translator: Input parameter not set in prepared statement in source command
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4653?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4653:
----------------------------------
Component/s: JDBC Connector
(was: Misc. Connectors)
Fix Version/s: 9.2
> SybaseIQ translator: Input parameter not set in prepared statement in source command
> ------------------------------------------------------------------------------------
>
> Key: TEIID-4653
> URL: https://issues.jboss.org/browse/TEIID-4653
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.12.8.6_3
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 9.2
>
>
> There seems to be problem with prepared statements which are being push to the datasource without binding parameters.
> The query engine fails with following error:
> {code}
> 13:08:00,044 WARN [org.teiid.CONNECTOR] (Worker18_QueryProcessorQueue72) Connector worker process failed for atomic-request=PYp5BTTPF3pK.25.0.16: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [{ts '2000-01-01 00:00:03.0'}] SQL: SELECT g_0."intkey", g_0."timestampvalue" FROM "bqt-server"."dvqe"."SmallA" AS g_0 WHERE g_0."timestampvalue" = ?]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
> at sun.reflect.GeneratedMethodAccessor169.invoke(Unknown Source) [:1.7.0_71]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.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) [rt.jar:1.7.0_71]
> 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:1145) [rt.jar:1.7.0_71]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
> Caused by: java.sql.SQLException: JZ0SA: Prepared Statement: Input parameter not set, index: 0.
> at com.sybase.jdbc4.jdbc.ErrorMessage.raiseError(Unknown Source)
> at com.sybase.jdbc4.tds.TdsParam.prepareForSend(Unknown Source)
> at com.sybase.jdbc4.jdbc.ParamManager.checkParams(Unknown Source)
> at com.sybase.jdbc4.tds.TdsCursor.a(Unknown Source)
> at com.sybase.jdbc4.tds.TdsCursor.open(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
> 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.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> ... 17 more
> {code}
> The message indicates, that a prepared statement which is being pushed has not bound parameter values set.
> h2.First Example
> Example query:
> {code:sql}
> SELECT IntKey, timestampvalue FROM BQT1.SmallA WHERE timestampvalue = TIMESTAMPCREATE( {d'2000-01-01'}, {t'00:00:03'})
> {code}
> Resulting DATA SRC COMMAND:
> {code:sql}
> SELECT g_0.intkey, g_0.timestampvalue FROM BQT1.SmallA AS g_0 WHERE g_0.timestampvalue = {ts'2000-01-01 00:00:03.0'}
> {code}
> Resulting SOURCE SRC COMMAND:
> {code:sql}
> [SELECT g_0."intkey", g_0."timestampvalue" FROM "bqt-server"."dvqe"."SmallA" AS g_0 WHERE g_0."timestampvalue" = ?]
> {code}
> h2. Second example
> Query:
> {code:sql}
> SELECT bqt2.smalla.intkey, g2.intkey, bqt2.smalla.bytenum FROM bqt2.smalla LEFT JOIN LATERAL (SELECT intkey FROM bqt2.mediuma WHERE bqt2.smalla.bytenum = bqt2.mediuma.bytenum) AS g2 ON true ORDER BY bqt2.smalla.intkey, g2.intkey
> {code}
> DATA SRC COMMAND 1:
> {code:sql}
> SELECT g_0.bytenum, g_0.intkey FROM BQT2.SmallA AS g_0
> {code}
> SOURCE SRC COMMAND 1:
> {code:sql}
> [SELECT g_0."bytenum", g_0."intkey" FROM "bqt-server"."dvqe"."SmallA" AS g_0]
> {code}
> DATA SRC COMMAND 2:
> {code:sql}
> SELECT g_0.intkey FROM BQT2.MediumA AS g_0 WHERE g_0.bytenum = -128
> {code}
> SOURCE SRC COMMAND 2:
> {code:sql}
> [SELECT g_0."intkey" FROM "bqt-server"."dvqe"."MediumA" AS g_0 WHERE g_0."bytenum" = ?]
> {code}
> h4.Note:
> There should be more DATA SRC commands similar to DATA SRC COMMAND 2, as such query should be performed in a loop for every result from DATA SRC COMMAND 1. But due to error in DATA SRC COMMAND 2, the loop is ended.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (TEIID-4650) SybaseIQ translator: week function can't be pushed directly
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4650?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4650:
----------------------------------
Component/s: JDBC Connector
(was: Misc. Connectors)
Fix Version/s: 9.2
> SybaseIQ translator: week function can't be pushed directly
> -----------------------------------------------------------
>
> Key: TEIID-4650
> URL: https://issues.jboss.org/browse/TEIID-4650
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.12.8.6_3
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 9.2
>
>
> SybaseIQ translator pushes WEEK function calls directly to SAP IQ. SAP IQ doesn't support such function. See [Date and Time Functions docs|http://help.sap.com/saphelp_iq1611_iqrefbb/helpdata/en/a5/2b07be84f2...]
> Query:
> {code:sql}
> SELECT WEEK(dateValue) FROM BQT1.SMALLA;
> {code}
> Pushed source query:
> {code:sql}
> [SELECT week(g_0."datevalue") FROM "bqt-server"."dvqe"."SmallA" AS g_0]
> {code}
> Error in logs:
> {code}
> 08:14:15,830 WARN [org.teiid.CONNECTOR] (Worker3_QueryProcessorQueue19) Connector worker process failed for atomic-request=PYp5BTTPF3pK.8.0.2: org.teiid.translator.jdbc.JDBCExecutionException: 504 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT week(g_0."datevalue") FROM "bqt-server"."dvqe"."SmallA" AS g_0]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.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) [rt.jar:1.7.0_71]
> 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:1145) [rt.jar:1.7.0_71]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
> Caused by: com.sybase.jdbc4.jdbc.SybSQLException: SQL Anywhere Error -265: Procedure 'week' not found
> at com.sybase.jdbc4.tds.Tds.a(Unknown Source)
> at com.sybase.jdbc4.tds.Tds.nextResult(Unknown Source)
> at com.sybase.jdbc4.tds.Tds.getResultSetResult(Unknown Source)
> at com.sybase.jdbc4.tds.TdsCursor.open(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
> 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.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> ... 18 more
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (TEIID-4652) SybaseIQ translator: DAYOFYEAR function not pushed correctly
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4652?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4652:
----------------------------------
Component/s: JDBC Connector
(was: Misc. Connectors)
Fix Version/s: 9.2
> SybaseIQ translator: DAYOFYEAR function not pushed correctly
> ------------------------------------------------------------
>
> Key: TEIID-4652
> URL: https://issues.jboss.org/browse/TEIID-4652
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.12.8.6_3
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 9.2
>
>
> DAYOFYEAR function is being pushed into SAP IQ datasource causing an error. The function doesn't seem to be supported directly in SAP IQ according to [SAP IQ docs|http://help.sap.com/saphelp_iq1611_iqrefbb/helpdata/en/a5/2b07be84f2...]
> Query used:
> {code:sql}
> SELECT IntKey, datevalue, DAYOFYEAR(datevalue) AS DayFromDate FROM BQT1.SmallA ORDER BY IntKey
> {code}
> Source query pushed:
> {code:sql}
> [SELECT g_0."intkey" AS c_0, g_0."datevalue" AS c_1, {fn dayofyear(g_0."datevalue")} AS c_2 FROM "bqt-server"."dvqe"."SmallA" AS g_0 ORDER BY c_0]
> {code}
> Causing an error coming from SAP IQ:
> {code}
> 09:08:30,130 WARN [org.teiid.CONNECTOR] (Worker11_QueryProcessorQueue58) Connector worker process failed for atomic-request=PYp5BTTPF3pK.20.0.12: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0."intkey" AS c_0, g_0."datevalue" AS c_1, {fn dayofyear(g_0."datevalue")} AS c_2 FROM "bqt-server"."dvqe"."SmallA" AS g_0 ORDER BY c_0]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.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) [rt.jar:1.7.0_71]
> 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:1145) [rt.jar:1.7.0_71]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
> Caused by: java.sql.SQLException: JZ0SI: A static function escape dayofyear was used which is not supported by this server.
> at com.sybase.jdbc4.jdbc.ErrorMessage.raiseError(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybStatement.processEscapes(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybStatement.doEscapeProcessing(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybPreparedStatement.<init>(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybConnection.a(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybConnection.prepareStatement(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybConnection.prepareStatement(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybConnection.prepareStatement(Unknown Source)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.doPrepareStatement(BaseWrapperManagedConnection.java:744)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:730)
> at org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:405)
> at org.teiid.translator.jdbc.JDBCBaseExecution.getPreparedStatement(JDBCBaseExecution.java:196) [translator-jdbc-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:121) [translator-jdbc-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> ... 18 more
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (TEIID-4649) SybaseIQ translator: different order of arguments in CONVERT function
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4649?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4649:
----------------------------------
Component/s: JDBC Connector
Fix Version/s: 9.2
> SybaseIQ translator: different order of arguments in CONVERT function
> ---------------------------------------------------------------------
>
> Key: TEIID-4649
> URL: https://issues.jboss.org/browse/TEIID-4649
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.12.8.6_3
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 9.2
>
>
> Teiid can't push directly CONVERT function via SybaseIQ translator. Sybase/SAP IQ has different order of arguments than Teiid has. See [SAP IQ CONVERT docs|http://help.sap.com/saphelp_iq1611_iqrefbb/helpdata/en/a5/3f6efb84f2...]
> Important to mention is the fact, that CONVERT function is apart from a direct call in user's query also incorporated into resulting source queries by the translator. That will cause issues in lots of queries that need for example implicit conversion to be done.
> For query:
> {code:sql}
> SELECT BQT1.SmallA.IntKey FROM BQT1.SmallA WHERE BQT1.SmallA.CharValue >= '0' AND BQT1.SmallA.CharValue < '1' ORDER BY IntKey
> {code}
> this gets pushed:
> {code:sql}
> [SELECT g_0."intkey" AS c_0 FROM "bqt-server"."dvqe"."SmallA" AS g_0 WHERE convert(g_0."charvalue", string) >= '0' AND convert(g_0."charvalue", string) < '1' ORDER BY c_0]
> {code}
> Error in log:
> {code}
> 08:05:32,921 WARN [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue13) Connector worker process failed for atomic-request=PYp5BTTPF3pK.6.0.0: org.teiid.translator.jdbc.JDBCExecutionException: 102 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT TOP 100 g_0."intkey" AS c_0 FROM "bqt-server"."dvqe"."SmallA" AS g_0 WHERE convert(g_0."charvalue", string) >= '0' AND convert(g_0."charvalue", string) < '1' ORDER BY c_0]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.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) [rt.jar:1.7.0_71]
> 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:1145) [rt.jar:1.7.0_71]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
> Caused by: com.sybase.jdbc4.jdbc.SybSQLException: SQL Anywhere Error -131: Syntax error near 'g_0.charvalue' on line 1
> at com.sybase.jdbc4.tds.Tds.a(Unknown Source)
> at com.sybase.jdbc4.tds.Tds.nextResult(Unknown Source)
> at com.sybase.jdbc4.tds.Tds.getResultSetResult(Unknown Source)
> at com.sybase.jdbc4.tds.TdsCursor.open(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybStatement.executeQuery(Unknown Source)
> at com.sybase.jdbc4.jdbc.SybPreparedStatement.executeQuery(Unknown Source)
> 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.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> ... 18 more
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (TEIID-4609) Sap-hana translator - unsupported cast to data type bintext
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4609?page=com.atlassian.jira.plugin... ]
Steven Hawkins reassigned TEIID-4609:
-------------------------------------
Fix Version/s: 9.2
Assignee: Ted Jones (was: Steven Hawkins)
> Sap-hana translator - unsupported cast to data type bintext
> -----------------------------------------------------------
>
> Key: TEIID-4609
> URL: https://issues.jboss.org/browse/TEIID-4609
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.5
> Reporter: Juraj Duráni
> Assignee: Ted Jones
> Fix For: 9.2
>
>
> In some cases, Teiid uses for pushing queries to Sap-Hanadata type bintext. More precisely, uses cast(... as bintext). However, this type is supported only in column tables not in row tables. Moreover, cast to bintext seems to be unsupported by Sap-Hana - see \[1\] and [doc|https://help.sap.com/saphelp_hanaplatform/helpdata/en/20/db6dd4751910...]
> {code:plain|title=\[1\] Server log}
> 16:02:36,318 DEBUG [org.teiid.TRANSPORT] (New I/O worker #1) processing message:MessageHolder: key=819 contents=Invoke interface org.teiid.client.security.ILogon.ping
> 16:02:36,318 DEBUG [org.teiid.TRANSPORT] (New I/O worker #1) send message: MessageHolder: key=819 contents=null
> 16:02:36,319 DEBUG [org.teiid.TRANSPORT] (New I/O worker #1) processing message:MessageHolder: key=820 contents=Invoke interface org.teiid.client.security.ILogon.ping
> 16:02:36,319 DEBUG [org.teiid.SECURITY] (New I/O worker #1) Keep-alive ping received for session: wmQvWWaxavzo
> 16:02:36,319 DEBUG [org.teiid.TRANSPORT] (New I/O worker #1) send message: MessageHolder: key=820 contents=null
> 16:02:36,435 DEBUG [org.teiid.TRANSPORT] (New I/O worker #3) processing message:MessageHolder: key=821 contents=Invoke interface org.teiid.client.DQP.executeRequest
> 16:02:36,436 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue103) Request Thread wmQvWWaxavzo.18 with state NEW
> 16:02:36,437 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue103) wmQvWWaxavzo.18 Command has no cache hint and result set cache mode is not on.
> 16:02:36,437 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue103) wmQvWWaxavzo.18 executing select * from crud.smalla
> 16:02:36,439 DEBUG [org.teiid.PLANNER] (Worker12_QueryProcessorQueue103) [LOW [Relational Planner] limit not supported by source Source - limit node not pushed TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null}, LOW [Relational Planner] limit not supported by source Source - limit node not pushed TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[IntKey, StringKey, IntNum, StringNum, FloatNum, LongNum, DoubleNum, convert(ByteNum, byte), DateValue, TimeValue, TimestampValue, BooleanValue, CharValue, ShortValue, convert(BigIntegerValue, biginteger), BigDecimalValue, convert(ObjectValue, object)]}]
> 16:02:36,439 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue103) ProcessTree for wmQvWWaxavzo.18 LimitNode(0) output=[IntKey, StringKey, IntNum, StringNum, FloatNum, LongNum, DoubleNum, convert(ByteNum, byte), DateValue, TimeValue, TimestampValue, BooleanValue, CharValue, ShortValue, convert(BigIntegerValue, biginteger), BigDecimalValue, convert(ObjectValue, object)] limit 100
> AccessNode(1) output=[IntKey, StringKey, IntNum, StringNum, FloatNum, LongNum, DoubleNum, convert(ByteNum, byte), DateValue, TimeValue, TimestampValue, BooleanValue, CharValue, ShortValue, convert(BigIntegerValue, biginteger), BigDecimalValue, convert(ObjectValue, object)] SELECT g_0.IntKey, g_0.StringKey, g_0.IntNum, g_0.StringNum, g_0.FloatNum, g_0.LongNum, g_0.DoubleNum, convert(g_0.ByteNum, byte), g_0.DateValue, g_0.TimeValue, g_0.TimestampValue, g_0.BooleanValue, g_0.CharValue, g_0.ShortValue, convert(g_0.BigIntegerValue, biginteger), g_0.BigDecimalValue, convert(g_0.ObjectValue, object) FROM Source.smalla AS g_0
> 16:02:36,439 DEBUG [org.teiid.TXN_LOG] (Worker12_QueryProcessorQueue103) before getOrCreateTransactionContext:org.teiid.dqp.internal.process.TransactionServerImpl@1cc9d855(wmQvWWaxavzo)
> 16:02:36,440 DEBUG [org.teiid.TXN_LOG] (Worker12_QueryProcessorQueue103) after getOrCreateTransactionContext : wmQvWWaxavzo NONE ID:NONE
> 16:02:36,440 DEBUG [org.teiid.BUFFER_MGR] (Worker12_QueryProcessorQueue103) Creating TupleBuffer: 39 [CRUD.SmallA.IntKey, CRUD.SmallA.StringKey, CRUD.SmallA.IntNum, CRUD.SmallA.StringNum, CRUD.SmallA.FloatNum, CRUD.SmallA.LongNum, CRUD.SmallA.DoubleNum, CRUD.SmallA.ByteNum, CRUD.SmallA.DateValue, CRUD.SmallA.TimeValue, CRUD.SmallA.TimestampValue, CRUD.SmallA.BooleanValue, CRUD.SmallA.CharValue, CRUD.SmallA.ShortValue, CRUD.SmallA.BigIntegerValue, CRUD.SmallA.BigDecimalValue, CRUD.SmallA.ObjectValue] [class java.lang.Integer, class java.lang.String, class java.lang.Integer, class java.lang.String, class java.lang.Float, class java.lang.Long, class java.lang.Double, class java.lang.Byte, class java.sql.Date, class java.sql.Time, class java.sql.Timestamp, class java.lang.Boolean, class java.lang.Character, class java.lang.Short, class java.math.BigInteger, class java.math.BigDecimal, class java.lang.Object] batch size 256 of type PROCESSOR
> 16:02:36,440 DEBUG [org.teiid.CONNECTOR] (Worker12_QueryProcessorQueue103) wmQvWWaxavzo.18.1.24 Create State
> 16:02:36,440 DEBUG [org.teiid.BUFFER_MGR] (Worker12_QueryProcessorQueue103) wmQvWWaxavzo.18.1.24 Blocking on source query wmQvWWaxavzo.18.1.24
> 16:02:36,441 DEBUG [org.teiid.BUFFER_MGR] (Worker12_QueryProcessorQueue103) wmQvWWaxavzo.18 Blocking on source request(s).
> 16:02:36,441 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue103) Request Thread wmQvWWaxavzo.18 - processor blocked
> 16:02:36,441 DEBUG [org.teiid.PROCESSOR] (Worker13_QueryProcessorQueue104) Running task for parent thread Worker12_QueryProcessorQueue103
> 16:02:36,441 DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue104) wmQvWWaxavzo.18.1.24 Processing NEW request: SELECT g_0.IntKey, g_0.StringKey, g_0.IntNum, g_0.StringNum, g_0.FloatNum, g_0.LongNum, g_0.DoubleNum, convert(g_0.ByteNum, byte), g_0.DateValue, g_0.TimeValue, g_0.TimestampValue, g_0.BooleanValue, g_0.CharValue, g_0.ShortValue, convert(g_0.BigIntegerValue, biginteger), g_0.BigDecimalValue, convert(g_0.ObjectValue, object) FROM Source.smalla AS g_0
> 16:02:36,444 DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue104) wmQvWWaxavzo.18.1.24 Obtained execution
> 16:02:36,444 DEBUG [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue104) Source-specific command: SELECT g_0.IntKey, g_0.StringKey, g_0.IntNum, g_0.StringNum, g_0.FloatNum, g_0.LongNum, g_0.DoubleNum, cast(g_0.ByteNum AS tinyint), g_0.DateValue, g_0.TimeValue, g_0.TimestampValue, g_0.BooleanValue, g_0.CharValue, g_0.ShortValue, cast(g_0.BigIntegerValue AS bigint), g_0.BigDecimalValue, cast(g_0.ObjectValue AS bintext) FROM NULL_NULL_CRUDsmalla AS g_0
> 16:02:36,922 WARN [org.teiid.CONNECTOR] (Worker13_QueryProcessorQueue104) Connector worker process failed for atomic-request=wmQvWWaxavzo.18.1.24: org.teiid.translator.jdbc.JDBCExecutionException: 257 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.IntKey, g_0.StringKey, g_0.IntNum, g_0.StringNum, g_0.FloatNum, g_0.LongNum, g_0.DoubleNum, cast(g_0.ByteNum AS tinyint), g_0.DateValue, g_0.TimeValue, g_0.TimestampValue, g_0.BooleanValue, g_0.CharValue, g_0.ShortValue, cast(g_0.BigIntegerValue AS bigint), g_0.BigDecimalValue, cast(g_0.ObjectValue AS bintext) FROM NULL_NULL_CRUDsmalla AS g_0]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
> at sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source) [:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy48.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-internal]
> 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:1142) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
> Caused by: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "bintext": line 1 col 315 (at pos 315)
> at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.createException(SQLExceptionSapDB.java:345)
> at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:185)
> at com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:100)
> at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:1130)
> at com.sap.db.jdbc.CallableStatementSapDB.sendCommand(CallableStatementSapDB.java:1810)
> at com.sap.db.jdbc.StatementSapDB.sendSQL(StatementSapDB.java:981)
> at com.sap.db.jdbc.CallableStatementSapDB.doParse(CallableStatementSapDB.java:183)
> at com.sap.db.jdbc.CallableStatementSapDB.constructor(CallableStatementSapDB.java:142)
> at com.sap.db.jdbc.CallableStatementSapDB.<init>(CallableStatementSapDB.java:87)
> at com.sap.db.jdbc.CallableStatementSapDBFinalize.<init>(CallableStatementSapDBFinalize.java:31)
> at com.sap.db.jdbc.ConnectionSapDB.prepareStatement(ConnectionSapDB.java:1379)
> at com.sap.db.jdbc.trace.Connection.prepareStatement(Connection.java:347)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.doPrepareStatement(BaseWrapperManagedConnection.java:744)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:730)
> at org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:405)
> at org.teiid.translator.jdbc.JDBCBaseExecution.getPreparedStatement(JDBCBaseExecution.java:196) [translator-jdbc-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:121) [translator-jdbc-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> ... 17 more
> 16:02:36,926 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) Request Thread wmQvWWaxavzo.18 with state PROCESSING
> 16:02:36,926 DEBUG [org.teiid.CONNECTOR] (Worker12_QueryProcessorQueue105) wmQvWWaxavzo.18.1.24 Remove State
> 16:02:36,926 DEBUG [org.teiid.CONNECTOR] (Worker12_QueryProcessorQueue105) wmQvWWaxavzo.18.1.24 Processing Close : SELECT g_0.IntKey, g_0.StringKey, g_0.IntNum, g_0.StringNum, g_0.FloatNum, g_0.LongNum, g_0.DoubleNum, convert(g_0.ByteNum, byte), g_0.DateValue, g_0.TimeValue, g_0.TimestampValue, g_0.BooleanValue, g_0.CharValue, g_0.ShortValue, convert(g_0.BigIntegerValue, biginteger), g_0.BigDecimalValue, convert(g_0.ObjectValue, object) FROM Source.smalla AS g_0
> 16:02:36,926 DEBUG [org.teiid.CONNECTOR] (Worker12_QueryProcessorQueue105) wmQvWWaxavzo.18.1.24 Closed execution
> 16:02:36,926 DEBUG [org.teiid.CONNECTOR] (Worker12_QueryProcessorQueue105) wmQvWWaxavzo.18.1.24 Closed connection
> 16:02:36,927 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) QueryProcessor: closing processor
> 16:02:36,927 WARN [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) TEIID30020 Processing exception for request wmQvWWaxavzo.18 'TEIID30504 Source: 257 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.IntKey, g_0.StringKey, g_0.IntNum, g_0.StringNum, g_0.FloatNum, g_0.LongNum, g_0.DoubleNum, cast(g_0.ByteNum AS tinyint), g_0.DateValue, g_0.TimeValue, g_0.TimestampValue, g_0.BooleanValue, g_0.CharValue, g_0.ShortValue, cast(g_0.BigIntegerValue AS bigint), g_0.BigDecimalValue, cast(g_0.ObjectValue AS bintext) FROM NULL_NULL_CRUDsmalla AS g_0]'. Originally TeiidProcessingException 'SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "bintext": line 1 col 315 (at pos 315)' SQLExceptionSapDB.java:345.: org.teiid.core.TeiidProcessingException: TEIID30504 Source: 257 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.IntKey, g_0.StringKey, g_0.IntNum, g_0.StringNum, g_0.FloatNum, g_0.LongNum, g_0.DoubleNum, cast(g_0.ByteNum AS tinyint), g_0.DateValue, g_0.TimeValue, g_0.TimestampValue, g_0.BooleanValue, g_0.CharValue, g_0.ShortValue, cast(g_0.BigIntegerValue AS bigint), g_0.BigDecimalValue, cast(g_0.ObjectValue AS bintext) FROM NULL_NULL_CRUDsmalla AS g_0]
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:401) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:102) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:744) [rt.jar:1.8.0-internal]
> Caused by: org.teiid.translator.jdbc.JDBCExecutionException: 257 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.IntKey, g_0.StringKey, g_0.IntNum, g_0.StringNum, g_0.FloatNum, g_0.LongNum, g_0.DoubleNum, cast(g_0.ByteNum AS tinyint), g_0.DateValue, g_0.TimeValue, g_0.TimestampValue, g_0.BooleanValue, g_0.CharValue, g_0.ShortValue, cast(g_0.BigIntegerValue AS bigint), g_0.BigDecimalValue, cast(g_0.ObjectValue AS bintext) FROM NULL_NULL_CRUDsmalla AS g_0]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at sun.reflect.GeneratedMethodAccessor95.invoke(Unknown Source) [:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:483) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at com.sun.proxy.$Proxy48.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> ... 6 more
> Caused by: com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near "bintext": line 1 col 315 (at pos 315)
> at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.createException(SQLExceptionSapDB.java:345)
> at com.sap.db.jdbc.exceptions.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:185)
> at com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:100)
> at com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:1130)
> at com.sap.db.jdbc.CallableStatementSapDB.sendCommand(CallableStatementSapDB.java:1810)
> at com.sap.db.jdbc.StatementSapDB.sendSQL(StatementSapDB.java:981)
> at com.sap.db.jdbc.CallableStatementSapDB.doParse(CallableStatementSapDB.java:183)
> at com.sap.db.jdbc.CallableStatementSapDB.constructor(CallableStatementSapDB.java:142)
> at com.sap.db.jdbc.CallableStatementSapDB.<init>(CallableStatementSapDB.java:87)
> at com.sap.db.jdbc.CallableStatementSapDBFinalize.<init>(CallableStatementSapDBFinalize.java:31)
> at com.sap.db.jdbc.ConnectionSapDB.prepareStatement(ConnectionSapDB.java:1379)
> at com.sap.db.jdbc.trace.Connection.prepareStatement(Connection.java:347)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.doPrepareStatement(BaseWrapperManagedConnection.java:744)
> at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:730)
> at org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:405)
> at org.teiid.translator.jdbc.JDBCBaseExecution.getPreparedStatement(JDBCBaseExecution.java:196)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:121)
> ... 17 more
> 16:02:36,930 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) Removing tuplesource for the request wmQvWWaxavzo.18
> 16:02:36,930 DEBUG [org.teiid.BUFFER_MGR] (Worker12_QueryProcessorQueue105) Removing TupleBuffer: 39
> 16:02:36,930 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) wmQvWWaxavzo.18 Finished Processing
> 16:02:36,930 DEBUG [org.teiid.PROCESSOR] (Worker12_QueryProcessorQueue105) org.teiid.core.TeiidProcessingException: TEIID30504 Source: 257 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT g_0.IntKey, g_0.StringKey, g_0.IntNum, g_0.StringNum, g_0.FloatNum, g_0.LongNum, g_0.DoubleNum, cast(g_0.ByteNum AS tinyint), g_0.DateValue, g_0.TimeValue, g_0.TimestampValue, g_0.BooleanValue, g_0.CharValue, g_0.ShortValue, cast(g_0.BigIntegerValue AS bigint), g_0.BigDecimalValue, cast(g_0.ObjectValue AS bintext) FROM NULL_NULL_CRUDsmalla AS g_0] Sending error to client wmQvWWaxavzo.18
> 16:02:36,930 DEBUG [org.teiid.TRANSPORT] (Worker12_QueryProcessorQueue105) send message: MessageHolder: key=821 contents=ResultsMessage rowCount=0 finalRow=-1
> {code}
> {code:sql|title=sap-hana create table command - column or row}
> create (column) table NULL_NULL_CRUDSmallA (IntKey integer not null, StringNum varchar(255), CharValue varchar(1), ObjectValue blob, DoubleNum double, BigIntegerValue numeric(19,2), ShortValue smallint, FloatNum float(19), IntNum integer, BigDecimalValue numeric(19,2), LongNum bigint, BooleanValue boolean, TimestampValue timestamp, ByteNum smallint, StringKey varchar(255), TimeValue time, DateValue date, primary key (IntKey))
> {code}
> {code:sql|title=DDL metadata}
> CREATE FOREIGN TABLE smalla (IntKey integer PRIMARY KEY,
> StringKey string,
> IntNum integer,
> StringNum string,
> FloatNum float,
> LongNum bigint,
> DoubleNum double,
> ByteNum smallint,
> DateValue date,
> TimeValue time,
> TimestampValue timestamp,
> BooleanValue boolean,
> CharValue char(1),
> ShortValue smallint,
> BigIntegerValue decimal,
> BigDecimalValue decimal,
> ObjectValue varbinary)
> OPTIONS (UPDATABLE 'TRUE', ...);
> CREATE VIEW SmallA (IntKey integer PRIMARY KEY,
> StringKey string,
> IntNum integer,
> StringNum string,
> FloatNum float,
> LongNum long,
> DoubleNum double,
> ByteNum byte,
> DateValue date,
> TimeValue time,
> TimestampValue timestamp,
> BooleanValue boolean,
> CharValue char,
> ShortValue short,
> BigIntegerValue biginteger,
> BigDecimalValue bigdecimal,
> ObjectValue object)
> OPTIONS (UPDATABLE 'TRUE')
> AS
> SELECT IntKey, StringKey, IntNum,
> StringNum, FloatNum, LongNum, DoubleNum,
> convert(ByteNum, byte) AS ByteNum, DateValue, TimeValue, TimestampValue,
> BooleanValue, CharValue, ShortValue,
> convert(BigIntegerValue, biginteger) AS BigIntegerValue, BigDecimalValue,
> convert(ObjectValue, object) AS ObjectValue
> FROM Source.smalla;
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (TEIID-4619) left join returns wrong results
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4619?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4619:
---------------------------------------
Bram is there any more that can be provided for this issue?
> left join returns wrong results
> -------------------------------
>
> Key: TEIID-4619
> URL: https://issues.jboss.org/browse/TEIID-4619
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 9.0.4
> Reporter: Bram Gadeyne
> Assignee: Steven Hawkins
> Priority: Critical
> Attachments: correct_result.txt, enclosed_queryplan.txt, wrong_result.txt
>
>
> I have the following situation.
> I have a temporary table #tmp_admissions that contains 8047 rows.
> In this first query there are 66290 results. However if I only look at the lines for infectionid 880 then there are only 16 lines.
> {code:sql}
> select l.infectionid, l.id as linkid, lc.linkcultureid, lc.responsibleculture, lc.culturealternative, cl.sampleinsertts, cl.specimennumber,
> cl.culturenumber, cl.culturename, cl.quotation, ls.material, ls.sampletime,
> abr.culturenumber as abgram_culturenumber,abr.antibiogrampart, abr.resisttype,
> lc.antibiogramculturenr,lc.antibiogramspecimennr,lc.antibiogramsampleinsertts
> from #tmp_admissions adm
> join cos2_links l on l.admissionid = cast(adm.patientid as string)
> join cos2_link_culture lc on lc.linkid = l.id
> left join cos2_lab_culture cl on cl.culturenumber = lc.culturenr and cl.specimennumber = lc.culturespecimennr and cl.sampleinsertts = lc.culturesampleinsertts
> left join cos2_lab_sample ls on ls.inserttime = cl.sampleinsertts and ls.specimennumber = cl.specimennumber
> left join cos2_antibiogramresistences abr on abr.specimennumber = cl.specimennumber and abr.culturenumber = cl.culturenumber and abr.sampleinsertts = cl.sampleinsertts
> {code}
> This query does almost the same but returns 30 rows (and is correct).
> {code:sql}
> select l.infectionid, l.id as linkid, lc.linkcultureid, lc.responsibleculture, lc.culturealternative, cl.sampleinsertts, cl.specimennumber,
> cl.culturenumber, cl.culturename, cl.quotation, ls.material, ls.sampletime,
> abr.culturenumber as abgram_culturenumber,abr.antibiogrampart, abr.resisttype,
> lc.antibiogramculturenr,lc.antibiogramspecimennr,lc.antibiogramsampleinsertts
> from cos2_links l
> join cos2_link_culture lc on lc.linkid = l.id
> left join cos2_lab_culture cl on cl.culturenumber = lc.culturenr and cl.specimennumber = lc.culturespecimennr and cl.sampleinsertts = lc.culturesampleinsertts
> left join cos2_lab_sample ls on ls.inserttime = cl.sampleinsertts and ls.specimennumber = cl.specimennumber
> left join cos2_antibiogramresistences abr on abr.specimennumber = cl.specimennumber and abr.culturenumber = cl.culturenumber and abr.sampleinsertts = cl.sampleinsertts
> where l.infectionid = 880
> {code}
> cos2_link_culture contains 2 rows for this infectionid. The left join statements should result in 15 rows for both rows. However the left join results in the first query for the first row are null and to my understanding ignored. I'll attach the query plans for both queries.
> I should note that there is a one to many relation between infection and admission so therefore infectionid is for the same admission.
> Strangely enough if you enclode the first query in a group by query and count the rows it does indeed return 2 times 15 for the specific groups (see enclosed_queryplan.txt).
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years
[JBoss JIRA] (TEIID-4617) Olap translator: Mondrian ClassNotFoundException moving from v 3.5.0 to 3.12.0
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4617?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4617:
----------------------------------
Fix Version/s: 9.2
> Olap translator: Mondrian ClassNotFoundException moving from v 3.5.0 to 3.12.0
> ------------------------------------------------------------------------------
>
> Key: TEIID-4617
> URL: https://issues.jboss.org/browse/TEIID-4617
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.8.6_3
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Fix For: 9.2
>
> Attachments: Screenshot from 2016-12-05 07-49-16.png, mondrian.zip, olap4j.zip
>
>
> Change of version of Mondrian from 3.5.0 to 3.12.0 causes class not found exception.
> {code:plain}
> 07:44:03,800 WARN [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue10) Connector worker process failed for atomic-request=NFuIrbxSPuIu.0.3.3: org.teiid.translator.TranslatorException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/mondrianDS
> at org.teiid.translator.olap.OlapExecutionFactory.getConnection(OlapExecutionFactory.java:87) [translator-olap-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> at org.teiid.translator.olap.OlapExecutionFactory.getConnection(OlapExecutionFactory.java:45) [translator-olap-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> at org.teiid.translator.ExecutionFactory.getConnection(ExecutionFactory.java:202) [teiid-api-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:330)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_102]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_102]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_102]
> at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_102]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy81.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_102]
> 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_102]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_102]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102]
> Caused by: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/mondrianDS
> at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:151)
> at org.jboss.as.connector.subsystems.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:69)
> at org.teiid.translator.olap.OlapExecutionFactory.getConnection(OlapExecutionFactory.java:85) [translator-olap-8.12.8.6_3-redhat-1.jar:8.12.8.6_3-redhat-1]
> ... 20 more
> Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/mondrianDS
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:410)
> at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:367)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:499)
> at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:143)
> ... 22 more
> Caused by: javax.resource.ResourceException: IJ000658: Unexpected throwable while trying to create a connection: null
> at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:454)
> at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:457)
> at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:429)
> at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:344)
> ... 25 more
> Caused by: javax.resource.ResourceException: Could not create connection
> at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:351)
> at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:299)
> at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:858)
> at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:413)
> ... 28 more
> Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: mondrian.spi.impl.JndiDataSourceResolver from [Module "org.jboss.teiid.translator.olap:main" from local module loader @16f65612 (finder: local module finder @311d617d (roots: /home/jstastny/tmp-workspaces/workspace/modules,/home/jstastny/tmp-workspaces/workspace/modules/system/layers/dv,/home/jstastny/tmp-workspaces/workspace/modules/system/layers/base/.overlays/layer-base-jboss-eap-6.4.9.CP,/home/jstastny/tmp-workspaces/workspace/modules/system/layers/base))]
> at mondrian.util.ClassResolver$AbstractClassResolver.instantiateSafe(ClassResolver.java:84)
> at mondrian.rolap.RolapConnection.getDataSourceResolver(RolapConnection.java:471)
> at mondrian.rolap.RolapConnection.createDataSource(RolapConnection.java:427)
> at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:135)
> at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:91)
> at mondrian.olap.DriverManager.getConnection(DriverManager.java:113)
> at mondrian.olap.DriverManager.getConnection(DriverManager.java:69)
> at mondrian.olap4j.MondrianOlap4jConnection.<init>(MondrianOlap4jConnection.java:162)
> at mondrian.olap4j.FactoryJdbc4Plus$AbstractConnection.<init>(FactoryJdbc4Plus.java:323)
> at mondrian.olap4j.FactoryJdbc41Impl$MondrianOlap4jConnectionJdbc41.<init>(FactoryJdbc41Impl.java:118)
> at mondrian.olap4j.FactoryJdbc41Impl.newConnection(FactoryJdbc41Impl.java:32)
> at mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:97)
> at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManagedConnectionFactory.java:323)
> ... 31 more
> Caused by: java.lang.ClassNotFoundException: mondrian.spi.impl.JndiDataSourceResolver from [Module "org.jboss.teiid.translator.olap:main" from local module loader @16f65612 (finder: local module finder @311d617d (roots: /home/jstastny/tmp-workspaces/workspace/modules,/home/jstastny/tmp-workspaces/workspace/modules/system/layers/dv,/home/jstastny/tmp-workspaces/workspace/modules/system/layers/base/.overlays/layer-base-jboss-eap-6.4.9.CP,/home/jstastny/tmp-workspaces/workspace/modules/system/layers/base))]
> at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.7.Final-redhat-1]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.7.Final-redhat-1]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.7.Final-redhat-1]
> at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.7.Final-redhat-1]
> at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.7.Final-redhat-1]
> at java.lang.Class.forName0(Native Method) [rt.jar:1.8.0_102]
> at java.lang.Class.forName(Class.java:348) [rt.jar:1.8.0_102]
> at mondrian.util.ClassResolver$AbstractClassResolver.forName(ClassResolver.java:92)
> at mondrian.util.ClassResolver$AbstractClassResolver.instantiateSafe(ClassResolver.java:63)
> ... 43 more
> {code}
> But the class is present in the new version of Mondrian too, see attached screenshot with decompiled jar structure.
> One workaround I found was to add dependency into olap translator's module.xml pointing at the org.mondrian module, which contains the mondrian jar.
> But this action is not required when using Mondrian 3.5.0.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years