[JBoss JIRA] (TEIID-2061) Allow for object type equality
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-2061:
-------------------------------------
Summary: Allow for object type equality
Key: TEIID-2061
URL: https://issues.jboss.org/browse/TEIID-2061
Project: Teiid
Issue Type: Enhancement
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 8.1
Allowing for object type equality would allow for the use of object values as keys. Allowing for full comparability could be done as well, but would result in runtime errors if mixed values are used or if the type is not comparable.
Note that we could alternatively choose to represent object values as their serialized byte[] values, in which case compatibility is implied. However that is still not the natural compare ordering nor does it account for method based equality vs. identical serialized bytes.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-2056) Class cast exception when inserting blob. (java.lang.ClassCastException: org.teiid.core.types.BlobType cannot be cast to oracle.sql.BLOB). When using JPA(Hibernate implementation) in association with Teiid.
by bunty lava (JIRA)
bunty lava created TEIID-2056:
---------------------------------
Summary: Class cast exception when inserting blob. (java.lang.ClassCastException: org.teiid.core.types.BlobType cannot be cast to oracle.sql.BLOB). When using JPA(Hibernate implementation) in association with Teiid.
Key: TEIID-2056
URL: https://issues.jboss.org/browse/TEIID-2056
Project: Teiid
Issue Type: Bug
Environment: JBOSS AS 5.1
Reporter: bunty lava
Assignee: Steven Hawkins
Using JPA which references teiid data source and vdb is defined with the translator as oracle.
java.lang.ClassCastException: org.teiid.core.types.BlobType cannot be cast to oracle.sql.BLOB
at oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:8752)
at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8286)
at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:8868)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:240)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.setObject(WrappedPreparedStatement.java:703)
at org.teiid.translator.jdbc.JDBCExecutionFactory.bindValue(JDBCExecutionFactory.java:853)
at org.teiid.translator.jdbc.oracle.OracleExecutionFactory.bindValue(OracleExecutionFactory.java:436)
at org.teiid.translator.jdbc.JDBCBaseExecution.bindPreparedStatementValues(JDBCBaseExecution.java:91)
at org.teiid.translator.jdbc.JDBCUpdateExecution.executePreparedBatch(JDBCUpdateExecution.java:238)
at org.teiid.translator.jdbc.JDBCUpdateExecution.executeTranslatedCommand(JDBCUpdateExecution.java:223)
at org.teiid.translator.jdbc.JDBCUpdateExecution.execute(JDBCUpdateExecution.java:74)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem$1.execute(ConnectorWorkItem.java:252)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:272)
at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:344)
at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:222)
at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:271)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:176)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:139)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:105)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:147)
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:374)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:287)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:215)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:232)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:118)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
19:37:06,302 WARN [CONNECTOR] Connector worker process failed for atomic-request=NGLw6aBKqfxV.39.0.159
[JDBCExecutionException] 0: Error Code:0 Message:'Error; - nested throwable: (java.lang.ClassCastException: org.teiid.core.types.BlobType cannot be cast to oracle.sql.BLOB)' error executing statement(s): [Prepared Values: [1223454343, 3213232333, {ts '2012-05-21 19:37:03.333'}, NULL, 'org.teiid.core.types.BlobImpl@22acff']
1 [NestedSQLException]Error; - nested throwable: (java.lang.ClassCastException: org.teiid.core.types.BlobType cannot be cast to oracle.sql.BLOB)
2 [ClassCastException]org.teiid.core.types.BlobType cannot be cast to oracle.sql.BLOB
at org.teiid.translator.jdbc.JDBCUpdateExecution.executeTranslatedCommand(JDBCUpdateExecution.java:228)
at org.teiid.translator.jdbc.JDBCUpdateExecution.execute(JDBCUpdateExecution.java:74)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem$1.execute(ConnectorWorkItem.java:252)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:272)
at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:344)
at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:222)
at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:271)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:176)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:139)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:105)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:147)
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:374)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:287)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:215)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:232)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:118)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-2013) Teiid with GSSAPI/kerberos authentication, remove need for jdbc clients to specify -Djava.security.krb5.realm and -Djava.security.krb5.kdc
by Graeme Gillies (JIRA)
Graeme Gillies created TEIID-2013:
-------------------------------------
Summary: Teiid with GSSAPI/kerberos authentication, remove need for jdbc clients to specify -Djava.security.krb5.realm and -Djava.security.krb5.kdc
Key: TEIID-2013
URL: https://issues.jboss.org/browse/TEIID-2013
Project: Teiid
Issue Type: Feature Request
Environment: Teiid 7.6 and above
Reporter: Graeme Gillies
Assignee: Steven Hawkins
Currently any clients connecting to teiid with GSSAPI authentication need to specify the following JVM properties
-Djava.security.krb5.realm
-Djava.security.krb5.kdc
Not specifying them causes errors saying to specify these properties. Other Java GSSAPI/kerberos projects (for example, jboss negotiation, [1]) don't need these properties to be set, instead seem to pull the values from /etc/krb5.conf (normal system kerberos configuration file) as needed. This is extremely ideal, as it allows sysadmins to change kerberos configuration for an entire system easily at once (for example, to use a new kdc) without having to then also manually reconfigure java clients.
I've done some digging and it looks like a property exists called java.security.krb5.conf [2] which can take a String pointing to a krb5.conf file, in order to get the information needed for for kerberos auth. Is it possible to modify teiid jdbc driver so that if the realm/kdc properties aren't set, then it will automatically look for the system default krb5.conf (/etc/krb5.conf in linux, not sure what it is in windows) and set java.security.krb5.conf (unless it's already set to the OS default?) to that value and then get the client to work with that?
[1] https://community.jboss.org/wiki/JBossNegotiation
[2] http://stackoverflow.com/questions/1431999/java-and-kerberos-authenticati...
This would greatly streamline the configuration needed for teiid JDBC clients with GSSAPI.
Thanks in advance,
Graeme
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-2052) Add Problem/Resolution to query problem using the query plan
by Van Halbert (JIRA)
Van Halbert created TEIID-2052:
----------------------------------
Summary: Add Problem/Resolution to query problem using the query plan
Key: TEIID-2052
URL: https://issues.jboss.org/browse/TEIID-2052
Project: Teiid
Issue Type: Enhancement
Components: Documentation
Affects Versions: 7.7.1
Reporter: Van Halbert
Assignee: Van Halbert
Priority: Optional
Attachments: INClauseNotPushedDown.odt
Adding content that could be used for query problem resolution. The initial attachment does the following:
- states the query problem (i.e., not pushing down the "IN" clause)
- provides the query plan (and debug log) for the query being submitted
- provides recommendations for resolving the problem
- then indicates how this problem was resolved and what the resulting query plan / debug log
The idea here is to continue to add other problem scenarios so that this information is really useful for resolving issues.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-1912) Issuing and inner merge join query produces IOException against PostgreSQL database
by Van Halbert (JIRA)
Van Halbert created TEIID-1912:
----------------------------------
Summary: Issuing and inner merge join query produces IOException against PostgreSQL database
Key: TEIID-1912
URL: https://issues.jboss.org/browse/TEIID-1912
Project: Teiid
Issue Type: Bug
Components: JDBC Connector
Affects Versions: 7.7
Environment: Teiid 7.7.0 (built with latest today) in JBoss AS 5.1 against Oracle 10 and PostgreSQL 9.4 databases
Reporter: Van Halbert
Assignee: Steven Hawkins
Running the following inner merge query:
SELECT ORDERS.O_ORDERKEY, ORDERS.O_ORDERDATE, ORDERS.O_CLERK, CUSTOMER.C_CUSTKEY, CUSTOMER.C_NAME, CUSTOMER.C_ACCTBAL
FROM TPCR01_PostgreSQLVirt.ORDERS, TPCR01_OracleVirt.CUSTOMER WHERE (CUSTOMER.C_CUSTKEY = ORDERS.O_CUSTKEY)
AND (ORDERS.O_ORDERDATE < '1992-02-06 00:00:00') AND (CUSTOMER.C_ACCTBAL > 5100)
produces exception:
1 [PSQLException]An I/O error occured while sending to the backend.
2 [IOException]Tried to send an out-of-range integer as a 2-byte value: 50000
at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:90)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:272)
at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:342)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:138)
at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:135)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.teiid.dqp.internal.process.DQPCore$FutureWork.run(DQPCore.java:118)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:232)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:118)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:288)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:680)
>From googling the exception, I found the suggestion (i've yet to find where Postgres specifically states the max allowable) to split the parameters into 30,000 chunks. So I changed the PostgreSQLExecutionFactory by adding the following the CTOR: setMaxDependentInPredicates(30);
and this allowed the query to finish. Not to say this is the final solution, but it's an option that worked.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-1900) Teiid client jar file is not complete: NoClassDefFoundError: org/jboss/modules/ModuleLoadException
by Paul Nittel (JIRA)
Paul Nittel created TEIID-1900:
----------------------------------
Summary: Teiid client jar file is not complete: NoClassDefFoundError: org/jboss/modules/ModuleLoadException
Key: TEIID-1900
URL: https://issues.jboss.org/browse/TEIID-1900
Project: Teiid
Issue Type: Bug
Affects Versions: 8.0
Environment: Fedora 16, IcedTea6 1.10.4
Reporter: Paul Nittel
Assignee: Steven Hawkins
After adding the Teiid driver in SQuirreL, I was unable to connect to the Teiid 8 server. Here's the stacktrace:
java.lang.NoClassDefFoundError: org/jboss/modules/ModuleLoadException
at org.teiid.jdbc.TeiidDriver.<init>(TeiidDriver.java:74)
at org.teiid.jdbc.TeiidDriver.<clinit>(TeiidDriver.java:61)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at java.lang.Class.newInstance0(Class.java:372)
at java.lang.Class.newInstance(Class.java:325)
at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.registerSQLDriver(SQLDriverManager.java:75)
at net.sourceforge.squirrel_sql.client.gui.db.DataCache.registerDriver(DataCache.java:491)
at net.sourceforge.squirrel_sql.client.gui.db.DataCache.loadDrivers(DataCache.java:388)
at net.sourceforge.squirrel_sql.client.gui.db.DataCache.<init>(DataCache.java:119)
at net.sourceforge.squirrel_sql.client.Application.executeStartupTasks(Application.java:744)
at net.sourceforge.squirrel_sql.client.Application.startup(Application.java:222)
at net.sourceforge.squirrel_sql.client.Main$2.run(Main.java:118)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647)
at java.awt.EventQueue.access$000(EventQueue.java:96)
at java.awt.EventQueue$1.run(EventQueue.java:608)
at java.awt.EventQueue$1.run(EventQueue.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:617)
at net.sourceforge.squirrel_sql.client.Main$1.dispatchEvent(Main.java:99)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Caused by: java.lang.ClassNotFoundException: org.jboss.modules.ModuleLoadException
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at net.sourceforge.squirrel_sql.fw.util.MyURLClassLoader.findClass(MyURLClassLoader.java:209)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 30 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-1852) Salesforce Translator doesnt handle Time types
by Mark Drilling (Created) (JIRA)
Salesforce Translator doesnt handle Time types
----------------------------------------------
Key: TEIID-1852
URL: https://issues.jboss.org/browse/TEIID-1852
Project: Teiid
Issue Type: Bug
Components: Salesforce Connector
Affects Versions: 7.6
Reporter: Mark Drilling
Assignee: Steven Hawkins
Attachments: SFTestVDB.vdb
Query the BusinessHours table imported from Salesforce, which contains columns with 'time' datatype.
For example, the query:
SELECT Name,CreatedDate,MondayStartTime FROM SFTest.salesforce.BusinessHours
Results in:
Error Code:ERR.003.029.0025 Message:Failed to transform String to Time. Expected format = hh:mm:ss for 08:00:00.000Z
It looks like the code in QueryExecutionImpl.getCellDatum needs to handle translation of the salesforce time format
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] Created: (TEIID-1326) API request: rewrite query/command before it reaches the teiid planner
by Mark Addleman (JIRA)
API request: rewrite query/command before it reaches the teiid planner
-----------------------------------------------------------------------
Key: TEIID-1326
URL: https://jira.jboss.org/browse/TEIID-1326
Project: Teiid
Issue Type: Feature Request
Components: Query Engine
Affects Versions: 7.1
Reporter: Mark Addleman
Assignee: Steven Hawkins
I'd like an API to inspect and rewrite a user query/command before it reaches the Teiid planner. The use case is to rewrite the query/command to implement view-like capabilities. For example:
SELECT a,b,c FROM table1 AS t WHERE t.a='xyz' would be rewritten as:
SELECT a,b,c FROM (SELECT a,b,c FROM table2 UNION SELECT a,b,c FROM table3) AS t
I imagine this API would be similar to the translator API: it would receive a data structure representing the query/command and use a visitor to rewrite the query. As a convenience, it would be nice to have something similar to the SQLConversionVisitor.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months
[JBoss JIRA] (TEIID-1869) Simple capabilities with PostgreSQL 8.3 using decodeinteger causes comm failure
by Paul Nittel (Created) (JIRA)
Simple capabilities with PostgreSQL 8.3 using decodeinteger causes comm failure
-------------------------------------------------------------------------------
Key: TEIID-1869
URL: https://issues.jboss.org/browse/TEIID-1869
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 7.6
Reporter: Paul Nittel
Assignee: Steven Hawkins
We use PostgreSQL 8.3 twice: once to test push-down to the source and the other to test not-pushed-down queries. The following works fine with the push-down. It's not so good when we use simple-capabilities.
The query is:
SELECT IntKey, BooleanValue, DECODEINTEGER(BooleanValue, 'false,3,true,7') AS Decoded FROM BQT1.SmallA ORDER BY IntKey
What happens is:
$ ./RunQT jdbc:teiid:QT_PostgreSQL83@mm://localhost:31000 user user yes "SELECT IntKey, BooleanValue, DECODEINTEGER(BooleanValue, 'false,3,true,7') AS Decoded FROM BQT1.SmallA ORDER BY IntKey"
Caught SQLException:
[SingleInstanceCommunicationException]
1 [EOFException]
In the case of query testing, all subsequent queries fail due to a closed socket error.
Dev indicated "That's a bug with the rewriter. We are just converting the decode function into a searched case statement, but are leaving the then values as string - rather than converting them to integers. The pushdown works because the resulting string value is converted to an integer via the translator/driver logic."
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 10 months