Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[BUGFIX] [Virtual provider] Make QgsVirtualLayerFeatureIterator() reb…
…ust to references to non existing fields in filter expression
  • Loading branch information
rouault authored and nyalldawson committed Jan 21, 2020
1 parent 58df76a commit bdda5d2
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions src/providers/virtual/qgsvirtuallayerfeatureiterator.cpp
Expand Up @@ -138,10 +138,9 @@ QgsVirtualLayerFeatureIterator::QgsVirtualLayerFeatureIterator( QgsVirtualLayerF
// ensure that all attributes required for expression filter are being fetched
if ( request.filterType() == QgsFeatureRequest::FilterExpression )
{
const auto constReferencedColumns = request.filterExpression()->referencedColumns();
for ( const QString &field : constReferencedColumns )
const QSet<int> attributeIndexes = request.filterExpression()->referencedAttributeIndexes( mSource->mFields );
for ( int attrIdx : attributeIndexes )
{
int attrIdx = mSource->mFields.lookupField( field );
if ( !mAttributes.contains( attrIdx ) )
mAttributes << attrIdx;
}
Expand Down

0 comments on commit bdda5d2

Please sign in to comment.