Java Reference
In-Depth Information
private int computeLineId(final int textId, final int lineNumber) {
try (Connection conn = database.getConnection()) {
PreparedStatement createLine = conn.prepareStatement(
"INSERT INTO line (text_id, \"offset\") VALUES (?,?)",
Statement.RETURN_GENERATED_KEYS
);
createLine.setInt(1, textId);
createLine.setInt(2, lineNumber);
boolean createdLine = createLine.executeUpdate() == 1;
assert createdLine : "Could not create line";
try (ResultSet rs = createLine.getGeneratedKeys()) {
boolean hasNext = rs.next();
assert hasNext :
"No result when getting generated keys for for line " + textId +
"-" + lineNumber;
return rs.getInt(1);
}
} catch (SQLException e) {
throw new RuntimeException("error while computing line id for: "
+ textId + " - " + lineNumber, e);
}
}
private int computeWordId(final String word) {
try (Connection conn = database.getConnection()) {
PreparedStatement createWord = conn.prepareStatement(
"INSERT INTO word (\"value\") VALUES (?)",
Statement.RETURN_GENERATED_KEYS
);
createWord.setString(1, word);
boolean createdWord = createWord.executeUpdate() == 1;
assert createdWord : "Could not create word: " + word;
try (ResultSet rs = createWord.getGeneratedKeys()) {
boolean hasNext = rs.next();
assert hasNext : "Created word but still could not find it!";
return rs.getInt(1);
}
} catch (SQLException e) {
throw new RuntimeException(
"error while computing word id for: " + word, e);
}
}
/**
* Applies this function to the given argument.
*
* @param textLine the function argument
* @return the function result
*/
Search WWH ::




Custom Search