QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Public Member Functions | List of all members
QgsFeatureRequest::OrderByClause Class Reference

The OrderByClause class represents an order by clause for a QgsFeatureRequest. More...

#include <qgsfeaturerequest.h>

Public Member Functions

 OrderByClause (const QgsExpression &expression, bool ascending, bool nullsfirst)
 Creates a new OrderByClause for a QgsFeatureRequest. More...
 
 OrderByClause (const QgsExpression &expression, bool ascending=true)
 Creates a new OrderByClause for a QgsFeatureRequest. More...
 
 OrderByClause (const QString &expression, bool ascending, bool nullsfirst)
 Creates a new OrderByClause for a QgsFeatureRequest. More...
 
 OrderByClause (const QString &expression, bool ascending=true)
 Creates a new OrderByClause for a QgsFeatureRequest. More...
 
bool ascending () const
 Order ascending. More...
 
QString dump () const
 Dumps the content to an SQL equivalent. More...
 
QgsExpression expression () const
 The expression. More...
 
bool nullsFirst () const
 Set if NULLS should be returned first. More...
 
bool prepare (QgsExpressionContext *context)
 Prepare the expression with the given context. More...
 
void setAscending (bool ascending)
 Set if ascending order is requested. More...
 
void setNullsFirst (bool nullsFirst)
 Set if NULLS should be returned first. More...
 

Detailed Description

The OrderByClause class represents an order by clause for a QgsFeatureRequest.

It can be a simple field or an expression. Multiple order by clauses can be added to a QgsFeatureRequest to fine tune the behavior if a single field or expression is not enough to completely specify the required behavior.

If expression compilation is activated in the settings and the expression can be translated for the provider in question, it will be evaluated on provider side. If one of these two premises does not apply, the ordering will take place locally which results in increased memory and CPU usage.

If the ordering is done on strings, the order depends on the system's locale if the local fallback implementation is used. The order depends on the server system's locale and implementation if ordering is done on the server.

In case the fallback code needs to be used, a limit set on the request will be respected for the features returned by the iterator but internally all features will be requested from the provider.

Since
QGIS 2.14

Definition at line 129 of file qgsfeaturerequest.h.

Constructor & Destructor Documentation

◆ OrderByClause() [1/4]

QgsFeatureRequest::OrderByClause::OrderByClause ( const QString &  expression,
bool  ascending = true 
)

Creates a new OrderByClause for a QgsFeatureRequest.

Parameters
expressionThe expression to use for ordering
ascendingIf the order should be ascending (1,2,3) or descending (3,2,1) If the order is ascending, by default nulls are last If the order is descending, by default nulls are first

Definition at line 363 of file qgsfeaturerequest.cpp.

◆ OrderByClause() [2/4]

QgsFeatureRequest::OrderByClause::OrderByClause ( const QString &  expression,
bool  ascending,
bool  nullsfirst 
)

Creates a new OrderByClause for a QgsFeatureRequest.

Parameters
expressionThe expression to use for ordering
ascendingIf the order should be ascending (1,2,3) or descending (3,2,1)
nullsfirstIf true, NULLS are at the beginning, if false, NULLS are at the end

Definition at line 371 of file qgsfeaturerequest.cpp.

◆ OrderByClause() [3/4]

QgsFeatureRequest::OrderByClause::OrderByClause ( const QgsExpression expression,
bool  ascending = true 
)

Creates a new OrderByClause for a QgsFeatureRequest.

Parameters
expressionThe expression to use for ordering
ascendingIf the order should be ascending (1,2,3) or descending (3,2,1) If the order is ascending, by default nulls are last If the order is descending, by default nulls are first

Definition at line 378 of file qgsfeaturerequest.cpp.

◆ OrderByClause() [4/4]

QgsFeatureRequest::OrderByClause::OrderByClause ( const QgsExpression expression,
bool  ascending,
bool  nullsfirst 
)

Creates a new OrderByClause for a QgsFeatureRequest.

Parameters
expressionThe expression to use for ordering
ascendingIf the order should be ascending (1,2,3) or descending (3,2,1)
nullsfirstIf true, NULLS are at the beginning, if false, NULLS are at the end

Definition at line 386 of file qgsfeaturerequest.cpp.

Member Function Documentation

◆ ascending()

bool QgsFeatureRequest::OrderByClause::ascending ( ) const

Order ascending.

Returns
If ascending order is requested

Definition at line 394 of file qgsfeaturerequest.cpp.

◆ dump()

QString QgsFeatureRequest::OrderByClause::dump ( ) const

Dumps the content to an SQL equivalent.

Definition at line 414 of file qgsfeaturerequest.cpp.

◆ expression()

QgsExpression QgsFeatureRequest::OrderByClause::expression ( ) const

The expression.

Returns
the expression

Definition at line 422 of file qgsfeaturerequest.cpp.

◆ nullsFirst()

bool QgsFeatureRequest::OrderByClause::nullsFirst ( ) const

Set if NULLS should be returned first.

Returns
if NULLS should be returned first

Definition at line 404 of file qgsfeaturerequest.cpp.

◆ prepare()

bool QgsFeatureRequest::OrderByClause::prepare ( QgsExpressionContext context)

Prepare the expression with the given context.

See also
QgsExpression::prepare
Since
QGIS 3.0

Definition at line 427 of file qgsfeaturerequest.cpp.

◆ setAscending()

void QgsFeatureRequest::OrderByClause::setAscending ( bool  ascending)

Set if ascending order is requested.

Definition at line 399 of file qgsfeaturerequest.cpp.

◆ setNullsFirst()

void QgsFeatureRequest::OrderByClause::setNullsFirst ( bool  nullsFirst)

Set if NULLS should be returned first.

Definition at line 409 of file qgsfeaturerequest.cpp.


The documentation for this class was generated from the following files: