Support non-int primary keys