private void executeLegacyUpdate(Connection connection, MarshalledEntry entry, String keyStr, int segment)
throws InterruptedException, SQLException {
String sql = tableManager.getSelectIdRowSql();
if (trace) {
log.tracef("Running sql '%s'. Key string is '%s'", sql, keyStr);
}
PreparedStatement ps = null;
try {
ps = connection.prepareStatement(sql);
ps.setString(1, keyStr);
ResultSet rs = ps.executeQuery();
boolean update = rs.next();
if (update) {
sql = tableManager.getUpdateRowSql();
} else {
sql = tableManager.getInsertRowSql();
}
JdbcUtil.safeClose(rs);
JdbcUtil.safeClose(ps);
if (trace) {
log.tracef("Running sql '%s'. Key string is '%s'", sql, keyStr);
}
ps = connection.prepareStatement(sql);
prepareStatement(entry, keyStr, segment, ps, !update);
ps.executeUpdate();
} finally {
JdbcUtil.safeClose(ps);
}
}