qgis / QGIS

QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS)
https://qgis.org
GNU General Public License v2.0
10.63k stars 3.01k forks source link

Off-Line editing: attributes are shifted when using GPKG as off-line format #28097

Closed qgib closed 5 years ago

qgib commented 6 years ago

Author Name: Randal Hale (@rjhale1971) Original Redmine Issue: 20276 Affected QGIS version: 3.4.0 Redmine category:c++_plugins/offline_editing Assignee: David Signer


New description: On the checkout - If I use Geopackage I get a "shift" of attributes. I have included a screenshot named Pre-Checkout.png . When I check out the data the attributes move one column to the right. I included a screenshot for postcheckout.png. If you look at the two screenshots - all the attributes have moved columns.

28097-2

Old description:

I have a postgis database and the client is wanting to use the offline editing functionality. When I checkout a layer into a geopackage in 3.4 I noticed that there is a fid column added - but in adding the column it's shoving all the attribution over one column so the attribute no longer matches the column (for instance seg_side should contain either 'L' or 'R' and doesn't now).

If I take a layer offline into spatialite I'm having to manually fill out the primary key BUT the layer columns stay intact. Which manually filling out that is going to screw up the database on check-in.

I didn't try this in 3.2. I may try shortly if I get some time. So I have no idea if this is a regression or not.

I have attached a link to the original database in case something can be wrong there. It's a pd_dump and is 24mb so I've placed it in Dropbox: https://www.dropbox.com/s/67z5dn196497bev/hc911.backup?dl=0. It can be restored using psql -d -f hc911.backup



Related issue(s): #28122 (relates) Redmine related issue(s): 20301


qgib commented 6 years ago

Author Name: Giovanni Manghi (@gioman)


QGIS 2.18:

add a postgis layer put it in off-line mode edit it (add feature) > is NOT asked to fill (not mandatory) the field that represent the PK in pgsql synchronize it back > all OK (the new feature is given a proper value for the PK field)

QGIS 3.4:

add a postgis layer put it in off-line mode (spatialite or geopackage) edit it (add feature) > the field that represent the PK is marked as mandatory and the user must fill it manually to be able to synchronize back. This of course can cause errors.

To the original issuer: I don't understand your description when using GPKG as format (I didn't tested your data because is not just a table, but it wants to restore a number of other things, like pgrouting). Here in my test if does indeed add a new field "fid", but in off line mode this is set as "autogenerate" and it does disappear when synchronizing back (and all the other columns are just ok).


qgib commented 6 years ago

Author Name: Randal Hale (@rjhale1971)


I should have described that better and not put two issues in one ticket. I'm sorry about that.

On the checkout - If I use Geopackage I get a "shift" of attributes. I have included a screenshot named Pre-Checkout.png . When I check out the data the attributes move one column to the right. I included a screenshot for postcheckout.png. If you look at the two screenshots - all the attributes have moved columns.

I didn't know pgrouting was included - I will attempt to see if this happens without anything included except the extension postgis.



qgib commented 6 years ago

Author Name: Giovanni Manghi (@gioman)


Randal Hale wrote:

I should have described that better and not put two issues in one ticket. I'm sorry about that.

On the checkout - If I use Geopackage I get a "shift" of attributes. I have included a screenshot named Pre-Checkout.png . When I check out the data the attributes move one column to the right. I included a screenshot for postcheckout.png. If you look at the two screenshots - all the attributes have moved columns.

ouch, that does not look good at all. I overlooked this problem. We should definitely split the ticket.


If I take a layer offline into spatialite I'm having to manually fill out the primary key BUT the layer columns stay intact. Which manually filling out that is going to screw up the database on check-in.

I didn't try this in 3.2. I may try shortly if I get some time. So I have no idea if this is a regression or not.

I have attached a link to the original database in case something can be wrong there. It's a pd_dump and is 24mb so I've placed it in Dropbox: https://www.dropbox.com/s/67z5dn196497bev/hc911.backup?dl=0. It can be restored using psql -d -f hc911.backup to New description: On the checkout - If I use Geopackage I get a "shift" of attributes. I have included a screenshot named Pre-Checkout.png . When I check out the data the attributes move one column to the right. I included a screenshot for postcheckout.png. If you look at the two screenshots - all the attributes have moved columns.

https://issues.qgis.org/issues/20276#note-2

Old description:

I have a postgis database and the client is wanting to use the offline editing functionality. When I checkout a layer into a geopackage in 3.4 I noticed that there is a fid column added - but in adding the column it's shoving all the attribution over one column so the attribute no longer matches the column (for instance seg_side should contain either 'L' or 'R' and doesn't now).

If I take a layer offline into spatialite I'm having to manually fill out the primary key BUT the layer columns stay intact. Which manually filling out that is going to screw up the database on check-in.

I didn't try this in 3.2. I may try shortly if I get some time. So I have no idea if this is a regression or not.

I have attached a link to the original database in case something can be wrong there. It's a pd_dump and is 24mb so I've placed it in Dropbox: https://www.dropbox.com/s/67z5dn196497bev/hc911.backup?dl=0. It can be restored using psql -d -f hc911.backup

qgib commented 6 years ago

Author Name: Giovanni Manghi (@gioman)


ouch, that does not look good at all. I overlooked this problem. We should definitely split the ticket.

see also #28122

qgib commented 6 years ago

Author Name: Jürgen Fischer (@jef-n)


qgib commented 6 years ago

Author Name: Jürgen Fischer (@jef-n)


https://issues.qgis.org/issues/20276#note-2

Old description:

I have a postgis database and the client is wanting to use the offline editing functionality. When I checkout a layer into a geopackage in 3.4 I noticed that there is a fid column added - but in adding the column it's shoving all the attribution over one column so the attribute no longer matches the column (for instance seg_side should contain either 'L' or 'R' and doesn't now).

If I take a layer offline into spatialite I'm having to manually fill out the primary key BUT the layer columns stay intact. Which manually filling out that is going to screw up the database on check-in.

I didn't try this in 3.2. I may try shortly if I get some time. So I have no idea if this is a regression or not.

I have attached a link to the original database in case something can be wrong there. It's a pd_dump and is 24mb so I've placed it in Dropbox: https://www.dropbox.com/s/67z5dn196497bev/hc911.backup?dl=0. It can be restored using psql -d -f hc911.backup to New description: On the checkout - If I use Geopackage I get a "shift" of attributes. I have included a screenshot named Pre-Checkout.png . When I check out the data the attributes move one column to the right. I included a screenshot for postcheckout.png. If you look at the two screenshots - all the attributes have moved columns.

https://github.com/qgis/QGIS/issues/28097#issuecomment-495897199

Old description:

I have a postgis database and the client is wanting to use the offline editing functionality. When I checkout a layer into a geopackage in 3.4 I noticed that there is a fid column added - but in adding the column it's shoving all the attribution over one column so the attribute no longer matches the column (for instance seg_side should contain either 'L' or 'R' and doesn't now).

If I take a layer offline into spatialite I'm having to manually fill out the primary key BUT the layer columns stay intact. Which manually filling out that is going to screw up the database on check-in.

I didn't try this in 3.2. I may try shortly if I get some time. So I have no idea if this is a regression or not.

I have attached a link to the original database in case something can be wrong there. It's a pd_dump and is 24mb so I've placed it in Dropbox: https://www.dropbox.com/s/67z5dn196497bev/hc911.backup?dl=0. It can be restored using psql -d -f hc911.backup

qgib commented 6 years ago

Author Name: Randal Hale (@rjhale1971)


Also from Twitter this morning - #27862

qgib commented 6 years ago

Author Name: Chad Howard (Chad Howard)


Has there been any movement on this topic. I'm working with Randy Hale on this and my 911 project is in standstill until we resolve this issue. Real excited that we have built this server and putting ArcGIS to bed but if I can't work this problem of checking the database out I have to revert back to Arc?

qgib commented 6 years ago

Author Name: Giovanni Manghi (@gioman)


Chad Howard wrote:

Has there been any movement on this topic. I'm working with Randy Hale on this and my 911 project is in standstill until we resolve this issue. Real excited that we have built this server and putting ArcGIS to bed but if I can't work this problem of checking the database out I have to revert back to Arc?

this functionality seems to break at the worst possible moment also for me, said that if for you is a blocker then consider supporting the work necessary for the fix rather then waiting for the fix (as is not guaranteed it will be fixed soon).

qgib commented 6 years ago

Author Name: David Signer (@signedav)


qgib commented 6 years ago

Author Name: Chad Howard (Chad Howard)


Giovanni, I am an end user, not a programmer so I have no idea where to begin. Like I said I am new to GIS (last 3 years) and have only used ArcGIS and really love QGis and now that I've spent several thousand dollars to make a server i really don't want to go back to ArcGIS. I'm afraid I'm not going to be much help in this capacity. I may try this same thing tomorrow with the new Mac version of 3.4.1 and see if we get the same issue. Thanks for all you guys help Giovanni and David.

qgib commented 5 years ago

Author Name: David Signer (@signedav)


Applied in changeset d173b70b5335b93dbf049a3f40579fcb032dc8d6.