changeset 90:7b7a959c993b

Prepare some more queries.
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Mon, 21 Oct 2013 16:20:38 +0200
parents cfd2a417475a
children a5788991ca9f
files SqliteDBLink.cpp SqliteDBLink.hpp
diffstat 2 files changed, 11 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/SqliteDBLink.cpp	Mon Oct 21 16:19:23 2013 +0200
+++ b/SqliteDBLink.cpp	Mon Oct 21 16:20:38 2013 +0200
@@ -41,6 +41,10 @@
   preparedSizeQuery = new QSqlQuery(db);
   preparedSizeQuery->prepare("SELECT * FROM files WHERE size = :size");
 
+  preparedTryAddQuery = new QSqlQuery(db);
+  preparedTryAddQuery->prepare("INSERT INTO files (path, size, mtime, checksum)"
+			       " VALUES (:path, :size, :mtime, :checksum)");
+
 }
 
 SqliteDBLink::~SqliteDBLink()
@@ -90,15 +94,12 @@
 {
   if (exists(dbinfo.path()))
     return false;
-  QSqlQuery query(db);
-  query.prepare("INSERT INTO files (path, size, mtime, checksum) "
-		"VALUES (:path, :size, :mtime, :checksum)");
-  query.bindValue(":path", dbinfo.path());
-  query.bindValue(":size", dbinfo.size());
-  query.bindValue(":mtime", dbinfo.mtime());
-  query.bindValue(":checksum", dbinfo.checksum());
-  if (!query.exec()) {
-    throw SQLException(query);
+  preparedTryAddQuery->bindValue(":path", dbinfo.path());
+  preparedTryAddQuery->bindValue(":size", dbinfo.size());
+  preparedTryAddQuery->bindValue(":mtime", dbinfo.mtime());
+  preparedTryAddQuery->bindValue(":checksum", dbinfo.checksum());
+  if (!preparedTryAddQuery->exec()) {
+    throw SQLException(*preparedTryAddQuery);
   }
   return true;
 }
--- a/SqliteDBLink.hpp	Mon Oct 21 16:19:23 2013 +0200
+++ b/SqliteDBLink.hpp	Mon Oct 21 16:20:38 2013 +0200
@@ -35,6 +35,7 @@
 
   QSqlQuery* preparedSizePrefixQuery;
   QSqlQuery* preparedSizeQuery;
+  QSqlQuery* preparedTryAddQuery;
 };
 
 #endif //MEMORYDBLINK_HPP