From: Seth Vidal Date: Tue, 11 Mar 2008 21:17:16 +0000 (-0400) Subject: a few tweaks to speed up the database creation X-Git-Tag: upstream/0.9.9~119 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0224a9123168f67103b0aa498695b5f8c6921cff;p=tools%2Fcreaterepo.git a few tweaks to speed up the database creation --- diff --git a/createrepo/__init__.py b/createrepo/__init__.py index 2a8b06a..1d539b3 100644 --- a/createrepo/__init__.py +++ b/createrepo/__init__.py @@ -907,8 +907,6 @@ class SplitMetaDataGenerator(MetaDataGenerator): class MetaDataSqlite(object): def __init__(self, destdir): - #open the files up - #get the cursors - store them in self self.pri_sqlite_file = os.path.join(destdir, 'primary.sqlite') self.pri_cx = sqlite.Connection(self.pri_sqlite_file) self.file_sqlite_file = os.path.join(destdir, 'filelists.sqlite') @@ -917,9 +915,11 @@ class MetaDataSqlite(object): self.other_cx = sqlite.Connection(self.other_sqlite_file) self.primary_cursor = self.pri_cx.cursor() + self.filelists_cursor = self.file_cx.cursor() - self.other_cursor = self.other_cx.cursor() + self.other_cursor = self.other_cx.cursor() + self.create_primary_db() self.create_filelists_db() self.create_other_db() @@ -927,6 +927,8 @@ class MetaDataSqlite(object): def create_primary_db(self): # make the tables schema = [ + """PRAGMA synchronous = 0;""", + """pragma locking_mode = EXCLUSIVE;""", """CREATE TABLE conflicts ( name TEXT, flags TEXT, epoch TEXT, version TEXT, release TEXT, pkgKey INTEGER );""", """CREATE TABLE db_info (dbversion INTEGER, checksum TEXT);""", """CREATE TABLE files ( name TEXT, type TEXT, pkgKey INTEGER);""", @@ -959,6 +961,8 @@ class MetaDataSqlite(object): def create_filelists_db(self): schema = [ + """PRAGMA synchronous = 0;""", + """pragma locking_mode = EXCLUSIVE;""", """CREATE TABLE db_info (dbversion INTEGER, checksum TEXT);""", """CREATE TABLE filelist ( pkgKey INTEGER, dirname TEXT, filenames TEXT, filetypes TEXT);""", """CREATE TABLE packages ( pkgKey INTEGER PRIMARY KEY, pkgId TEXT);""", @@ -976,6 +980,8 @@ class MetaDataSqlite(object): def create_other_db(self): schema = [ + """PRAGMA synchronous = 0;""", + """pragma locking_mode = EXCLUSIVE;""", """CREATE TABLE changelog ( pkgKey INTEGER, author TEXT, date INTEGER, changelog TEXT);""", """CREATE TABLE db_info (dbversion INTEGER, checksum TEXT);""", """CREATE TABLE packages ( pkgKey INTEGER PRIMARY KEY, pkgId TEXT);""", diff --git a/createrepo/utils.py b/createrepo/utils.py index a8a8fb7..ffd7f14 100644 --- a/createrepo/utils.py +++ b/createrepo/utils.py @@ -142,9 +142,9 @@ def encodefilenamelist(filenamelist): def encodefiletypelist(filetypelist): result = '' - + ftl = {'file':'f', 'dir':'d', 'ghost':'g'} for x in filetypelist: - result += x[0] + result += ftl[x] return result