Skip to content

Commit

Permalink
[OGR] Followup: Add orig_ogc_fid as last field to avoid changing fiel…
Browse files Browse the repository at this point in the history
…d order
  • Loading branch information
manisandro committed Sep 25, 2017
1 parent 381c8b6 commit 52bdbdf
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/providers/ogr/qgsogrfeatureiterator.cpp
Expand Up @@ -327,11 +327,16 @@ bool QgsOgrFeatureIterator::readFeature( OGRFeatureH fet, QgsFeature& feature )
{ {
if ( mOrigFidAdded ) if ( mOrigFidAdded )
{ {
OGRFeatureDefnH fdef = OGR_L_GetLayerDefn( ogrLayer );
int lastField = OGR_FD_GetFieldCount( fdef ) - 1;
if ( lastField >= 0 )
#if defined(GDAL_VERSION_NUM) && GDAL_VERSION_NUM >= 2000000 #if defined(GDAL_VERSION_NUM) && GDAL_VERSION_NUM >= 2000000
feature.setFeatureId( OGR_F_GetFieldAsInteger64( fet, 0 ) ); feature.setFeatureId( OGR_F_GetFieldAsInteger64( fet, lastField ) );
#else #else
feature.setFeatureId( OGR_F_GetFieldAsInteger( fet, 0 ) ); feature.setFeatureId( OGR_F_GetFieldAsInteger( fet, lastField ) );
#endif #endif
else
feature.setFeatureId( OGR_F_GetFID( fet ) );
} }
else else
{ {
Expand Down

0 comments on commit 52bdbdf

Please sign in to comment.