Honour useEstimatedMetadata connection configuration from Browser

Closes #32277
This commit is contained in:
Sandro Santilli 2019-10-22 13:02:58 +02:00 committed by Nyall Dawson
parent f99310839a
commit 295d3303e7

View File

@ -338,11 +338,20 @@ QString QgsPGLayerItem::createUri()
QgsDataSourceUri uri( QgsPostgresConn::connUri( connItem->name() ).connectionInfo( false ) );
QStringList defPk( QgsSettings().value(
QStringLiteral( "/PostgreSQL/connections/%1/keys/%2/%3" ).arg( connItem->name(), mLayerProperty.schemaName, mLayerProperty.tableName ),
const QgsSettings &settings = QgsSettings();
QString basekey = QStringLiteral( "/PostgreSQL/connections/%1" ).arg( connItem->name() );
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() );
uri.setUseEstimatedMetadata( useEstimatedMetadata );
QStringList cols;
for ( const auto &col : defPk )
{
@ -353,6 +362,7 @@ QString QgsPGLayerItem::createUri()
uri.setWkbType( mLayerProperty.types.at( 0 ) );
if ( uri.wkbType() != QgsWkbTypes::NoGeometry && mLayerProperty.srids.at( 0 ) != std::numeric_limits<int>::min() )
uri.setSrid( QString::number( mLayerProperty.srids.at( 0 ) ) );
QgsDebugMsg( QStringLiteral( "layer uri: %1" ).arg( uri.uri( false ) ) );
return uri.uri( false );
}