Bug #61574 Caused by: java.sql.SQLException: Parameter index out of bounds.
Submitted: 21 Jun 2011 7:24 Modified: 29 Apr 2013 12:23
Reporter: Zeta Ram Email Updates:
Status: Can't repeat Impact on me:
None 
Category:Connector / J Severity:S1 (Critical)
Version:5.1.15 OS:Any
Assigned to: Alexander Soklakov CPU Architecture:Any
Tags: Considering commented line as regular one, regression

[21 Jun 2011 7:24] Zeta Ram
Description:
I upgrated my connector from "mysql-connector-java-3.0.11-stable-bin.jar" to 
"mysql-connector-java-5.1.15-bin.jar" and found some issue while executing my report using openreport framework.In my setup I only changed connector and my report start failing.

My actual query is simliar to below

SELECT mycode FROM mytable pom
  WHERE 1 = 1
-- and pom.description = $P{myText}

Here "ServerPreparedStatement.setString()" is trying to set value into a commented portion of query.

How to repeat:
	at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:322)
	at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createDatasource(JRJdbcQueryExecuter.java:103)
	at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:632)
	at net.sf.jasperreports.engine.fill.JRFillDataset.setDatasource(JRFillDataset.java:576)
	at net.sf.jasperreports.engine.fill.JRFillDataset.setParameterValues(JRFillDataset.java:565)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:871)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:686)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:644)
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
	at org.efs.openreports.providers.impl.ReportWriteProviderImpl.fillReport(ReportWriteProviderImpl.java:192)
	at org.efs.openreports.actions.ReportRunAction.execute(ReportRunAction.java:186)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
	at org.efs.openreports.interceptors.SecurityInterceptor.intercept(SecurityInterceptor.java:71)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
	at com.opensymphony.xwork.ActionChainResult.execute(ActionChainResult.java:115)
	at com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:263)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:187)
	at org.efs.openreports.interceptors.SecurityInterceptor.intercept(SecurityInterceptor.java:71)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
	at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
	at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:280)
	at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:250)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.amritatech.hmos.perfpack.ReportPolicyFilter.doFilter(ReportPolicyFilter.java:72)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLifecycleFilter.java:69)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.amma.aitf.hmoscore.services.saas.SaasFilter.doFilter(SaasFilter.java:30)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
	at java.lang.Thread.run(Thread.java:619)
Caused by: java.sql.SQLException: Parameter index out of bounds. 14 is not between valid values of 1 and 13
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
	at com.mysql.jdbc.ServerPreparedStatement.getBinding(ServerPreparedStatement.java:934)
	at com.mysql.jdbc.ServerPreparedStatement.setString(ServerPreparedStatement.java:2126)
	at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.setString(WrappedPreparedStatement.java:470)
	at net.sf.jasperreports.engine.query.JRJdbcQueryExecuter.createStatement(JRJdbcQueryExecuter.java:277)
	... 66 more

Suggested fix:
Connector should ignore the commented portion.
[21 Jun 2011 9:50] Zeta Ram
This is working with "mysql-connector-java-5.1.0-bin.jar"
[22 Jun 2011 6:33] Zeta Ram
Can you guide me how to make it work by jdbc configuration to avoid this error with "mysql-connector-java-5.1.15-bin.jar"
[26 Sep 2011 7:16] Tonci Grgin
Hi Zeta and thanks for your report.

Can you please attach small, self-sufficient test cased exhibiting this error. Please include the connection string and the server version too.
[26 Oct 2011 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[29 Apr 2013 12:23] Alexander Soklakov
Hi Zeta,

There is no feedback since Sep 2011, so I close this report as "Can't repeat".
Please, feel free to reopen it if the problem still exists with current driver version.