<< Back to previous view

[QB-1333] SQLException raised when modification file name is empty
Created: 02/Aug/12  Updated: 03/Aug/12

Status: Resolved
Project: QuickBuild
Component/s: None
Affects Version/s: None
Fix Version/s: 4.0.49

Type: Bug Priority: Major
Reporter: Steve Luo Assigned To: Unassigned
Resolution: Fixed Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown


 Description   
When file name in a modification is empty, below exception raised:

java.sql.SQLException: NULL not allowed for column "FILENAME"; SQL statement:
INSERT INTO modifications(buildid, changeid, repository, filename, edition, previousedition, action, pathtype) VALUES (?, ?, ?, ?, ?, ?, ?, ?) [23502-159] Query: INSERT INTO modifications(buildid, changeid, repository, filename, edition, previousedition, action, pathtype) VALUES (?, ?, ?, ?, ?, ?, ?, ?) Parameters: [19174, 1339753548000, StarTeam, null, 4, 3, MODIFY, null]
     at org.apache.commons.dbutils.QueryRunner.rethrow(QueryRunner.java:542)
     at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:599)
     at com.pmease.quickbuild.plugin.report.engine.datastore.DbStore.update(DbStore.java:193)
     at com.pmease.quickbuild.plugin.report.engine.datastore.DbStore.update(DbStore.java:200)
     at com.pmease.quickbuild.plugin.report.engine.metadata.CategoryDb.insertRow(CategoryDb.java:155)
     at com.pmease.quickbuild.plugin.report.engine.metadata.CategoryDb.persistRow(CategoryDb.java:197)
     at com.pmease.quickbuild.plugin.report.engine.metadata.CategoryDb.saveReport(CategoryDb.java:223)
     at com.pmease.quickbuild.plugin.report.engine.metadata.ReportCategory.saveReport(ReportCategory.java:350)
     at com.pmease.quickbuild.plugin.report.changes.migration.ChangesMigrator.migrateStatsReport1(ChangesMigrator.java:199)
     at com.pmease.quickbuild.plugin.report.changes.migration.ChangesMigrator.migrate1(ChangesMigrator.java:234)
     at java.lang.reflect.Method.invoke(Method.java:600)
     at com.pmease.quickbuild.migration.MigrationHelper.migrate(MigrationHelper.java:156)
     at com.pmease.quickbuild.plugin.report.engine.migration.MigrationExecutor.doUpgrade(MigrationExecutor.java:81)
     at com.pmease.quickbuild.plugin.report.engine.migration.MigrationExecutor.upgrade(MigrationExecutor.java:96)
     at com.pmease.quickbuild.plugin.report.engine.metadata.ReportCategory.upgrade(ReportCategory.java:786)
     at com.pmease.quickbuild.plugin.report.engine.metadata.ReportCategory.getCategoryDirOfStats(ReportCategory.java:465)
     at com.pmease.quickbuild.plugin.report.engine.metadata.ReportCategory.getReportDirOfStats(ReportCategory.java:669)
     at com.pmease.quickbuild.plugin.report.changes.ChangesCategory.getChangesDirOfStats(ChangesCategory.java:86)
     at com.pmease.quickbuild.plugin.report.changes.migration.ChangesMigrator.migrateBuildReport1(ChangesMigrator.java:49)
     at com.pmease.quickbuild.plugin.report.changes.migration.ChangesMigrator.migrate1(ChangesMigrator.java:221)
     at java.lang.reflect.Method.invoke(Method.java:600)
     at com.pmease.quickbuild.migration.MigrationHelper.migrate(MigrationHelper.java:156)
     at com.pmease.quickbuild.plugin.report.engine.migration.MigrationExecutor.doUpgrade(MigrationExecutor.java:81)
     at com.pmease.quickbuild.plugin.report.engine.migration.MigrationExecutor.upgrade(MigrationExecutor.java:96)
     at com.pmease.quickbuild.plugin.report.engine.metadata.ReportCategory.upgrade(ReportCategory.java:786)
     at com.pmease.quickbuild.plugin.report.changes.ChangesCategory.getCategoryDirOfBuild(ChangesCategory.java:102)
     at com.pmease.quickbuild.plugin.report.engine.metadata.ReportCategory.getReportSetsOfBuild(ReportCategory.java:510)
     at com.pmease.quickbuild.plugin.report.changes.ChangesCategory.getReportSetsOfBuild(ChangesCategory.java:121)
     at com.pmease.quickbuild.plugin.report.engine.contribution.web.CategoryBuildTab.getTabs(CategoryBuildTab.java:66)
     at com.pmease.quickbuild.web.page.build.BuildPage.onInitialize(BuildPage.java:720)
     at org.apache.wicket.Component.fireInitialize(Component.java:924)
     at org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1002)
     at org.apache.wicket.Page.internalPrepareForRender(Page.java:278)
     at org.apache.wicket.Component.render(Component.java:2280)
     at org.apache.wicket.Page.renderPage(Page.java:1035)
     at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:105)
     at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:182)
     at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:147)
     at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:719)
     at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:63)
     at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:210)
     at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:253)
     at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162)
     at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
     at com.pmease.quickbuild.web.WebServlet.service(WebServlet.java:123)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
     at org.eclipse.equinox.http.helper.FilterServletAdaptor$FilterChainImpl.doFilter(FilterServletAdaptor.java:56)
     at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78)
     at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:131)
     at org.eclipse.equinox.http.helper.FilterServletAdaptor.service(FilterServletAdaptor.java:37)
     at com.pmease.quickbuild.web.HttpServiceProvider$1$1.service(HttpServiceProvider.java:87)
     at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
     at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:126)
     at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:76)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
     at org.eclipse.equinox.http.jetty.internal.HttpServerManager$InternalHttpServiceServlet.service(HttpServerManager.java:317)
     at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:484)
     at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
     at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
     at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
     at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
     at org.mortbay.jetty.Server.handle(Server.java:326)
     at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
     at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:924)
     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
     at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
     at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Generated at Mon Oct 06 20:43:53 UTC 2025 using JIRA 189.