Menu

Unknown column role0_.lft in where clause

Jinesh
2007-08-29
2013-04-17
  • Jinesh

    Jinesh - 2007-08-29

    We changed the property xplanner.effort.chart.include.weekends to "false". Upon restarting the server, we are seeing the below exception in the 'role' table. For some reason the schema looks to have changed once we started tomcat as it cannot find the lft column.

    I am not sure if it is related to the following post: "http://sourceforge.net/forum/message.php?msg_id=2668147"

    Stacktrace:

    javax.servlet.ServletException: javax.servlet.jsp.JspException: org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not execute query; bad SQL grammar [select distinct roleassoci2_.person_id as col_0_0_, roleassoci2_.project_id as col_1_0_, permission3_.id as col_2_0_, permission3_.id as id1_, permission3_.principal as principal1_, permission3_.name as name1_, permission3_.resource_type as resource4_1_, permission3_.resource_id as resource5_1_, permission3_.positive as positive1_ from role role0_, role role1_, person_role roleassoci2_, permission permission3_ where (positive='1' and (role0_.lft between role1_.lft and role1_.rgt) or positive='0' and role0_.id=role1_.id) and roleassoci2_.role_id=role0_.id and permission3_.principal=role1_.id order by roleassoci2_.person_id, roleassoci2_.project_id desc, role1_.lft desc]; nested exception is java.sql.SQLException: Unknown column 'role0_.lft' in 'where clause'
        at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:842)
        at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
        at org.apache.jsp.WEB_002dINF.jsp.view.projects_jsp._jspService(projects_jsp.java:814)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
        at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
        at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
        at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
        at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.technoetic.xplanner.filters.RequestCharacterEncodingFilter.doFilter(RequestCharacterEncodingFilter.java:37)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.technoetic.xplanner.security.filter.AbstractSecurityFilter.doFilter(AbstractSecurityFilter.java:51)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.technoetic.xplanner.filters.ServletRequestFilter.doFilter(ServletRequestFilter.java:24)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.technoetic.xplanner.db.hibernate.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:43)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at com.technoetic.xplanner.filters.ActivityLogFilter.doFilter(ActivityLogFilter.java:34)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
        at java.lang.Thread.run(Thread.java:595)

     
    • Jinesh

      Jinesh - 2007-09-01

      Reinstalling the roles table did the trick. But i still wonder why would the schema suddenly change like that?
      Any input will be helpful as I dont want this to happen again and bring the application down.

       
      • Jacques Morel

        Jacques Morel - 2007-09-01

        Absolutely no idea. Have you made a backup of that table before?
        If not, I am afraid that we will never know since I don't remember seen this problem before.

        Jacques

         
    • Jinesh

      Jinesh - 2007-09-01

      Not until i had to for this error. We still have to add the backup script for that database as we recently started using xplanner.

      My hunch was that since i had the war file still in tomcat, it might have redeployed or something. But i dont think that would account for the table change.

      Thanks for your reply though.

       

Log in to post a comment.