Bug report #1631

v.db.addcol: table not updated

Added by Paolo Cavallini over 10 years ago. Updated over 3 years ago.

Status:Closed
Priority:Low
Assignee:-
Category:GRASS
Affected QGIS version:master Regression?:No
Operating System:All Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:No Copied to github as #:11691

Description

When adding a column, the table is not updated in the canvas, until the user remove it from the canvas and reload it again. A dynamic update is obviously preferrable.

History

#1 Updated by Redmine Admin over 10 years ago

The problem is how to get the signal that the table was modified. Hardcoding check for v.db.addcol in the GRASS plugin is awful.
In addition I think that reload table can be useful (or even layer, note however that GRASS geometry for example, is updated whenever it is changed) for all vectors in QGIS and for more situations (data edited from other clients).
So I would suggest 'wontfix' and add a new ticket with request to add 'reload button' to the QGIS table.

Radim

#2 Updated by Redmine Admin over 10 years ago

I forgot to say that also the 'add column' function can be of general use for all QGIS vectors and thus it should be added to QGIS and possibly removed from GRASS plugin. That whould also resolve the problem to get the signal that a column was added.

Radim

#3 Updated by Paolo Cavallini over 10 years ago

  • Status changed from Open to Closed
  • Resolution set to wontfix

See #1659

#4 Updated by Redmine Admin over 9 years ago

  • Resolution deleted (wontfix)
  • Status changed from Closed to Feedback

#5 Updated by Giovanni Manghi over 9 years ago

Replying to [comment:3 pcav]:

See #1659

if fixing #1659 will show newly added columns than is ok... this bug hurts a lot! :)

#6 Updated by Redmine Admin over 9 years ago

There are 2 problems here:

1) GRASS modules do not call Vect_set_db_updated: http://trac.osgeo.org/grass/ticket/982

2) AFAIK currently there is no way to let know vector layer from provider that the data has changed. It seems quite easy to add dataModified signal to provider and connect it in layer to setModified. The GRASS provider could emit the signal at the end of QgsGrassProvider::loadAttributes then.

#7 Updated by Giovanni Manghi over 9 years ago

Damn, I didn't realized that fixing this would have been that hard. Meanwhile I'll change the priority, (new) users when they see this remain pretty disappointed.

#8 Updated by Markus Neteler over 9 years ago

Replying to [comment:6 rblazek]:

There are 2 problems here:

1) GRASS modules do not call Vect_set_db_updated: http://trac.osgeo.org/grass/ticket/982

I am willing to fix this in GRASS (for 6.4.0 and later) but need to know
which modules to modify.

Markus

#9 Updated by Markus Neteler over 9 years ago

Replying to [comment:6 rblazek]:

There are 2 problems here:

1) GRASS modules do not call Vect_set_db_updated: http://trac.osgeo.org/grass/ticket/982

Question: would a "touch /path/to/vector/mapname/dbln" be sufficient to indicate the dbln file as updated?

#10 Updated by Redmine Admin over 9 years ago

Yes, touch would work but:

  • Is it portable? I think that it is always better to avoid UNIX specific commands even if it is already requirement.
  • It is maybe better to keep functionality in one place. An option can be added to v.db.connect, Vect_set_db_updated() called form v.db.connect and v.db.connect called from scripts.

#11 Updated by Giovanni Manghi almost 8 years ago

  • Target version changed from Version 1.7.0 to Version 1.7.4

#12 Updated by Paolo Cavallini over 7 years ago

  • Target version changed from Version 1.7.4 to Version 1.8.0
  • Affected QGIS version set to master
  • Crashes QGIS or corrupts data set to No

#13 Updated by Paolo Cavallini about 7 years ago

  • Target version changed from Version 1.8.0 to Version 2.0.0

#14 Updated by Paolo Cavallini about 6 years ago

  • Assignee deleted (nobody -)
  • Status changed from Feedback to Open
  • Pull Request or Patch supplied set to No

#15 Updated by J├╝rgen Fischer about 5 years ago

  • Target version changed from Version 2.0.0 to Future Release - Lower Priority

#16 Updated by Radim Blazek over 3 years ago

  • Status changed from Open to Closed

New columns can now be added via standard QGIS table editing interface, in which case, the new column appears immediately in the table.

Also available in: Atom PDF