Skip to content

Commit

Permalink
Reserve candidates
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Jan 28, 2021
1 parent a323b36 commit 17e4930
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/providers/hana/qgshanadataitems.cpp
Expand Up @@ -291,7 +291,8 @@ QVector<QgsDataItem *> QgsHanaSchemaItem::createChildren()
const QVector<QgsHanaLayerProperty> layers = conn->getLayersFull( mSchemaName,
settings.allowGeometrylessTables(), settings.userTablesOnly() );

for ( const QgsHanaLayerProperty &layerInfo : layers )
items.reserve( layers.size() );
for ( const QgsHanaLayerProperty &layerInfo : layers )
items.append( createLayer( layerInfo ) );

setName( mSchemaName );
Expand Down Expand Up @@ -356,6 +357,7 @@ QVector<QgsDataItem *> QgsHanaRootItem::createChildren()
{
QVector<QgsDataItem *> connections;
const QStringList connectionNames = QgsHanaSettings::getConnectionNames();
connections.reserve( connectionNames.size() );
for ( const QString &connName : connectionNames )
{
connections << new QgsHanaConnectionItem( this, connName, mPath + '/' + connName );
Expand Down
1 change: 1 addition & 0 deletions src/providers/hana/qgshanafeatureiterator.cpp
Expand Up @@ -179,6 +179,7 @@ bool QgsHanaFeatureIterator::fetchFeature( QgsFeature &feature )
case QgsHanaPrimaryKeyType::PktFidMap:
{
QVariantList pkValues;
pkValues.reserve( mSource->mPrimaryKeyAttrs.size() );
for ( int idx : qgis::as_const( mSource->mPrimaryKeyAttrs ) )
{
QVariant v = mResultSet->getValue( paramIndex );
Expand Down
1 change: 1 addition & 0 deletions src/providers/hana/qgshanaprimarykeys.cpp
Expand Up @@ -208,6 +208,7 @@ QString QgsHanaPrimaryKeyUtils::buildWhereClause( const QgsFields &fields, QgsHa
case PktFidMap:
{
QList<QString> conditions;
conditions.reserve( pkAttrs.size() );
for ( int idx : pkAttrs )
conditions << QStringLiteral( "%1=?" ).arg( QgsHanaUtils::quotedIdentifier( fields[idx].name() ) );
return conditions.join( QLatin1String( " AND " ) );
Expand Down
1 change: 1 addition & 0 deletions src/providers/hana/qgshanaprovider.cpp
Expand Up @@ -653,6 +653,7 @@ bool QgsHanaProvider::addFeatures( QgsFeatureList &flist, Flags flags )
else
{
QVariantList primaryKeyVals;
primaryKeyVals.reserve( mPrimaryKeyAttrs.size() );
for ( int idx : qgis::as_const( mPrimaryKeyAttrs ) )
primaryKeyVals << attrs.at( idx );
feature.setId( mPrimaryKeyCntx->lookupFid( primaryKeyVals ) );
Expand Down
4 changes: 4 additions & 0 deletions src/providers/hana/qgshanaproviderconnection.cpp
Expand Up @@ -38,6 +38,8 @@ QVariantList QgsHanaProviderResultIterator::nextRowPrivate()
QVariantList ret;
if ( !mNextRow )
return ret;

ret.reserve( mNumColumns );
for ( unsigned short i = 1; i <= mNumColumns; ++i )
ret.push_back( mResultSet->getValue( i ) );
mNextRow = mResultSet->next();
Expand Down Expand Up @@ -302,6 +304,7 @@ QList<QgsHanaProviderConnection::TableProperty> QgsHanaProviderConnection::table
try
{
const QVector<QgsHanaLayerProperty> layers = conn->getLayersFull( schema, flags.testFlag( TableFlag::Aspatial ), false );
tables.reserve( layers.size() );
for ( const QgsHanaLayerProperty &layerInfo : layers )
{
// Classify
Expand Down Expand Up @@ -363,6 +366,7 @@ QStringList QgsHanaProviderConnection::schemas( ) const
{
QStringList schemas;
const QVector<QgsHanaSchemaProperty> schemaProperties = conn->getSchemas( QString() );
schemas.reserve( schemaProperties.size() );
for ( const QgsHanaSchemaProperty &s : schemaProperties )
schemas.push_back( s.name );
return schemas;
Expand Down

0 comments on commit 17e4930

Please sign in to comment.