You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GPKG requires that tables have a single integer primary key.
GPKG doesn't require that that PK is in the first column.
If a dataset has data that doesn't conform to the GPKG requirement, we demote any of the PK columns that it does have to be not PK columns, but only UNIQUE NOT NULL, and we add a new PK column called auto_int_pk that conforms to GPKG spec.
We shouldn't be doing this in the case where the dataset already conforms to the GPKG requirement, even if the PK column is not the first column. The issue is that we weren't recognizing datasets as conformant when the PK wasn't the first column, and so were adding in the auto_int_pk column. More confusingly, the code that hide edits that were made automatically and necessarily by Kart, wasn't hiding this added column, so you would see spurious diffs like the following on a fresh checkout:
GPKG requires that tables have a single integer primary key.
GPKG doesn't require that that PK is in the first column.
If a dataset has data that doesn't conform to the GPKG requirement, we demote any of the PK columns that it does have to be not PK columns, but only UNIQUE NOT NULL, and we add a new PK column called
auto_int_pk
that conforms to GPKG spec.We shouldn't be doing this in the case where the dataset already conforms to the GPKG requirement, even if the PK column is not the first column. The issue is that we weren't recognizing datasets as conformant when the PK wasn't the first column, and so were adding in the auto_int_pk column. More confusingly, the code that hide edits that were made automatically and necessarily by Kart, wasn't hiding this added column, so you would see spurious diffs like the following on a fresh checkout:
The text was updated successfully, but these errors were encountered: