Bug report #21895

Default values and expression calculator not working together

Added by Jonathan Moules almost 5 years ago. Updated almost 5 years ago.

Status:Open
Priority:Normal
Assignee:-
Category:Vectors
Affected QGIS version:3.4.3 Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:
Crashes QGIS or corrupts data:No Copied to github as #:29710

Description

While trying to work around #21892 I encountered the following.

To replicate (in a GeoPackage - probably not format specific):
1) Create a new field of type Integer called whatever (_MY_FIELD here)
2) Use the Layer Properties -> Attributes Form to set a default value of 0 on _MY_FIELD, and tick the "Apply default on update" (this is the bug!)
3) Now, use expression calculator to UPDATE _MY_FIELD with any numerical value (fid will do).

Result = _MY_FIELD only has values of "0".

If you uncheck the "Apply default on update" then the update of the field will work as expected.

History

#1 Updated by Jürgen Fischer almost 5 years ago

  • Description updated (diff)

#2 Updated by Giovanni Manghi almost 5 years ago

  • Category changed from Field calculator to Vectors

#3 Updated by Giovanni Manghi almost 5 years ago

On the other hand the default does not do completely his job in other situations, like #21868

#4 Updated by Jonathan Moules almost 5 years ago

I ended up having to work around it with a logical if statement:

if("NEW_VALUE" is null, "NEW_VALUE", 0)

But only a workaround.

Also available in: Atom PDF