mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-12 00:02:25 -04:00
feature iterator: include attributes required by virtual fields first so that
they trigger joins if necessary (fixes #11545)
This commit is contained in:
parent
3646e35827
commit
fa89e292ce
@ -90,13 +90,12 @@ QgsVectorLayerFeatureIterator::QgsVectorLayerFeatureIterator( QgsVectorLayerFeat
|
||||
, mFetchedFid( false )
|
||||
, mEditGeometrySimplifier( 0 )
|
||||
{
|
||||
prepareExpressions();
|
||||
|
||||
// prepare joins: may add more attributes to fetch (in order to allow join)
|
||||
if ( mSource->mJoinBuffer->containsJoins() )
|
||||
prepareJoins();
|
||||
|
||||
prepareExpressions();
|
||||
|
||||
mHasVirtualAttributes = !mFetchJoinInfo.isEmpty() || !mExpressionFieldInfo.isEmpty();
|
||||
|
||||
// by default provider's request is the same
|
||||
@ -507,7 +506,7 @@ void QgsVectorLayerFeatureIterator::prepareExpressions()
|
||||
if ( mRequest.flags() & QgsFeatureRequest::SubsetOfAttributes )
|
||||
{
|
||||
QgsAttributeList attrs;
|
||||
Q_FOREACH ( const QString& col, exp->referencedColumns() )
|
||||
Q_FOREACH( const QString& col, exp->referencedColumns() )
|
||||
{
|
||||
attrs.append( mSource->mFields.fieldNameIndex( col ) );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user