@@ -41,8 +41,8 @@ QgsOgrFeatureIterator::QgsOgrFeatureIterator( QgsOgrFeatureSource* source, bool
41
41
, mConn( nullptr )
42
42
, ogrLayer( nullptr )
43
43
, mSubsetStringSet( false )
44
- , mFetchGeometry( false )
45
44
, mOrigFidAdded( false )
45
+ , mFetchGeometry( false )
46
46
, mExpressionCompiled( false )
47
47
, mFilterFids( mRequest .filterFids() )
48
48
, mFilterFidsIt( mFilterFids .constBegin() )
@@ -178,7 +178,13 @@ bool QgsOgrFeatureIterator::fetchFeatureWithId( QgsFeatureId id, QgsFeature& fea
178
178
OGR_L_ResetReading ( ogrLayer );
179
179
while (( fet = OGR_L_GetNextFeature ( ogrLayer ) ) )
180
180
{
181
- if ( OGR_F_GetFieldAsInteger64 ( fet, 0 ) == id )
181
+ if (
182
+ #if defined(GDAL_VERSION_NUM) && GDAL_VERSION_NUM >= 2000000
183
+ OGR_F_GetFieldAsInteger64
184
+ #else
185
+ OGR_F_GetFieldAsInteger
186
+ #endif
187
+ ( fet, 0 ) == FID_TO_NUMBER ( id ) )
182
188
{
183
189
break ;
184
190
}
@@ -316,7 +322,11 @@ bool QgsOgrFeatureIterator::readFeature( OGRFeatureH fet, QgsFeature& feature )
316
322
{
317
323
if ( mOrigFidAdded )
318
324
{
325
+ #if defined(GDAL_VERSION_NUM) && GDAL_VERSION_NUM >= 2000000
319
326
feature.setFeatureId ( OGR_F_GetFieldAsInteger64 ( fet, 0 ) );
327
+ #else
328
+ feature.setFeatureId ( OGR_F_GetFieldAsInteger ( fet, 0 ) );
329
+ #endif
320
330
}
321
331
else
322
332
{
0 commit comments