Bug report #3857

Shapefile cannot be saved if joined table contains field names longer than 10 characters

Added by bnotter - about 9 years ago. Updated about 9 years ago.

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

Description

A layer with another table joined to it using attribute values (as possible from QGIS 1.7) cannot be saved as shapefile if the joined table contains field names longer than 10 characters.

In versions <= 1.6, when dynamic attribute join was not possible but joining attributes was done using fTools by permanently saving into a new dataset, field names longer than 10 characters would just be truncated.
It would be nice if this behaviour was re-introduced for the dynamic table join

Associated revisions

Revision 3ac604ff
Added by Marco Hugentobler about 9 years ago

Don't list join fields to facilitate 'save as' function (fixes #3857). Don't display the query builder if a layer has joins (#3858)

Revision db20ac28
Added by Marco Hugentobler about 9 years ago

Don't list join fields to facilitate 'save as' function (fixes #3857). Don't display the query builder if a layer has joins (#3858)

History

#1 Updated by bnotter - about 9 years ago

Sorry, my observation on this bug was not correct:

The problem is not, as described above, that too long field names are not truncated, but that if they are truncated, they may not be unique anymore. This in itself is not a bug but expected behavior.

However, what could be expected is that if tables are joined, the resulting combined attribute table would not contain both the join field in the joined table AND the target field in the layer it is joined to, but only one of them (since both contain the same information anyway). Because often, the join field and the target field are named the same. If that is the case, the resulting combined attribute table cannot be exported, and this will force the user to rename one of the fields and set up the join afresh.

I would therefore propose to only keep the target field in the resulting combined table in order to avoid this problem.

I'm also changing the priority of this bug down to "minor: annoyance".

#2 Updated by Marco Hugentobler about 9 years ago

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

This is a good suggestion, implemented in 3ac604ff1be4676e69e2.

Also available in: Atom PDF