bug fix: primaryKey() should always return an array when not flat, even when it has only one key.