From f65fe3dbc95a7f38b24271e9fb979eed68823cff Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Thu, 21 Jan 2021 08:08:14 +1000 Subject: [PATCH] Fix retrieval of sql results from geopackages Fixes #40856 --- .../providers/ogr/qgsgeopackageproviderconnection.cpp | 8 ++++---- src/core/qgsabstractdatabaseproviderconnection.cpp | 2 +- src/providers/mssql/qgsmssqlproviderconnection.cpp | 2 +- .../spatialite/qgsspatialiteproviderconnection.cpp | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/core/providers/ogr/qgsgeopackageproviderconnection.cpp b/src/core/providers/ogr/qgsgeopackageproviderconnection.cpp index e37ef7200e34..77891e155305 100644 --- a/src/core/providers/ogr/qgsgeopackageproviderconnection.cpp +++ b/src/core/providers/ogr/qgsgeopackageproviderconnection.cpp @@ -423,7 +423,7 @@ QgsAbstractDatabaseProviderConnection::QueryResult QgsGeoPackageProviderConnecti QVariantList QgsGeoPackageProviderResultIterator::nextRowPrivate() { - const QVariantList currentRow { mNextRow }; + const QVariantList currentRow = mNextRow; mNextRow = nextRowInternal(); return currentRow; } @@ -439,10 +439,10 @@ QVariantList QgsGeoPackageProviderResultIterator::nextRowInternal() if ( ! mFields.isEmpty() ) { QgsFeature f { QgsOgrUtils::readOgrFeature( fet.get(), mFields, QTextCodec::codecForName( "UTF-8" ) ) }; - const QgsAttributes &constAttrs { f.attributes() }; - for ( int i = 0; i < constAttrs.length(); i++ ) + const QgsAttributes constAttrs = f.attributes(); + for ( const QVariant &attribute : constAttrs ) { - row.push_back( constAttrs.at( i ) ); + row.push_back( attribute ); } } else // Fallback to strings diff --git a/src/core/qgsabstractdatabaseproviderconnection.cpp b/src/core/qgsabstractdatabaseproviderconnection.cpp index a2fc3100265c..c434a5b210d6 100644 --- a/src/core/qgsabstractdatabaseproviderconnection.cpp +++ b/src/core/qgsabstractdatabaseproviderconnection.cpp @@ -509,7 +509,7 @@ QgsAbstractDatabaseProviderConnection::QueryResult::QueryResult( std::shared_ptr QVariantList QgsAbstractDatabaseProviderConnection::QueryResult::QueryResultIterator::nextRow() { QMutexLocker lock( &mMutex ); - const QVariantList row { nextRowPrivate() }; + const QVariantList row = nextRowPrivate(); if ( ! row.isEmpty() ) { mFetchedRowCount++; diff --git a/src/providers/mssql/qgsmssqlproviderconnection.cpp b/src/providers/mssql/qgsmssqlproviderconnection.cpp index b2ce7c2d437f..908302ae576f 100644 --- a/src/providers/mssql/qgsmssqlproviderconnection.cpp +++ b/src/providers/mssql/qgsmssqlproviderconnection.cpp @@ -282,7 +282,7 @@ QgsAbstractDatabaseProviderConnection::QueryResult QgsMssqlProviderConnection::e QVariantList QgssMssqlProviderResultIterator::nextRowPrivate() { - const QVariantList currentRow( mNextRow ); + const QVariantList currentRow = mNextRow; mNextRow = nextRowInternal(); return currentRow; } diff --git a/src/providers/spatialite/qgsspatialiteproviderconnection.cpp b/src/providers/spatialite/qgsspatialiteproviderconnection.cpp index dd0fceb3bba1..382980c442cd 100644 --- a/src/providers/spatialite/qgsspatialiteproviderconnection.cpp +++ b/src/providers/spatialite/qgsspatialiteproviderconnection.cpp @@ -478,7 +478,7 @@ QgsSpatialiteProviderResultIterator::~QgsSpatialiteProviderResultIterator() QVariantList QgsSpatialiteProviderResultIterator::nextRowPrivate() { - const QVariantList currentRow { mNextRow }; + const QVariantList currentRow = mNextRow; mNextRow = nextRowInternal(); return currentRow; } @@ -494,10 +494,10 @@ QVariantList QgsSpatialiteProviderResultIterator::nextRowInternal() if ( ! mFields.isEmpty() ) { QgsFeature f { QgsOgrUtils::readOgrFeature( fet.get(), mFields, QTextCodec::codecForName( "UTF-8" ) ) }; - const QgsAttributes &constAttrs { f.attributes() }; - for ( int i = 0; i < constAttrs.length(); i++ ) + const QgsAttributes constAttrs = f.attributes(); + for ( const QVariant &attribute : constAttrs ) { - row.push_back( constAttrs.at( i ) ); + row.push_back( attribute ); } } else // Fallback to strings