import java.sql.*; import java.util.*; import javax.sql.*; public class Bug16458 extends testsuite.BaseTestCase { public Bug16458(String name) { super(name); } public void setUp() throws Exception { dbUrl = "jdbc:mysql://localhost:3306/test?user=root"; super.setUp(); DatabaseMetaData databaseMetaData = conn.getMetaData(); System.out.println("Database/Driver Information"); System.out.println("=============================="); System.out.println("JDBCMajorVersion = "+databaseMetaData.getJDBCMajorVersion()); System.out.println("JDBCMinorVersion = "+databaseMetaData.getJDBCMinorVersion()); System.out.println("driverName = "+databaseMetaData.getDriverName()); System.out.println("driverVersion = "+databaseMetaData.getDriverVersion()); System.out.println("driverMajorVersion = "+databaseMetaData.getDriverMajorVersion()); System.out.println("driverMinorVersion = "+databaseMetaData.getDriverMinorVersion()); System.out.println("databaseProductName = "+databaseMetaData.getDatabaseProductName()); System.out.println("databaseProductVersion = "+databaseMetaData.getDatabaseProductVersion()); System.out.println("databaseMajorVersion = "+databaseMetaData.getDatabaseMajorVersion()); System.out.println("databaseMinorVersion = "+databaseMetaData.getDatabaseMinorVersion()); System.out.println("supportsStoredProcedures = "+databaseMetaData.supportsStoredProcedures()); System.out.println("=============================="); } public void testPound16458() throws SQLException { System.out.println("START"); PreparedStatement ps = null; ResultSet rs = null; ps = conn.prepareStatement("SELECT DISTINCT id,order_num FROM problem_table WHERE a_id=? FOR UPDATE", ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE); ps.setInt(1, 32); rs = ps.executeQuery(); while(rs.next()) { rs.updateInt(3, 51); rs.updateRow(); } System.out.println("Success!"); System.out.println("END"); } public static void main(String args[]) throws Exception { junit.textui.TestRunner.run(Bug16458.class); } }