Skip to content

Commit dbd4f9e

Browse files
author
Hugo Mercier
authored
Merge pull request #5677 from mhugo/fix_slow_relation_reference
Postgresql: don't fetch if there is nothing (fixes #17502)
2 parents ac109e4 + 5fb970a commit dbd4f9e

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/providers/postgres/qgspostgresfeatureiterator.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ const int QgsPostgresFeatureIterator::sFeatureQueueSize = 2000;
3131

3232
QgsPostgresFeatureIterator::QgsPostgresFeatureIterator( QgsPostgresFeatureSource* source, bool ownSource, const QgsFeatureRequest& request )
3333
: QgsAbstractFeatureIteratorFromSource<QgsPostgresFeatureSource>( source, ownSource, request )
34+
, mConn( nullptr )
3435
, mFeatureQueueSize( sFeatureQueueSize )
3536
, mFetched( 0 )
3637
, mFetchGeometry( false )
@@ -39,6 +40,13 @@ QgsPostgresFeatureIterator::QgsPostgresFeatureIterator( QgsPostgresFeatureSource
3940
, mLastFetch( false )
4041
, mFilterRequiresGeometry( false )
4142
{
43+
if ( request.filterType() == QgsFeatureRequest::FilterFids && request.filterFids().isEmpty() )
44+
{
45+
mClosed = true;
46+
iteratorClosed();
47+
return;
48+
}
49+
4250
if ( !source->mTransactionConnection )
4351
{
4452
mConn = QgsPostgresConnPool::instance()->acquireConnection( mSource->mConnInfo );

0 commit comments

Comments
 (0)