the table.getPKColumns() contains the _SALT column. Therefore when it is trying to fill in the null PKs, it will always try to fill something in for the _SALT column, and cause index out of bound error. Use an offset to skip the salt column.