Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
When only one list item in IN operator, it used to take the first one…
… as only item. But it did it wrong by passing no - It does it now.
  • Loading branch information
signedav committed Apr 17, 2023
1 parent c3fb3d6 commit e965bb9
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/core/qgsogcutils.cpp
Expand Up @@ -2216,7 +2216,14 @@ QDomElement QgsOgcUtilsExprToFilter::expressionColumnRefToOgcFilter( const QgsEx
QDomElement QgsOgcUtilsExprToFilter::expressionInOperatorToOgcFilter( const QgsExpressionNodeInOperator *node, QgsExpression *expression, const QgsExpressionContext *context )
{
if ( node->list()->list().size() == 1 )
return expressionNodeToOgcFilter( node->list()->list()[0], expression, context );
{
const QDomElement leftNode = expressionNodeToOgcFilter( node->node(), expression, context );
const QDomElement firstListNode = expressionNodeToOgcFilter( node->list()->list().first(), expression, context );
QDomElement eqElem = mDoc.createElement( mFilterPrefix + ":PropertyIsEqualTo" );
eqElem.appendChild( leftNode );
eqElem.appendChild( firstListNode );
return eqElem;
}

QDomElement orElem = mDoc.createElement( mFilterPrefix + ":Or" );
const QDomElement leftNode = expressionNodeToOgcFilter( node->node(), expression, context );
Expand Down

0 comments on commit e965bb9

Please sign in to comment.