in core/src/main/java/org/apache/calcite/avatica/AvaticaConnection.java [610:630]
private void isUpdateCapable(final AvaticaStatement statement)
throws SQLException {
Meta.Signature signature = statement.getSignature();
if (signature == null || signature.statementType == null) {
return;
}
if (signature.statementType.canUpdate() && statement.updateCount == -1) {
statement.openResultSet.next();
Object obj = statement.openResultSet.getObject(ROWCOUNT_COLUMN_NAME);
if (obj instanceof Number) {
statement.updateCount = ((Number) obj).intValue();
} else if (obj instanceof List) {
@SuppressWarnings("unchecked")
final List<Number> numbers = (List<Number>) obj;
statement.updateCount = numbers.get(0).intValue();
} else {
throw HELPER.createException("Not a valid return result.");
}
statement.openResultSet = null;
}
}