X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=89072918a2f2c25f4a7a5c81bf39fa7c26ca36ad;hb=3b7335ec8615387761937d34423581df226c22dc;hp=308f5548778810f2ccf8d6877c2dc4127b2f31d6;hpb=5c4242ac752fcc98787ecf0d84927f907808e36e;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 308f5548..89072918 100755 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -113,6 +113,14 @@ class DBConn(Singleton): 'suite_version': Cache(lambda x: '%s_%s' % (x['source'], x['suite'])), } + self.prepared_statements = {} + + def prepare(self,name,statement): + if not self.prepared_statements.has_key(name): + c = self.cursor() + c.execute(statement) + self.prepared_statements[name] = statement + def clear_caches(self): self.__init_caches() @@ -202,7 +210,7 @@ class DBConn(Singleton): @return: the database id for the given override type """ - return self.__get_id('id', 'override_type', 'override_type', override_type) + return self.__get_id('id', 'override_type', 'type', override_type) def get_architecture_id(self, architecture): """ @@ -547,6 +555,8 @@ class DBConn(Singleton): for fullpath in fullpaths: (path, file) = os.path.split(fullpath) + if path.startswith( "./" ): + path = path[2:] # Get the necessary IDs ... file_id = self.get_or_set_contents_file_id(file) path_id = self.get_or_set_contents_path_id(path)