Retrieving next batch of users in User Manager throws exception in SqlServer.
Description
An exception is thrown when trying to call resultSet.relative while retrieving next batch of users in Sql Server via the UserManager.
It looks like it may be SQL Server 2000-specific. There is a related exception in the logs:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid call to ResultSet.Relative because there is no current row. at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source) at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.base.BaseResultSet.relative(Unknown Source) at org.jivesoftware.database.DbConnectionManager.scrollResultSet(DbConnectionManager.java:293) at org.jivesoftware.wildfire.user.DefaultUserProvider.getUsers(DefaultUserProvider.java:238) at org.jivesoftware.wildfire.user.UserManager.getUsers(UserManager.java:196) at org.jivesoftware.wildfire.admin.user_002dsummary_jsp._jspService(user_002dsummary_jsp.java:214) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94) at javax.servlet.http.HttpServlet.service(HttpServlet.java:688) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:822) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:813) at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:43) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:813) at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:41) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:813) at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98) at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:813) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:494) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:569) at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:624) at org.mortbay.http.HttpContext.handle(HttpContext.java:1434) at org.mortbay.http.HttpServer.service(HttpServer.java:896) at org.mortbay.http.HttpConnection.service(HttpConnection.java:814) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:981) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:831) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:366) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
An exception is thrown when trying to call resultSet.relative while retrieving next batch of users in Sql Server via the UserManager.
It looks like it may be SQL Server 2000-specific. There is a related exception in the logs:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid call to ResultSet.Relative because there is no current row.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseResultSet.relative(Unknown Source)
at org.jivesoftware.database.DbConnectionManager.scrollResultSet(DbConnectionManager.java:293)
at org.jivesoftware.wildfire.user.DefaultUserProvider.getUsers(DefaultUserProvider.java:238)
at org.jivesoftware.wildfire.user.UserManager.getUsers(UserManager.java:196)
at org.jivesoftware.wildfire.admin.user_002dsummary_jsp._jspService(user_002dsummary_jsp.java:214)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:427)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:822)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:813)
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:43)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:813)
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:41)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:813)
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)
at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:813)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:494)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:569)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:624)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1434)
at org.mortbay.http.HttpServer.service(HttpServer.java:896)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:814)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:981)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:831)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:366)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)