1. Add an interface to get max id of the table.
authorhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Tue, 15 Apr 2008 12:51:19 +0000 (12:51 +0000)
committerhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Tue, 15 Apr 2008 12:51:19 +0000 (12:51 +0000)
git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@1152 7335b38e-4728-0410-8992-fb3ffe349368

Source/Python/Table/TableEotReport.py

index 7eb992e..f981298 100644 (file)
@@ -37,21 +37,20 @@ class TableEotReport(Table):
     #\r
     # Create table report\r
     #\r
-    # @param ID:             ID of an Error\r
-    # @param ErrorID:        ID of an Error TypeModel of a Report item\r
-    # @param OtherMsg:       Other error message besides the standard error message\r
-    # @param BelongsToItem:  The error belongs to which item\r
-    # @param Enabled:        If this error enabled\r
-    # @param Corrected:      if this error corrected\r
     #\r
     def Create(self):\r
         SqlCommand = """create table IF NOT EXISTS %s (ID INTEGER PRIMARY KEY,\r
-                                                       ErrorID INTEGER NOT NULL,\r
-                                                       OtherMsg TEXT,\r
-                                                       BelongsToTable TEXT NOT NULL,\r
-                                                       BelongsToItem SINGLE NOT NULL,\r
-                                                       Enabled INTEGER DEFAULT 0,\r
-                                                       Corrected INTEGER DEFAULT -1\r
+                                                       ModuleID INTEGER NOT NULL,\r
+                                                       ModuleName TEXT NOT NULL,\r
+                                                       SourceFileID INTEGER NOT NULL,\r
+                                                       SourceFileFullPath TEXT NOT NULL,\r
+                                                       ItemName TEXT NOT NULL,\r
+                                                       ItemType TEXT NOT NULL,\r
+                                                       ItemMode TEXT NOT NULL,\r
+                                                       GuidName TEXT NOT NULL,\r
+                                                       GuidMacro TEXT,\r
+                                                       GuidValue TEXT,\r
+                                                       Enabled INTEGER DEFAULT 0\r
                                                       )""" % self.Table\r
         Table.Create(self, SqlCommand)\r
 \r
@@ -59,65 +58,17 @@ class TableEotReport(Table):
     #\r
     # Insert a record into table report\r
     #\r
-    # @param ID:             ID of an Error\r
-    # @param ErrorID:        ID of an Error TypeModel of a report item\r
-    # @param OtherMsg:       Other error message besides the standard error message\r
-    # @param BelongsToTable: The error item belongs to which table\r
-    # @param BelongsToItem:  The error belongs to which item\r
-    # @param Enabled:        If this error enabled\r
-    # @param Corrected:      if this error corrected\r
     #\r
-    def Insert(self, ErrorID, OtherMsg = '', BelongsToTable = '', BelongsToItem = -1, Enabled = 0, Corrected = -1):\r
+    def Insert(self, ModuleID = -1, ModuleName = '', SourceFileID = -1, SourceFileFullPath = '', \\r
+               ItemName = '', ItemType = '', ItemMode = '', GuidName = '', GuidMacro = '', GuidValue = '', Enabled = 0):\r
         self.ID = self.ID + 1\r
-        SqlCommand = """insert into %s values(%s, %s, '%s', '%s', %s, %s, %s)""" \\r
-                     % (self.Table, self.ID, ErrorID, ConvertToSqlString2(OtherMsg), BelongsToTable, BelongsToItem, Enabled, Corrected)\r
+        SqlCommand = """insert into %s values(%s, %s, '%s', %s, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %s)""" \\r
+                     % (self.Table, self.ID, ModuleID, ModuleName, SourceFileID, SourceFileFullPath, \\r
+                        ItemName, ItemType, ItemMode, GuidName, GuidMacro, GuidValue, Enabled)\r
         Table.Insert(self, SqlCommand)\r
         \r
-        return self.ID\r
-    \r
-    ## Query table\r
-    #\r
-    # @retval:       A recordSet of all found records \r
-    #\r
-    def Query(self):\r
-        SqlCommand = """select ID, ErrorID, OtherMsg, BelongsToTable, BelongsToItem, Corrected from %s\r
-                        where Enabled > -1 order by ErrorID, BelongsToItem""" % (self.Table)\r
-        return self.Exec(SqlCommand)\r
-\r
-    ## Convert to CSV\r
-    #\r
-    # Get all enabled records from table report and save them to a .csv file\r
-    #\r
-    # @param Filename:  To filename to save the report content\r
-    #\r
-    def ToCSV(self, Filename = 'Report.csv'):\r
-        try:\r
-            File = open(Filename, 'w+')\r
-            File.write("""No, Error Code, Error Message, File, LineNo, Other Error Message\n""")\r
-            RecordSet = self.Query()\r
-            Index = 0\r
-            for Record in RecordSet:\r
-                Index = Index + 1\r
-                ErrorID = Record[1]\r
-                OtherMsg = Record[2]\r
-                BelongsToTable = Record[3]\r
-                BelongsToItem = Record[4]\r
-                IsCorrected = Record[5]\r
-                SqlCommand = ''\r
-                if BelongsToTable == 'File':\r
-                    SqlCommand = """select 0, FullPath from %s where ID = %s\r
-                             """ % (BelongsToTable, BelongsToItem)\r
-                else:\r
-                    SqlCommand = """select A.StartLine, B.FullPath from %s as A, File as B\r
-                                    where A.ID = %s and B.ID = A.BelongsToFile\r
-                                 """ % (BelongsToTable, BelongsToItem)\r
-                NewRecord = self.Exec(SqlCommand)\r
-                if NewRecord != []:\r
-                    File.write("""%s,%s,"%s",%s,%s,"%s"\n""" % (Index, ErrorID, EotToolError.gEotErrorMessage[ErrorID], NewRecord[0][1], NewRecord[0][0], OtherMsg))\r
-            \r
-            File.close()\r
-        except IOError:\r
-            NewFilename = 'Report_' + time.strftime("%Y%m%d_%H%M%S.csv", time.localtime())\r
-            EdkLogger.warn("ECC", "The report file %s is locked by other progress, use %s instead!" % (Filename, NewFilename))\r
-            self.ToCSV(NewFilename)\r
-\r
+    def GetMaxID(self):\r
+        SqlCommand = """select max(ID) from %s""" % self.Table\r
+        self.Cur.execute(SqlCommand)\r
+        for Item in self.Cur:\r
+            return Item[0]
\ No newline at end of file