Pg doc: incorrect snippet for retrieval of batched insert with returning clause
Closed this issue · 1 comments
tsegismont commented
As pointed out by @salmonb in #1439 , the snippet for retrieval of batched insert with returning clause is incorrect.
Instead of:
client
.preparedQuery("INSERT INTO color (color_name) VALUES ($1) RETURNING color_id")
.executeBatch(Arrays.asList(Tuple.of("white"), Tuple.of("red"), Tuple.of("blue")))
.onSuccess(res -> {
for (RowSet<Row> rows = res;rows.next() != null;rows = rows.next()) {
Integer colorId = rows.iterator().next().getInteger("color_id");
System.out.println("generated key: " + colorId);
}
});
It should be:
client
.preparedQuery("INSERT INTO color (color_name) VALUES ($1) RETURNING color_id")
.executeBatch(Arrays.asList(Tuple.of("white"), Tuple.of("red"), Tuple.of("blue")))
.onSuccess(res -> {
for (RowSet<Row> rows = res; rows != null; rows = rows.next()) {
Integer colorId = rows.iterator().next().getInteger("color_id");
System.out.println("generated key: " + colorId);
}
});
Otherwise, the last generated id will be missed.
tsegismont commented
Fixed by d669e60