***************************************************************************/
#include "abstractsqlstorage.h"
+#include "quassel.h"
#include "logger.h"
Storage::State AbstractSqlStorage::init(const QVariantMap &settings) {
setConnectionProperties(settings);
+ _debug = Quassel::isOptionSet("debug");
+
QSqlDatabase db = logDb();
if(!db.isValid() || !db.isOpen())
return NotAvailable;
}
bool AbstractSqlStorage::watchQuery(QSqlQuery &query) {
- if(query.lastError().isValid()) {
- qCritical() << "unhandled Error in QSqlQuery!";
+ bool queryError = query.lastError().isValid();
+ if(queryError || _debug) {
+ if(queryError)
+ qCritical() << "unhandled Error in QSqlQuery!";
qCritical() << " last Query:\n" << qPrintable(query.lastQuery());
qCritical() << " executed Query:\n" << qPrintable(query.executedQuery());
QVariantMap boundValues = query.boundValues();
qCritical() << " Driver Message:" << qPrintable(query.lastError().driverText());
qCritical() << " DB Message:" << qPrintable(query.lastError().databaseText());
- return false;
+ return !queryError;
}
return true;
}