[database] use IF EXISTS on DROP TABLE if we're not completely sure the table exists
authorJonathan Marshall <jmarshall@xbmc.org>
Mon, 3 Feb 2014 19:49:32 +0000 (08:49 +1300)
committerJonathan Marshall <jmarshall@xbmc.org>
Wed, 5 Feb 2014 20:27:34 +0000 (09:27 +1300)
xbmc/TextureDatabase.cpp
xbmc/music/MusicDatabase.cpp

index 1905f71..6916b60 100644 (file)
@@ -214,12 +214,12 @@ void CTextureDatabase::UpdateTables(int version)
   }
   if (version < 9)
   { // get rid of the old path table and add the type column
-    m_pDS->exec("DROP TABLE path");
+    m_pDS->exec("DROP TABLE IF EXISTS path");
     m_pDS->exec("CREATE TABLE path (id integer primary key, urlhash integer, url text, type text, texture text)\n");
   }
   if (version < 10)
   { // get rid of urlhash in both tables...
-    m_pDS->exec("DROP TABLE path");
+    m_pDS->exec("DROP TABLE IF EXISTS path");
     m_pDS->exec("CREATE TABLE path (id integer primary key, url text, type text, texture text)\n");
 
     m_pDS->exec("CREATE TEMPORARY TABLE texture_backup(id,url,cachedurl,usecount,lastusetime,imagehash,lasthashcheck)");
@@ -235,7 +235,7 @@ void CTextureDatabase::UpdateTables(int version)
   }
   if (version < 12)
   { // create new sizes table and move usecount info to it.
-    m_pDS->exec("DROP TABLE texture");
+    m_pDS->exec("DROP TABLE IF EXISTS texture");
     m_pDS->exec("CREATE TABLE texture (id integer primary key, url text, cachedurl text, imagehash text, lasthashcheck text)");
     m_pDS->exec("CREATE TABLE sizes (idtexture integer, size integer, width integer, height integer, usecount integer, lastusetime text)");
   }
index d34f9d0..b398dfe 100644 (file)
@@ -3830,7 +3830,7 @@ void CMusicDatabase::UpdateTables(int version)
 
   if (version < 27)
   {
-    m_pDS->exec("DROP TABLE thumb");
+    m_pDS->exec("DROP TABLE IF EXISTS thumb");
 
     CMediaSettings::Get().SetMusicNeedsUpdate(27);
     CSettings::Get().Save();