[JBoss JIRA] Created: (TEIID-757) Oracle Spatial Connector is not properly adding ORDERED hint to SDO_RELATE function
by Larry O'Leary (JIRA)
Oracle Spatial Connector is not properly adding ORDERED hint to SDO_RELATE function
-----------------------------------------------------------------------------------
Key: TEIID-757
URL: https://jira.jboss.org/jira/browse/TEIID-757
Project: Teiid
Issue Type: Bug
Components: JDBC Connector
Affects Versions: 6.1.0, 6.0.0, 6.2.0
Reporter: Larry O'Leary
Assignee: Steven Hawkins
Priority: Minor
Oracle Spatial connector is rewriting a query that contains an SDO_RELATE() function using the ORDERED hint. The format/syntax of the hint does not conform to Oracle documentation. It does not appear this results in an error but I also have not verified that the ORDERED hint is actually getting used either. The following query:
SELECT a.INTKEY FROM BQT1.SMALLA A, BQT1.SMALLB B WHERE sdo_relate(A.OBJECTVALUE, b.OBJECTVALUE, 'mask=ANYINTERACT') = true
Is rewritten as:
SELECT /* + ORDERED */A.IntKey FROM SmallA A, SmallB B WHERE SDO_RELATE(A.ObjectValue, B.ObjectValue, 'mask=ANYINTERACT') = 'true'
Where as Oracle documentation seems to indicate that the query should actually be:
SELECT /*+ ORDERED */ A.IntKey FROM SmallA A, SmallB B WHERE SDO_RELATE(A.ObjectValue, B.ObjectValue, 'mask=ANYINTERACT') = 'true'
Notice the spacing in the hint as "SELECT_/*+_ORDERED_*/_A.IntKey..." instead of "SELECT_/*_+_ORDERED_*/A.IntKey..."
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 11 months
[JBoss JIRA] Created: (TEIID-1275) Exception getting metadata from VDB with Role
by John Doyle (JIRA)
Exception getting metadata from VDB with Role
---------------------------------------------
Key: TEIID-1275
URL: https://jira.jboss.org/browse/TEIID-1275
Project: Teiid
Issue Type: Bug
Affects Versions: 7.1.1
Reporter: John Doyle
Assignee: Steven Hawkins
Attachments: Lobs.vdb, OracleClobs-ds.xml
I've created a VDB with a single role that removes permissions from all tables except one, which retains read permission.
When a client connects the the VDB, and exception is logged in Teiid and metadata is not returned to the client.
2010-09-23 16:52:00,248 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue0) Unexpected exception for request rA9QmIvfb3M7.0
java.lang.IllegalArgumentException: Invalid type: org.teiid.metadata.Column.
at org.teiid.query.metadata.TransformationMetadata.createInvalidRecordTypeException(TransformationMetadata.java:594)
at org.teiid.query.metadata.TransformationMetadata.getModelID(TransformationMetadata.java:227)
at org.teiid.query.metadata.TempMetadataAdapter.getModelID(TempMetadataAdapter.java:139)
at org.teiid.dqp.internal.process.AuthorizationValidationVisitor.validateEntitlements(AuthorizationValidationVisitor.java:245)
at org.teiid.dqp.internal.process.AuthorizationValidationVisitor.validateEntitlements(AuthorizationValidationVisitor.java:199)
at org.teiid.dqp.internal.process.AuthorizationValidationVisitor.visit(AuthorizationValidationVisitor.java:95)
at org.teiid.query.sql.lang.Query.acceptVisitor(Query.java:285)
at org.teiid.query.sql.navigator.AbstractNavigator.visitVisitor(AbstractNavigator.java:53)
at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.preVisitVisitor(PreOrPostOrderNavigator.java:126)
at org.teiid.query.sql.navigator.PreOrPostOrderNavigator.visit(PreOrPostOrderNavigator.java:376)
at org.teiid.query.sql.lang.Query.acceptVisitor(Query.java:285)
at org.teiid.query.validator.Validator.executeValidation(Validator.java:84)
at org.teiid.query.validator.Validator.validate(Validator.java:49)
at org.teiid.dqp.internal.process.Request.validateWithVisitor(Request.java:332)
at org.teiid.dqp.internal.process.Request.validateAccess(Request.java:477)
at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:393)
at org.teiid.dqp.internal.process.PreparedStatementRequest.generatePlan(PreparedStatementRequest.java:138)
at org.teiid.dqp.internal.process.Request.processRequest(Request.java:460)
at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:351)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:173)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:189)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:116)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:290)
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:619)
--
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, 11 months
[JBoss JIRA] Created: (TEIID-1269) Closing connections to Teiid may result in a stack trace written to the server's log file
by Paul Nittel (JIRA)
Closing connections to Teiid may result in a stack trace written to the server's log file
-----------------------------------------------------------------------------------------
Key: TEIID-1269
URL: https://jira.jboss.org/browse/TEIID-1269
Project: Teiid
Issue Type: Bug
Components: Server
Affects Versions: 7.1
Reporter: Paul Nittel
Assignee: Steven Hawkins
Fix For: 7.1.1
It has been noticed by several people that the server will, on occasion, write a stack trace (like the one below) to the server's log file. It appears to be benign and, so, it is possible the exception should be noted at a severity less than ERROR.
Of course, eliminating it altogether might also be possible, once it's been investigated.
2010-09-20 22:04:56,033 ERROR [org.teiid.TRANSPORT] (New I/O server worker #2-2) Unhandled exception, closing client instance
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:251)
at sun.nio.ch.IOUtil.read(IOUtil.java:218)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:254)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:313)
at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:272)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:192)
at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
--
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, 11 months
[JBoss JIRA] Created: (TEIID-751) SDO_WITHIN_DISTANCE function of Oracle Spatial Connector is pushing string literal to data source
by Larry O'Leary (JIRA)
SDO_WITHIN_DISTANCE function of Oracle Spatial Connector is pushing string literal to data source
-------------------------------------------------------------------------------------------------
Key: TEIID-751
URL: https://jira.jboss.org/jira/browse/TEIID-751
Project: Teiid
Issue Type: Bug
Components: JDBC Connector
Affects Versions: 6.1.0, 6.0.0
Reporter: Larry O'Leary
Assignee: Larry O'Leary
Priority: Minor
Fix For: 6.2.0
Executing a query which uses the SDO_WITHIN_DISTANCE function in criteria results in an invalid query being sent to Oracle.
Query:
SELECT RECORD_ID FROM OraSpatialSrcTable WHERE sdo_within_distance(MARKER, '(SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE(90.0, -45.0, NULL), NULL, NULL))', "DISTANCE=25.0 UNIT=NAUT_MILE") = 'TRUE'
Results In Exception:
ERROR <com.metamatrix.core|0> [MetaMatrix][Oracle JDBC Driver][Oracle]ORA-29900: operator binding does not exist
ORA-06553: PLS-306: wrong number or types of arguments in call to 'SDO_WITHIN_DISTANCE'
Executing statement:
SELECT ORASPATIALSRCTABLE.RECORD_ID FROM ORASPATIALSRCTABLE WHERE SDO_WITHIN_DISTANCE(ORASPATIALSRCTABLE.MARKER, '(SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE(90.0, -45.0, NULL), NULL, NULL))', 'DISTANCE=25.0 UNIT=NAUT_MILE') = TRUE
java.sql.SQLException: [MetaMatrix][Oracle JDBC Driver][Oracle]ORA-29900: operator binding does not exist
ORA-06553: PLS-306: wrong number or types of arguments in call to 'SDO_WITHIN_DISTANCE'
at com.metamatrix.common.util.exception.SQLExceptionUnroller.unRollException(SQLExceptionUnroller.java:43)
at com.metamatrix.connector.jdbc.JDBCBaseExecution.createError(JDBCBaseExecution.java:147)
at com.metamatrix.connector.jdbc.JDBCBaseExecution.createAndLogError(JDBCBaseExecution.java:103)
at com.metamatrix.connector.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:89)
at com.metamatrix.dqp.internal.datamgr.impl.ConnectorWorker.processNewRequest(ConnectorWorker.java:274)
at com.metamatrix.dqp.internal.datamgr.impl.ConnectorWorker.processBatchRequest(ConnectorWorker.java:165)
at com.metamatrix.dqp.internal.datamgr.impl.ConnectorWorker.process(ConnectorWorker.java:139)
at com.metamatrix.common.queue.QueueWorker.run(QueueWorker.java:51)
The exception is due to the second parameter of SDO_WITHIN_DISTANCE being escaped as a string.
The expected query should be:
SELECT ORASPATIALSRCTABLE.RECORD_ID FROM ORASPATIALSRCTABLE WHERE SDO_WITHIN_DISTANCE(ORASPATIALSRCTABLE.MARKER, (SDO_GEOMETRY(2001, 8307, MDSYS.SDO_POINT_TYPE(90.0, -45.0, NULL), NULL, NULL)), 'DISTANCE=25.0 UNIT=NAUT_MILE') = TRUE
In the above query the first parameter was an element of type String. If the first parameter was of type Object, the function is rewritten correctly. This appears to be primarily due to the function signatures of sdo_within_distance and the query rewriter performing an implicit convert on the second parameter to make it match the function signature of String, Object, String rather than Object, String, String.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 11 months