]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake: Remove persist_data domain renaming code as it appears to expose sqlite...
authorRichard Purdie <rpurdie@linux.intel.com>
Thu, 30 Jul 2009 20:24:31 +0000 (21:24 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Thu, 30 Jul 2009 20:24:31 +0000 (21:24 +0100)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake-dev/lib/bb/fetch/__init__.py
bitbake-dev/lib/bb/persist_data.py
bitbake/lib/bb/fetch/__init__.py
bitbake/lib/bb/persist_data.py

index 8ddcd3870627f1d7e8cc9d5a63c0e7cfb80fe2c5..cd7e59a55893ba3a6944f0337faee8a4f99fb3a8 100644 (file)
@@ -78,6 +78,7 @@ def uri_replace(uri, uri_find, uri_replace, d):
 
 methods = []
 urldata_cache = {}
+saved_headrevs = {}
 
 def fetcher_init(d):
     """
@@ -91,12 +92,15 @@ def fetcher_init(d):
         bb.msg.debug(1, bb.msg.domain.Fetcher, "Keeping SRCREV cache due to cache policy of: %s" % srcrev_policy)
     elif srcrev_policy == "clear":
         bb.msg.debug(1, bb.msg.domain.Fetcher, "Clearing SRCREV cache due to cache policy of: %s" % srcrev_policy)
-        pd.renameDomain("BB_URI_HEADREVS", "BB_URI_HEADREVS_PREVIOUS")
+        try:
+            bb.fetch.saved_headrevs = pd.getKeyValues("BB_URI_HEADREVS")
+        except:
+            pass
+        pd.delDomain("BB_URI_HEADREVS")
     else:
         bb.msg.fatal(bb.msg.domain.Fetcher, "Invalid SRCREV cache policy of: %s" % srcrev_policy)
     # Make sure our domains exist
     pd.addDomain("BB_URI_HEADREVS")
-    pd.addDomain("BB_URI_HEADREVS_PREVIOUS")
     pd.addDomain("BB_URI_LOCALCOUNT")
 
 def fetcher_compare_revisons(d):
@@ -107,7 +111,7 @@ def fetcher_compare_revisons(d):
 
     pd = persist_data.PersistData(d)
     data = pd.getKeyValues("BB_URI_HEADREVS")
-    data2 = pd.getKeyValues("BB_URI_HEADREVS_PREVIOUS")
+    data2 = bb.fetch.saved_headrevs
 
     changed = False
     for key in data:
index 1d60a0a139c7ffe94518213bec027ffd96a043a3..bc4045fe855f7bdd1b4bbaa707bea683dfc2aecb 100644 (file)
@@ -69,16 +69,6 @@ class PersistData:
         """
         self.connection.execute("DROP TABLE IF EXISTS %s;" % domain)
 
-
-    def renameDomain(self, domain, newdomain):
-        """
-        Renames a domain, removing the target if it already exists
-        """
-        self.connection.execute("DROP TABLE IF EXISTS %s;" % newdomain)
-        self.addDomain(domain)
-        self.connection.execute("ALTER TABLE %s RENAME TO %s;" % (domain, newdomain))
-
     def getKeyValues(self, domain):
         """
         Return a list of key + value pairs for a domain
index a97138d2715648552cc08619107c5219c2168fd4..368e9e78c1c622d918264a62e8a4621380394e84 100644 (file)
@@ -84,6 +84,7 @@ def uri_replace(uri, uri_find, uri_replace, d):
 
 methods = []
 urldata_cache = {}
+saved_headrevs = {}
 
 def fetcher_init(d):
     """
@@ -97,12 +98,15 @@ def fetcher_init(d):
         bb.msg.debug(1, bb.msg.domain.Fetcher, "Keeping SRCREV cache due to cache policy of: %s" % srcrev_policy)
     elif srcrev_policy == "clear":
         bb.msg.debug(1, bb.msg.domain.Fetcher, "Clearing SRCREV cache due to cache policy of: %s" % srcrev_policy)
-        pd.renameDomain("BB_URI_HEADREVS", "BB_URI_HEADREVS_PREVIOUS")
+        try:
+            bb.fetch.saved_headrevs = pd.getKeyValues("BB_URI_HEADREVS")
+        except:
+            pass
+        pd.delDomain("BB_URI_HEADREVS")
     else:
         bb.msg.fatal(bb.msg.domain.Fetcher, "Invalid SRCREV cache policy of: %s" % srcrev_policy)
     # Make sure our domains exist
     pd.addDomain("BB_URI_HEADREVS")
-    pd.addDomain("BB_URI_HEADREVS_PREVIOUS")
     pd.addDomain("BB_URI_LOCALCOUNT")
 
 def fetcher_compare_revisons(d):
@@ -113,7 +117,7 @@ def fetcher_compare_revisons(d):
 
     pd = persist_data.PersistData(d)
     data = pd.getKeyValues("BB_URI_HEADREVS")
-    data2 = pd.getKeyValues("BB_URI_HEADREVS_PREVIOUS")
+    data2 = bb.fetch.saved_headrevs
 
     changed = False
     for key in data:
index 1d60a0a139c7ffe94518213bec027ffd96a043a3..bc4045fe855f7bdd1b4bbaa707bea683dfc2aecb 100644 (file)
@@ -69,16 +69,6 @@ class PersistData:
         """
         self.connection.execute("DROP TABLE IF EXISTS %s;" % domain)
 
-
-    def renameDomain(self, domain, newdomain):
-        """
-        Renames a domain, removing the target if it already exists
-        """
-        self.connection.execute("DROP TABLE IF EXISTS %s;" % newdomain)
-        self.addDomain(domain)
-        self.connection.execute("ALTER TABLE %s RENAME TO %s;" % (domain, newdomain))
-
     def getKeyValues(self, domain):
         """
         Return a list of key + value pairs for a domain