Do not hard-code default estimatedMetadata default in wrong place

Re-uses existing static function in QgsPostgresConn class
This commit is contained in:
Sandro Santilli 2019-10-22 16:32:32 +02:00 committed by Nyall Dawson
parent 295d3303e7
commit da818dd706

View File

@ -336,20 +336,19 @@ QString QgsPGLayerItem::createUri()
return QString();
}
QgsDataSourceUri uri( QgsPostgresConn::connUri( connItem->name() ).connectionInfo( false ) );
const QString &connName = connItem->name();
QgsDataSourceUri uri( QgsPostgresConn::connUri( connName ).connectionInfo( false ) );
const QgsSettings &settings = QgsSettings();
QString basekey = QStringLiteral( "/PostgreSQL/connections/%1" ).arg( connItem->name() );
QString basekey = QStringLiteral( "/PostgreSQL/connections/%1" ).arg( connName );
QStringList defPk( settings.value(
QStringLiteral( "%1/keys/%2/%3" ).arg( basekey, mLayerProperty.schemaName, mLayerProperty.tableName ),
QVariant( !mLayerProperty.pkCols.isEmpty() ? QStringList( mLayerProperty.pkCols.at( 0 ) ) : QStringList() )
).toStringList() );
bool useEstimatedMetadata( settings.value(
QStringLiteral( "%1/estimatedMetadata" ).arg( basekey ),
false
).toBool() );
const bool useEstimatedMetadata = QgsPostgresConn::useEstimatedMetadata( connName );
uri.setUseEstimatedMetadata( useEstimatedMetadata );
QStringList cols;