MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / Database

Class Database

BaseTools/Source/Python/Ecc/Database.py:47–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

45# @var TblDataModel: Local instance for TableDataModel
46#
47class Database(object):
48 def __init__(self, DbPath):
49 self.DbPath = DbPath
50 self.Conn = None
51 self.Cur = None
52 self.TblDataModel = None
53 self.TblFile = None
54 self.TblFunction = None
55 self.TblIdentifier = None
56 self.TblPcd = None
57 self.TblReport = None
58 self.TblInf = None
59 self.TblDec = None
60 self.TblDsc = None
61 self.TblFdf = None
62
63 ## Initialize ECC database
64 #
65 # 1. Delete all old existing tables
66 # 2. Create new tables
67 # 3. Initialize table DataModel
68 #
69 def InitDatabase(self, NewDatabase = True):
70 EdkLogger.verbose("\nInitialize ECC database started ...")
71 #
72 # Drop all old existing tables
73 #
74 if NewDatabase:
75 if os.path.exists(self.DbPath):
76 os.remove(self.DbPath)
77 self.Conn = sqlite3.connect(self.DbPath, isolation_level = 'DEFERRED')
78 self.Conn.execute("PRAGMA page_size=4096")
79 self.Conn.execute("PRAGMA synchronous=OFF")
80 # to avoid non-ascii character conversion error
81 self.Conn.text_factory = str
82 self.Cur = self.Conn.cursor()
83
84 self.TblDataModel = TableDataModel(self.Cur)
85 self.TblFile = TableFile(self.Cur)
86 self.TblFunction = TableFunction(self.Cur)
87 self.TblIdentifier = TableIdentifier(self.Cur)
88 self.TblPcd = TablePcd(self.Cur)
89 self.TblReport = TableReport(self.Cur)
90 self.TblInf = ModuleTable(self.Cur)
91 self.TblDec = PackageTable(self.Cur)
92 self.TblDsc = PlatformTable(self.Cur)
93 self.TblFdf = TableFdf(self.Cur)
94
95 #
96 # Create new tables
97 #
98 if NewDatabase:
99 self.TblDataModel.Create()
100 self.TblFile.Create()
101 self.TblFunction.Create()
102 self.TblPcd.Create()
103 self.TblReport.Create()
104 self.TblInf.Create()

Callers 1

Database.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected