Skip to content

Commit 1b2158d

Browse files
committed
Fix caching aggregate expressions with @parent usage
1 parent f438542 commit 1b2158d

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/core/qgsexpression.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -701,8 +701,12 @@ static QVariant fcnAggregate( const QVariantList& values, const QgsExpressionCon
701701
{
702702
QString cacheKey = QStringLiteral( "aggfcn:%1:%2:%3:%4" ).arg( vl->id(), QString::number( aggregate ), subExpression, parameters.filter );
703703

704+
QgsExpression subExp( subExpression );
704705
QgsExpression filterExp( parameters.filter );
705-
if ( filterExp.referencedVariables().contains( "parent" ) || filterExp.referencedVariables().contains( QString() ) )
706+
if ( filterExp.referencedVariables().contains( "parent" )
707+
|| filterExp.referencedVariables().contains( QString() )
708+
|| subExp.referencedVariables().contains( "parent" )
709+
|| subExp.referencedVariables().contains( QString() ) )
706710
{
707711
cacheKey += ':' + qHash( context->feature() );
708712
}

0 commit comments

Comments
 (0)