Description
Non-int last_pk are called incorrectly, or the table continues to have a ROWID. This results in that last_id check on any DB change returns the hidden int ROWID rather than whatever the pk was set to.
Test
python tests/test_upsert.py::test_upsert_with_hash_id