Although inconsistently documented, JDBC requires that the columnIndexes and columnNames array are non-null and non-empty for statements that are capable of generating keys. For example Statement.executeUpdate(String sql, int columnIndexes) in Java 11 specifies:
The driver will ignore the array if the SQL statement is not an INSERT statement, or an SQL statement able to return auto-generated keys (the list of such statements is vendor-specific).
SQLException - if [..] the second argument supplied to this method is not an int array whose elements are valid column indexes
Jaybird currently allows this for generated keys statement and executes as if it is a non-generated keys method if the array is null or empty, or ignores the invalid column index if there are other columns present. Instead an exception should be thrown.