@@ -0,0 +1,504 @@
+%0Aimport java.sql.ResultSet;%0Aimport java.sql.SQLException;%0A%0Apublic class BadResultSetAccessTest%0A%7B%0A%0A%09public void test1( ResultSet rs ) throws SQLException%0A%09%7B%0A%09%09int i = rs.getInt(0);%0A%09%09i++;%0A%09%09rs.updateInt(0, i );%0A%09%7D%0A%09%0A%09public void test2( ResultSet rs ) throws SQLException%0A%09%7B%0A%09%09String s = rs.getString(0);%0A%09%09s = s.substring(1);%0A%09%09rs.updateString(0, s );%0A%09%7D%0A%09%0A%09public void test3( ResultSet rs ) throws SQLException%0A%09%7B%0A%09%09String s = rs.getString(%22foo%22);%0A%09%09s = s.substring(1);%0A%09%09rs.updateString(%22foo%22, s );%0A%09%7D%0A%7D

Add new detector that looks for calls to ResultSet.getXXX and ResultSet.updateXXX where the field index specified is 0. - add test