[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/extragear/graphics/digikam/1.0-databaseext/libs/database
From: Holger Foerster <hamsi2k () freenet ! de>
Date: 2009-11-20 19:34:46
Message-ID: 1258745686.205133.28412.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1052099 by foerster:
Also perform a connection checking at the query prepare method.
M +19 -5 databasecorebackend.cpp
--- branches/extragear/graphics/digikam/1.0-databaseext/libs/database/databasecorebackend.cpp \
#1052098:1052099 @@ -900,13 +900,27 @@
SqlQuery DatabaseCoreBackend::prepareQuery(const QString& sql)
{
- SqlQuery query = getQuery();
- bool result = query.prepare(sql);
- if (!result)
+ Q_D(DatabaseCoreBackend);
+ int retries=0;
+ forever
{
- kDebug(50003) << "Prepare failed! Details: " << query.lastError();
+ SqlQuery query = getQuery();
+ if (query.prepare(sql))
+ return query;
+ else
+ {
+ kDebug(50003) << "Prepare failed! Details: " << query.lastError();
+ if (queryErrorHandling(query, retries++))
+ {
+ // TODO reopen the database
+ d->closeDatabaseForThread();
+ query = copyQuery(query);
+ continue;
+ }
+ else
+ return query;
+ }
}
- return query;
}
SqlQuery DatabaseCoreBackend::copyQuery(const SqlQuery& old)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic