diff --git a/src/plugins/sqldrivers/psql/qsql_psql.cpp b/src/plugins/sqldrivers/psql/qsql_psql.cpp index 3d6027048e7..dc7ea70a468 100644 --- a/src/plugins/sqldrivers/psql/qsql_psql.cpp +++ b/src/plugins/sqldrivers/psql/qsql_psql.cpp @@ -387,7 +387,7 @@ static QMetaType qDecodePSQLType(int t) void QPSQLResultPrivate::deallocatePreparedStmt() { - if (drv_d_func()) { + if (drv_d_func() && !preparedStmtId.isEmpty()) { #if defined(LIBPQ_HAS_CLOSE_PREPARED) PGresult *result = PQclosePrepared(drv_d_func()->connection, preparedStmtId.toUtf8()); #else @@ -416,8 +416,7 @@ QPSQLResult::~QPSQLResult() Q_D(QPSQLResult); cleanup(); - if (d->preparedQueriesEnabled && !d->preparedStmtId.isNull()) - d->deallocatePreparedStmt(); + d->deallocatePreparedStmt(); } QVariant QPSQLResult::handle() const @@ -862,8 +861,7 @@ bool QPSQLResult::prepare(const QString &query) cleanup(); - if (!d->preparedStmtId.isEmpty()) - d->deallocatePreparedStmt(); + d->deallocatePreparedStmt(); const QString stmtId = qMakePreparedStmtId(); PGresult *result = PQprepare(d->drv_d_func()->connection, stmtId.toUtf8(),