]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Workspace/MetaFileTable.py
Sync BaseTool trunk (version r2610) into EDKII BaseTools.
[mirror_edk2.git] / BaseTools / Source / Python / Workspace / MetaFileTable.py
index f20eab96887829db0cab77b0aaaddeac1ef38197..607225a0ef6028059a21fada8fdf872cedff6d15 100644 (file)
@@ -50,11 +50,13 @@ class MetaFileTable(Table):
 \r
     def IsIntegrity(self):\r
         try:\r
+            TimeStamp = self.MetaFile.TimeStamp\r
             Result = self.Cur.execute("select ID from %s where ID<0" % (self.Table)).fetchall()\r
             if not Result:\r
+                # update the timestamp in database\r
+                self._FileIndexTable.SetFileTimeStamp(self.IdBase, TimeStamp)                \r
                 return False\r
 \r
-            TimeStamp = self.MetaFile.TimeStamp\r
             if TimeStamp != self._FileIndexTable.GetFileTimeStamp(self.IdBase):\r
                 # update the timestamp in database\r
                 self._FileIndexTable.SetFileTimeStamp(self.IdBase, TimeStamp)\r
@@ -132,7 +134,7 @@ class ModuleTable(MetaFileTable):
     #\r
     # @retval:       A recordSet of all found records \r
     #\r
-    def Query(self, Model, Arch=None, Platform=None):\r
+    def Query(self, Model, Arch=None, Platform=None, BelongsToItem=None):\r
         ConditionString = "Model=%s AND Enabled>=0" % Model\r
         ValueString = "Value1,Value2,Value3,Scope1,Scope2,ID,StartLine"\r
 \r
@@ -140,6 +142,8 @@ class ModuleTable(MetaFileTable):
             ConditionString += " AND (Scope1='%s' OR Scope1='COMMON')" % Arch\r
         if Platform != None and Platform != 'COMMON':\r
             ConditionString += " AND (Scope2='%s' OR Scope2='COMMON' OR Scope2='DEFAULT')" % Platform\r
+        if BelongsToItem != None:\r
+            ConditionString += " AND BelongsToItem=%s" % BelongsToItem\r
 \r
         SqlCommand = "SELECT %s FROM %s WHERE %s" % (ValueString, self.Table, ConditionString)\r
         return self.Exec(SqlCommand)\r