Bug report #17450

values for cached join fields randomely become null when dragging canvas

Added by Mathieu Pellerin - nIRV over 6 years ago. Updated over 6 years ago.

Status:Closed
Priority:High
Assignee:Paul Blottiere
Category:Vectors
Affected QGIS version:master Regression?:Yes
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:Yes Copied to github as #:25347

Description

I've finally been able to reduce this features going missing issue that's been haunting me for a while now.

When doing multiple joins like this:

i.e. fields ORIGINAL -> joined fields A linked through a field in ORIGINAL -> joined fields B linked through a joined field in A
the values will get lost every now and then when those joins are cached.

Steps to reproduce
  1. Open the attached join_cache test project
  2. When the project opens, start rapidly panning the canvas around (small steps using the mouse's middle button is the easiest way)
  3. You'll notice the dark pink polygons going missing after every few pans (see gonebabygone.mp4 video too)

This does not only affect feature rendering, saving the layer (with all its joins) can actually write null values for joined fields B.

join_cache_issue.zip (3.14 MB) Mathieu Pellerin - nIRV, 2017-11-14 06:26 AM

gonebabygone.mp4 (2.26 MB) Mathieu Pellerin - nIRV, 2017-11-14 06:32 AM

gonebabygone.mp4 (1.14 MB) Mathieu Pellerin - nIRV, 2017-11-14 06:35 AM

Associated revisions

Revision 333a8e9e
Added by Paul Blottiere over 6 years ago

Fixes #17450 by correctly setting the join info ordered list

Revision 5945a84d
Added by Paul Blottiere over 6 years ago

Merge pull request #5638 from pblottiere/bugfix_joins

[bugfix] Fixes #17450 by correctly setting the join info ordered list

History

#1 Updated by Mathieu Pellerin - nIRV over 6 years ago

  • Description updated (diff)

#2 Updated by Mathieu Pellerin - nIRV over 6 years ago

Better video, featuring the reduced test project attached.

#3 Updated by Giovanni Manghi over 6 years ago

  • Regression? changed from No to Yes

Seems also to not happen in 2.18(?).

#4 Updated by Paul Blottiere over 6 years ago

  • Assignee set to Paul Blottiere

#6 Updated by Paul Blottiere over 6 years ago

  • % Done changed from 0 to 100
  • Status changed from Open to Closed

Also available in: Atom PDF