Skip to content

Commit 2623920

Browse files
committed
postgresql provider: check connection state before running PQexec (fixes #4909)
1 parent 93266ac commit 2623920

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/providers/postgres/qgspostgresconn.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,23 @@ QString QgsPostgresConn::quotedValue( QVariant value )
699699

700700
PGresult *QgsPostgresConn::PQexec( QString query, bool logError )
701701
{
702+
if ( PQstatus() != CONNECTION_OK )
703+
{
704+
if ( logError )
705+
{
706+
QgsMessageLog::logMessage( tr( "Connection error: %1 returned %2 [%3]" )
707+
.arg( query ).arg( PQstatus() ).arg( PQerrorMessage() ),
708+
tr( "PostGIS" ) );
709+
}
710+
else
711+
{
712+
QgsDebugMsg( QString( "Connection error: %1 returned %2 [%3]" )
713+
.arg( query ).arg( PQstatus() ).arg( PQerrorMessage() ) );
714+
}
715+
716+
return 0;
717+
}
718+
702719
QgsDebugMsgLevel( QString( "Executing SQL: %1" ).arg( query ), 3 );
703720
PGresult *res = ::PQexec( mConn, query.toUtf8() );
704721

0 commit comments

Comments
 (0)