Skip to content

Commit 758ae63

Browse files
committedSep 25, 2017
[OGR] Use a ORIG_OGC_FID constant instead of hard-coding orig_ogc_fid
1 parent d02cca9 commit 758ae63

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed
 

‎src/providers/ogr/qgsogrprovider.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ class QgsCPLErrorHandler
9595
}
9696
};
9797
98+
static const QByteArray ORIG_OGC_FID = "orig_ogc_fid";
99+
98100
99101
bool QgsOgrProvider::convertField( QgsField &field, const QTextCodec &encoding )
100102
{
@@ -1031,7 +1033,7 @@ void QgsOgrProviderUtils::setRelevantFields( OGRLayerH ogrLayer, int fieldCount,
10311033
{
10321034
// add to ignored fields
10331035
const char *fieldName = OGR_Fld_GetNameRef( OGR_FD_GetFieldDefn( featDefn, firstAttrIsFid ? i - 1 : i ) );
1034-
if ( qstrcmp( fieldName, "orig_ogc_fid" ) != 0 )
1036+
if ( qstrcmp( fieldName, ORIG_OGC_FID ) != 0 )
10351037
{
10361038
ignoredFields.append( fieldName );
10371039
}
@@ -3470,15 +3472,15 @@ OGRLayerH QgsOgrProviderUtils::setSubsetString( OGRLayerH layer, OGRDataSourceH
34703472
fidColumn = "FID";
34713473
}
34723474

3473-
QByteArray sql = sqlPart1 + ", " + fidColumn + " as orig_ogc_fid" + sqlPart3;
3475+
QByteArray sql = sqlPart1 + ", " + fidColumn + " as " + ORIG_OGC_FID + sqlPart3;
34743476
QgsDebugMsg( QString( "SQL: %1" ).arg( encoding->toUnicode( sql ) ) );
34753477
subsetLayer = GDALDatasetExecuteSQL( ds, sql.constData(), nullptr, nullptr );
34763478

34773479
// See https://lists.osgeo.org/pipermail/qgis-developer/2017-September/049802.html
34783480
// If execute SQL fails because it did not find the fidColumn, retry with hardcoded FID
34793481
if ( !subsetLayer )
34803482
{
3481-
QByteArray sql = sqlPart1 + ", " + "FID as orig_ogc_fid" + sqlPart3;
3483+
QByteArray sql = sqlPart1 + ", " + "FID as " + ORIG_OGC_FID + sqlPart3;
34823484
QgsDebugMsg( QString( "SQL: %1" ).arg( encoding->toUnicode( sql ) ) );
34833485
subsetLayer = GDALDatasetExecuteSQL( ds, sql.constData(), nullptr, nullptr );
34843486
}
@@ -3500,7 +3502,7 @@ OGRLayerH QgsOgrProviderUtils::setSubsetString( OGRLayerH layer, OGRDataSourceH
35003502
if ( fieldCount > 0 )
35013503
{
35023504
OGRFieldDefnH fldDef = OGR_FD_GetFieldDefn( fdef, fieldCount - 1 );
3503-
origFidAdded = qstrcmp( OGR_Fld_GetNameRef( fldDef ), "orig_ogc_fid" ) == 0;
3505+
origFidAdded = qstrcmp( OGR_Fld_GetNameRef( fldDef ), ORIG_OGC_FID ) == 0;
35043506
}
35053507
}
35063508

0 commit comments

Comments
 (0)
Please sign in to comment.