[Qgis-developer] Behaviour when SpatiaLite tables change

Barry Rowlingson b.rowlingson at lancaster.ac.uk
Sun Nov 8 14:56:05 PST 2015


What should QGIS do when a SpatiaLite table changes from outside QGIS?
Here's what I'm doing...

I have a SpatiaLite spatial data table of ten points with an id and
name column. It loads into QGIS and I can access the "name" attribute
as expected to style the points and label them.

Then I open the DB in the SpatiaLite command line and do something
like "update pts set name='X' where id<5" to change some of the names.

If I now open the Attribute table in QGIS I see the data in the column
has changed. The labels also change as soon as I pan or zoom the
canvas.

But if I open the Style dialog and classify the points as
"Categorized" based on the "name" attribute it still sees the old set
of values. If I change it to an expression base on "name", such as
"concat(name)" I get the *new* values!

It looks like the renderer has cached the attribute values and isn't
clearing them, despite me switching renderers, clearing categories,
and clicking just about everything in the style dialog.

So is this a bug, or expected behaviour, or just undefined behaviour?

Barry


More information about the Qgis-developer mailing list