![]() |
|
|
|
|
Issue Type:
|
Bug
|
|
Affects Versions:
|
10-RC1, 9.5, 10-beta, 11-beta |
|
Assignee:
|
Unassigned |
|
Attachments:
|
jdbc-join-params.patch |
|
Components:
|
jdbc |
|
Created:
|
29/Aug/13 3:06 AM
|
|
Description:
|
Using literals in the joins of the query results in an exception caused by invalid parameter binding (see the stack trace below).
The reason for this is that literals in the joins are replaced into the parameter placeholders, but their values are not included in the final binding.
I have attached a patch that solved the issue in my case.
Unfortunately, I cannot properly run my unit test that is included in the patch because it requires some sort of database setup. It would be helpful if someone who has a setup would actually run and fix the test suite for me.
10:46:19,822 ERROR MapService:478 - Query error
java.lang.RuntimeException: java.io.IOException
at org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:168)
at org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:59)
at lt.vic.geo.datastore.aggregation.TypeMapping.getFeature(TypeMapping.java:296)
at lt.vic.geo.datastore.aggregation.TypeMapping.decorate(TypeMapping.java:375)
at lt.vic.geo.datastore.aggregation.TypeMapping.getFeatures(TypeMapping.java:356)
at lt.vic.geo.datastore.aggregation.AggregatingFeatureSource.getFeatures(AggregatingFeatureSource.java:82)
at lt.vic.geo.datastore.simplification.AdapterFeatureSource.getFeatures(AdapterFeatureSource.java:54)
at lt.vic.geo.datastore.simplification.AdapterFeatureSource.getFeatures(AdapterFeatureSource.java:31)
at lt.vic.geo.web.MapService.handleLayerQuery(MapService.java:373)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at lt.vic.geo.nio.HttpHandlerBase.handle(HttpHandlerBase.java:189)
at lt.vic.geo.nio.HttpRequestHandler.writeResponse(HttpRequestHandler.java:85)
at lt.vic.geo.nio.HttpRequestHandler.messageReceived(HttpRequestHandler.java:67)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.codec.http.HttpContentEncoder.messageReceived(HttpContentEncoder.java:79)
at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:95)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:455)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:538)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.messageReceived(SimpleChannelUpstreamHandler.java:129)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:75)
at lt.vic.geo.nio.HttpPipelineFactory$ChannelCollector.handleUpstream(HttpPipelineFactory.java:51)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:563)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:91)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:385)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:256)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.io.IOException
at org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:610)
at org.geotools.data.store.ContentFeatureSource.getReader(ContentFeatureSource.java:562)
at org.geotools.data.store.ContentFeatureCollection.features(ContentFeatureCollection.java:165)
... 45 more
Caused by: java.sql.SQLException: Missing IN or OUT parameter at index:: 2
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1711)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3311)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3361)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at org.geotools.jdbc.JDBCFeatureReader.<init>(JDBCFeatureReader.java:153)
at org.geotools.jdbc.JDBCJoiningFeatureReader.<init>(JDBCJoiningFeatureReader.java:60)
at org.geotools.jdbc.JDBCFeatureSource.getReaderInternal(JDBCFeatureSource.java:588)
... 47 more
|
|
Fix Versions:
|
10-RC2, 11-beta |
|
Project:
|
GeoTools
|
|
Priority:
|
Major
|
|
Reporter:
|
Mantas Indra?ius
|
|
|
|
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
|
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel