Bug 34501 - java.sql.SQLException, missing right parenthesis
Summary: java.sql.SQLException, missing right parenthesis
Status: RESOLVED FIXED
Alias: None
Product: Slide
Classification: Unclassified
Component: Stores (show other bugs)
Version: 2.1
Hardware: All All
: P2 major (vote)
Target Milestone: ---
Assignee: Slide Developer List
URL: http://www.mail-archive.com/slide-dev...
Keywords:
Depends on: 31820
Blocks:
  Show dependency tree
 
Reported: 2005-04-18 14:07 UTC by David Delbecq
Modified: 2005-04-18 06:18 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Delbecq 2005-04-18 14:07:34 UTC
When trying to revoke a permission on a node in slide, the following error  
occurs:  
18 Apr 2005 11:56:34 - org.apache.slide.store.impl.rdbms.StandardRDBMSAdapter  
- ERROR - SQL error 907 on /files/conference:ORA-00907: missing right  
parenthesis  
  
java.sql.SQLException: ORA-00907: missing right parenthesis  
  
        at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)  
        at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)  
        at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)  
        at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1986)  
        at  
oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1144)  
        at  
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2152)  
        at  
oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2035)  
        at  
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2876)  
        at  
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:609)  
        at  
org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)  
        at  
org.apache.slide.store.impl.rdbms.CommonRDBMSAdapter.revokePermission(CommonRDBMSAdapter.java:235)  
        at  
org.apache.slide.store.impl.rdbms.AbstractRDBMSStore.revokePermission(AbstractRDBMSStore.java:479)  
        at  
org.apache.slide.store.AbstractStore.revokePermission(AbstractStore.java:759)  
        at  
org.apache.slide.store.ExtendedStore.revokePermission(ExtendedStore.java:658)  
        at  
org.apache.slide.security.SecurityImpl.revokePermission(SecurityImpl.java:369)  
        at org.apache.slide.macro.MacroImpl.deleteObject(MacroImpl.java:814)  
        at org.apache.slide.macro.MacroImpl.delete(MacroImpl.java:524)  
        at org.apache.slide.macro.MacroImpl.delete(MacroImpl.java:482)  
        at  
org.apache.slide.webdav.method.DeleteMethod.executeRequest(DeleteMethod.java:156)  
        at  
org.apache.slide.webdav.method.AbstractWebdavMethod.run(AbstractWebdavMethod.java:405)  
        at  
org.apache.slide.webdav.WebdavServlet.service(WebdavServlet.java:155)  
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)  
        at  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)  
        at  
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)  
        at  
org.apache.slide.webdav.filter.LogFilter.doFilter(LogFilter.java:141)  
        at  
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)  
        at  
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)  
        at  
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)  
        at  
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)  
        at  
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407)  
        at  
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)  
        at  
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)  
        at  
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)  
        at  
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)  
        at  
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)  
        at  
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)  
        at  
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)  
        at  
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)  
        at  
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)  
        at java.lang.Thread.run(Thread.java:534)  
  
  
Looking at line of code, we get this wrong request:  
"delete from PERMISSIONS where PERMISSIONS.OBJECT_ID in (select ou.URI_ID from  
URI ou, URI su, URI au where ou.URI_STRING = ? and SUBJECT_ID = su.URI_ID and  
su.URI_STRING = ? and ACTION_ID = au.URI_ID and au.URI_STRING = ? and  
VERSION_NO" + ((revisionNumber == null) ? " IS NULL " : " = '" +  
revisionNumber.toString() + "'"  
  
where i think we should read this:  
"delete from PERMISSIONS where PERMISSIONS.OBJECT_ID in (select ou.URI_ID from  
URI ou, URI su, URI au where ou.URI_STRING = ? and SUBJECT_ID = su.URI_ID and  
su.URI_STRING = ? and ACTION_ID = au.URI_ID and au.URI_STRING = ? and  
VERSION_NO" + (((revisionNumber == null) ? " IS NULL " : " = '" +  
revisionNumber.toString() + "'")  +")"
Comment 1 Martin Kal 2005-04-18 14:18:40 UTC
Already fixed in CVS by Stefan Lützkendorf, see URL.