1. Change key word "Variable" to "Identifier", all related items are changed
authorhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Thu, 27 Dec 2007 09:24:39 +0000 (09:24 +0000)
committerhche10x <hche10x@7335b38e-4728-0410-8992-fb3ffe349368>
Thu, 27 Dec 2007 09:24:39 +0000 (09:24 +0000)
2. Add a Model "MODEL_IDENTIFIER_PCD"
3. Add an API for Database.py to update field "BelongsToFunction" of Identifier table.

git-svn-id: https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools@933 7335b38e-4728-0410-8992-fb3ffe349368

Source/Python/Ecc/DataClass.py
Source/Python/Ecc/Database.py
Source/Python/Ecc/TableIdentifier.py [moved from Source/Python/Ecc/TableVariable.py with 56% similarity]

index f76f047..9231e69 100644 (file)
@@ -28,16 +28,17 @@ MODEL_FILE_DEC = 1012
 MODEL_FILE_DSC = 1013\r
 MODEL_FILE_DSC = 1014\r
 \r
-MODEL_VARIABLE_FILE_HEADER = 2001\r
-MODEL_VARIABLE_FUNCTION_HEADER = 2002\r
-MODEL_VARIABLE_COMMENT = 2003\r
-MODEL_VARIABLE_PARAMETER = 2004\r
-MODEL_VARIABLE_STRUCTURE = 2005\r
-MODEL_VARIABLE_VARIABLE = 2006\r
-MODEL_VARIABLE_INCLUDE = 2007\r
-MODEL_VARIABLE_MACRO = 2008\r
-MODEL_VARIABLE_PREDICATE_EXPRESSION = 2009\r
-MODEL_VARIABLE_ENUMERATE = 2010\r
+MODEL_IDENTIFIER_FILE_HEADER = 2001\r
+MODEL_IDENTIFIER_FUNCTION_HEADER = 2002\r
+MODEL_IDENTIFIER_COMMENT = 2003\r
+MODEL_IDENTIFIER_PARAMETER = 2004\r
+MODEL_IDENTIFIER_STRUCTURE = 2005\r
+MODEL_IDENTIFIER_IDENTIFIER = 2006\r
+MODEL_IDENTIFIER_INCLUDE = 2007\r
+MODEL_IDENTIFIER_MACRO = 2008\r
+MODEL_IDENTIFIER_PREDICATE_EXPRESSION = 2009\r
+MODEL_IDENTIFIER_ENUMERATE = 2010\r
+MODEL_IDENTIFIER_PCD = 2011\r
 \r
 MODEL_EFI_PROTOCOL = 3001\r
 MODEL_EFI_PPI = 3002\r
@@ -62,16 +63,17 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
               ('MODEL_FILE_DEC', MODEL_FILE_DEC),\r
               ('MODEL_FILE_DSC', MODEL_FILE_DSC),\r
               ('MODEL_FILE_DSC', MODEL_FILE_DSC),\r
-              ('MODEL_VARIABLE_FILE_HEADER', MODEL_VARIABLE_FILE_HEADER),\r
-              ('MODEL_VARIABLE_FUNCTION_HEADER', MODEL_VARIABLE_FUNCTION_HEADER),\r
-              ('MODEL_VARIABLE_COMMENT', MODEL_VARIABLE_COMMENT),\r
-              ('MODEL_VARIABLE_PARAMETER', MODEL_VARIABLE_PARAMETER),\r
-              ('MODEL_VARIABLE_STRUCTURE', MODEL_VARIABLE_STRUCTURE),\r
-              ('MODEL_VARIABLE_VARIABLE', MODEL_VARIABLE_VARIABLE),\r
-              ('MODEL_VARIABLE_INCLUDE', MODEL_VARIABLE_INCLUDE),\r
-              ('MODEL_VARIABLE_MACRO', MODEL_VARIABLE_MACRO),\r
-              ('MODEL_VARIABLE_PREDICATE_EXPRESSION', MODEL_VARIABLE_PREDICATE_EXPRESSION),\r
-              ('MODEL_VARIABLE_ENUMERATE', MODEL_VARIABLE_ENUMERATE),\r
+              ('MODEL_IDENTIFIER_FILE_HEADER', MODEL_IDENTIFIER_FILE_HEADER),\r
+              ('MODEL_IDENTIFIER_FUNCTION_HEADER', MODEL_IDENTIFIER_FUNCTION_HEADER),\r
+              ('MODEL_IDENTIFIER_COMMENT', MODEL_IDENTIFIER_COMMENT),\r
+              ('MODEL_IDENTIFIER_PARAMETER', MODEL_IDENTIFIER_PARAMETER),\r
+              ('MODEL_IDENTIFIER_STRUCTURE', MODEL_IDENTIFIER_STRUCTURE),\r
+              ('MODEL_IDENTIFIER_IDENTIFIER', MODEL_IDENTIFIER_IDENTIFIER),\r
+              ('MODEL_IDENTIFIER_INCLUDE', MODEL_IDENTIFIER_INCLUDE),\r
+              ('MODEL_IDENTIFIER_MACRO', MODEL_IDENTIFIER_MACRO),\r
+              ('MODEL_IDENTIFIER_PREDICATE_EXPRESSION', MODEL_IDENTIFIER_PREDICATE_EXPRESSION),\r
+              ('MODEL_IDENTIFIER_ENUMERATE', MODEL_IDENTIFIER_ENUMERATE),\r
+              ('MODEL_IDENTIFIER_PCD', MODEL_IDENTIFIER_PCD),\r
               ('MODEL_EFI_PROTOCOL', MODEL_EFI_PROTOCOL),\r
               ('MODEL_EFI_PPI', MODEL_EFI_PPI),\r
               ('MODEL_EFI_GUID', MODEL_EFI_GUID),\r
@@ -101,7 +103,7 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
 # @param EndLine:          EndLine of a Function\r
 # @param EndColumn:        EndColumn of a Function\r
 # @param BelongsToFile:    The Function belongs to which file\r
-# @param VariableList:     VariableList of a File\r
+# @param IdentifierList:   IdentifierList of a File\r
 # @param PcdList:          PcdList of a File\r
 #\r
 # @var ID:                 ID of a Function\r
@@ -114,11 +116,11 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
 # @var EndLine:            EndLine of a Function\r
 # @var EndColumn:          EndColumn of a Function\r
 # @var BelongsToFile:      The Function belongs to which file\r
-# @var VariableList:       VariableList of a File\r
+# @var IdentifierList:     IdentifierList of a File\r
 # @var PcdList:            PcdList of a File\r
 #\r
 class FunctionClass(object):\r
-    def __init__(self, ID = -1, Header = '', Modifier = '', Name = '', ReturnStatement = '', StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1, BelongsToFile = -1, VariableList = [], PcdList = []):\r
+    def __init__(self, ID = -1, Header = '', Modifier = '', Name = '', ReturnStatement = '', StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1, BelongsToFile = -1, IdentifierList = [], PcdList = []):\r
         self.ID = ID\r
         self.Header = Header\r
         self.Modifier = Modifier                    \r
@@ -130,40 +132,40 @@ class FunctionClass(object):
         self.EndColumn = EndColumn\r
         self.BelongsToFile = BelongsToFile\r
         \r
-        self.VariableList = VariableList\r
+        self.IdentifierList = IdentifierList\r
         self.PcdList = PcdList\r
 \r
-## VariableClass\r
+## IdentifierClass\r
 #\r
 # This class defines a structure of a variable\r
 # \r
-# @param ID:                 ID of a Variable\r
-# @param Modifier:           Modifier of a Variable\r
-# @param Type:               Type of a Variable\r
-# @param Name:               Name of a Variable\r
-# @param Value:              Value of a Variable\r
-# @param Model:              Model of a Variable\r
-# @param BelongsToFile:      The Variable belongs to which file\r
-# @param BelongsToFunction:  The Variable belongs to which function\r
-# @param StartLine:          StartLine of a Variable\r
-# @param StartColumn:        StartColumn of a Variable\r
-# @param EndLine:            EndLine of a Variable\r
-# @param EndColumn:          EndColumn of a Variable\r
+# @param ID:                 ID of a Identifier\r
+# @param Modifier:           Modifier of a Identifier\r
+# @param Type:               Type of a Identifier\r
+# @param Name:               Name of a Identifier\r
+# @param Value:              Value of a Identifier\r
+# @param Model:              Model of a Identifier\r
+# @param BelongsToFile:      The Identifier belongs to which file\r
+# @param BelongsToFunction:  The Identifier belongs to which function\r
+# @param StartLine:          StartLine of a Identifier\r
+# @param StartColumn:        StartColumn of a Identifier\r
+# @param EndLine:            EndLine of a Identifier\r
+# @param EndColumn:          EndColumn of a Identifier\r
 #\r
-# @var ID:                   ID of a Variable\r
-# @var Modifier:             Modifier of a Variable\r
-# @var Type:                 Type of a Variable\r
-# @var Name:                 Name of a Variable\r
-# @var Value:                Value of a Variable\r
-# @var Model:                Model of a Variable\r
-# @var BelongsToFile:        The Variable belongs to which file\r
-# @var BelongsToFunction:    The Variable belongs to which function\r
-# @var StartLine:            StartLine of a Variable\r
-# @var StartColumn:          StartColumn of a Variable\r
-# @var EndLine:              EndLine of a Variable\r
-# @var EndColumn:            EndColumn of a Variable\r
+# @var ID:                   ID of a Identifier\r
+# @var Modifier:             Modifier of a Identifier\r
+# @var Type:                 Type of a Identifier\r
+# @var Name:                 Name of a Identifier\r
+# @var Value:                Value of a Identifier\r
+# @var Model:                Model of a Identifier\r
+# @var BelongsToFile:        The Identifier belongs to which file\r
+# @var BelongsToFunction:    The Identifier belongs to which function\r
+# @var StartLine:            StartLine of a Identifier\r
+# @var StartColumn:          StartColumn of a Identifier\r
+# @var EndLine:              EndLine of a Identifier\r
+# @var EndColumn:            EndColumn of a Identifier\r
 #\r
-class VariableClass(object):\r
+class IdentifierClass(object):\r
     def __init__(self, ID = -1, Modifier = '', Type = '', Name = '', Value = '', Model = MODEL_UNKNOWN, BelongsToFile = -1, BelongsToFunction = -1, StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1):\r
         self.ID = ID\r
         self.Modifier = Modifier\r
@@ -226,28 +228,28 @@ class PcdClass(object):
 #\r
 # This class defines a structure of a file\r
 # \r
-# @param ID:            ID of a File\r
-# @param Name:          Name of a File\r
-# @param ExtName:       ExtName of a File\r
-# @param Path:          Path of a File\r
-# @param FullPath:      FullPath of a File\r
-# @param Model:         Model of a File\r
-# @param FunctionList:  FunctionList of a File\r
-# @param VariableList:  VariableList of a File\r
-# @param PcdList:       PcdList of a File\r
+# @param ID:              ID of a File\r
+# @param Name:            Name of a File\r
+# @param ExtName:         ExtName of a File\r
+# @param Path:            Path of a File\r
+# @param FullPath:        FullPath of a File\r
+# @param Model:           Model of a File\r
+# @param FunctionList:    FunctionList of a File\r
+# @param IdentifierList:  IdentifierList of a File\r
+# @param PcdList:         PcdList of a File\r
 #\r
-# @var ID:              ID of a File\r
-# @var Name:            Name of a File\r
-# @var ExtName:         ExtName of a File\r
-# @var Path:            Path of a File\r
-# @var FullPath:        FullPath of a File\r
-# @var Model:           Model of a File\r
-# @var FunctionList:    FunctionList of a File\r
-# @var VariableList:    VariableList of a File\r
-# @var PcdList:         PcdList of a File\r
+# @var ID:                ID of a File\r
+# @var Name:              Name of a File\r
+# @var ExtName:           ExtName of a File\r
+# @var Path:              Path of a File\r
+# @var FullPath:          FullPath of a File\r
+# @var Model:             Model of a File\r
+# @var FunctionList:      FunctionList of a File\r
+# @var IdentifierList:    IdentifierList of a File\r
+# @var PcdList:           PcdList of a File\r
 #\r
 class FileClass(object):\r
-    def __init__(self, ID = -1, Name = '', ExtName = '', Path = '', FullPath = '', Model = MODEL_UNKNOWN, FunctionList = [], VariableList = [], PcdList = []):\r
+    def __init__(self, ID = -1, Name = '', ExtName = '', Path = '', FullPath = '', Model = MODEL_UNKNOWN, FunctionList = [], IdentifierList = [], PcdList = []):\r
         self.ID = ID                                   \r
         self.Name = Name\r
         self.ExtName = ExtName                    \r
@@ -256,5 +258,5 @@ class FileClass(object):
         self.Model = Model\r
         \r
         self.FunctionList = FunctionList\r
-        self.VariableList = VariableList\r
+        self.IdentifierList = IdentifierList\r
         self.PcdList = PcdList\r
index f36427d..ae06b66 100644 (file)
@@ -20,7 +20,7 @@ from TableDataModel import TableDataModel
 from TableFile import TableFile\r
 from TableFunction import TableFunction\r
 from TablePcd import TablePcd\r
-from TableVariable import TableVariable\r
+from TableIdentifier import TableIdentifier\r
 import Common.EdkLogger as EdkLogger\r
 import DataClass\r
 \r
@@ -50,7 +50,7 @@ class Database(object):
         self.TblDataModel = TableDataModel(self.Cur)\r
         self.TblFile = TableFile(self.Cur)\r
         self.TblFunction = TableFunction(self.Cur)\r
-        self.TblVariable = TableVariable(self.Cur)\r
+        self.TblIdentifier = TableIdentifier(self.Cur)\r
         self.TblPcd = TablePcd(self.Cur)\r
     \r
     ## Initialize ECC database\r
@@ -68,7 +68,7 @@ class Database(object):
         self.TblFile.Drop()\r
         self.TblFunction.Drop()\r
         self.TblPcd.Drop()\r
-        self.TblVariable.Drop()\r
+        self.TblIdentifier.Drop()\r
         \r
         #\r
         # Create new tables\r
@@ -77,7 +77,7 @@ class Database(object):
         self.TblFile.Create()\r
         self.TblFunction.Create()\r
         self.TblPcd.Create()\r
-        self.TblVariable.Create()\r
+        self.TblIdentifier.Create()\r
         \r
         #\r
         # Initialize table DataModel\r
@@ -117,12 +117,12 @@ class Database(object):
             self.TblFunction.Insert(FunctionID, Function.Header, Function.Modifier, Function.Name, Function.ReturnStatement, \\r
                                     Function.StartLine, Function.StartColumn, Function.EndLine, Function.EndColumn, FileID)\r
             #\r
-            # Insert Variable of function\r
+            # Insert Identifier of function\r
             #\r
-            for Variable in Function.VariableList:\r
-                VariableID = self.TblVariable.GetCount() + 1\r
-                self.TblVariable.Insert(VariableID, Variable.Modifier, Variable.Type, Variable.Name, Variable.Value, Variable.Model, \\r
-                                        FileID, FunctionID, Variable.StartLine, Variable.StartColumn, Variable.EndLine, Variable.EndColumn)\r
+            for Identifier in Function.IdentifierList:\r
+                IdentifierID = self.TblIdentifier.GetCount() + 1\r
+                self.TblIdentifier.Insert(IdentifierID, Identifier.Modifier, Identifier.Type, Identifier.Name, Identifier.Value, Identifier.Model, \\r
+                                        FileID, FunctionID, Identifier.StartLine, Identifier.StartColumn, Identifier.EndLine, Identifier.EndColumn)\r
             #\r
             # Insert Pcd of function\r
             #\r
@@ -131,12 +131,12 @@ class Database(object):
                 self.TblPcd.Insert(PcdID, Pcd.CName, Pcd.TokenSpaceGuidCName, Pcd.Token, Pcd.DatumType, Pcd.Model, \\r
                                    FileID, FunctionID, Pcd.StartLine, Pcd.StartColumn, Pcd.EndLine, Pcd.EndColumn)\r
         #\r
-        # Insert Variable of file\r
+        # Insert Identifier of file\r
         #\r
-        for Variable in File.VariableList:\r
-            VariableID = self.TblVariable.GetCount() + 1\r
-            self.TblVariable.Insert(VariableID, Variable.Modifier, Variable.Type, Variable.Name, Variable.Value, Variable.Model, \\r
-                                    FileID, -1, Variable.StartLine, Variable.StartColumn, Variable.EndLine, Variable.EndColumn)\r
+        for Identifier in File.IdentifierList:\r
+            IdentifierID = self.TblIdentifier.GetCount() + 1\r
+            self.TblIdentifier.Insert(IdentifierID, Identifier.Modifier, Identifier.Type, Identifier.Name, Identifier.Value, Identifier.Model, \\r
+                                    FileID, -1, Identifier.StartLine, Identifier.StartColumn, Identifier.EndLine, Identifier.EndColumn)\r
         #\r
         # Insert Pcd of file\r
         #\r
@@ -147,6 +147,52 @@ class Database(object):
                 \r
         EdkLogger.verbose("Insert information of file %s ... DONE!" % File.FullPath)\r
 \r
+    ## UpdateIdentifierBelongsToFunction\r
+    #\r
+    # Update the field "BelongsToFunction" for each Indentifier\r
+    #\r
+    #\r
+    def UpdateIdentifierBelongsToFunction(self):\r
+        EdkLogger.verbose("Update 'BelongsToFunction' for Identifiers started ...")\r
+        \r
+        SqlCommand = """select ID, BelongsToFile, StartLine, EndLine, Model from Identifier"""\r
+        EdkLogger.debug(4, SqlCommand)\r
+        self.Cur.execute(SqlCommand)\r
+        Records = self.Cur.fetchall()\r
+        for Record in Records:\r
+            IdentifierID = Record[0]\r
+            BelongsToFile = Record[1]\r
+            StartLine = Record[2]\r
+            EndLine = Record[3]\r
+            Model = Record[4]\r
+\r
+            EdkLogger.debug(4, "For common identifiers ... ")\r
+            SqlCommand = """select ID from Function \r
+                        where StartLine < %s and EndLine > %s\r
+                        and BelongsToFile = %s""" % (StartLine, EndLine, BelongsToFile)\r
+            EdkLogger.debug(4, SqlCommand)\r
+            self.Cur.execute(SqlCommand)\r
+            IDs = self.Cur.fetchall()\r
+            for ID in IDs:\r
+                SqlCommand = """Update Identifier set BelongsToFunction = %s where ID = %s""" % (ID[0], IdentifierID)\r
+                EdkLogger.debug(4, SqlCommand)\r
+                self.Cur.execute(SqlCommand)\r
+            \r
+            EdkLogger.debug(4, "For function headers ... ") \r
+            if Model == DataClass.MODEL_IDENTIFIER_COMMENT:\r
+                SqlCommand = """select ID from Function \r
+                        where StartLine = %s + 1\r
+                        and BelongsToFile = %s""" % (EndLine, BelongsToFile)\r
+                EdkLogger.debug(4, SqlCommand)\r
+                self.Cur.execute(SqlCommand)\r
+                IDs = self.Cur.fetchall()\r
+                for ID in IDs:\r
+                    SqlCommand = """Update Identifier set BelongsToFunction = %s, Model = %s where ID = %s""" % (ID[0], DataClass.MODEL_IDENTIFIER_FUNCTION_HEADER, IdentifierID)\r
+                    EdkLogger.debug(4, SqlCommand)\r
+                    self.Cur.execute(SqlCommand)\r
+        \r
+        EdkLogger.verbose("Update 'BelongsToFunction' for Identifiers ... DONE")\r
+\r
 ##\r
 #\r
 # This acts like the main() function for the script, unless it is 'import'ed into another\r
@@ -156,7 +202,18 @@ if __name__ == '__main__':
     Db = Database(DATABASE_PATH)\r
     Db.InitDatabase()\r
     Db.QueryTable(Db.TblDataModel)\r
+    \r
+    identifier1 = DataClass.IdentifierClass(-1, '', '', 'i1', 'aaa', DataClass.MODEL_IDENTIFIER_COMMENT, 1, -1, 32,  43,  54,  43)\r
+    identifier2 = DataClass.IdentifierClass(-1, '', '', 'i1', 'aaa', DataClass.MODEL_IDENTIFIER_COMMENT, 1, -1, 15,  43,  20,  43)\r
+    identifier3 = DataClass.IdentifierClass(-1, '', '', 'i1', 'aaa', DataClass.MODEL_IDENTIFIER_COMMENT, 1, -1, 55,  43,  58,  43)\r
+    identifier4 = DataClass.IdentifierClass(-1, '', '', 'i1', 'aaa', DataClass.MODEL_IDENTIFIER_COMMENT, 1, -1, 77,  43,  88,  43)\r
+    fun1 = DataClass.FunctionClass(-1, '', '', 'fun1', '', 21, 2, 60,  45, 1, [], [])\r
+    file = DataClass.FileClass(-1, 'F1', 'c', 'C:\\', 'C:\\F1.exe', DataClass.MODEL_FILE_C, [fun1], [identifier1, identifier2, identifier3, identifier4], [])\r
+    Db.InsertOneFile(file)\r
+    Db.UpdateIdentifierBelongsToFunction()\r
+        \r
     Db.QueryTable(Db.TblFile)\r
     Db.QueryTable(Db.TblFunction)\r
     Db.QueryTable(Db.TblPcd)\r
-    Db.QueryTable(Db.TblVariable)\r
+    Db.QueryTable(Db.TblIdentifier)\r
+    
\ No newline at end of file
similarity index 56%
rename from Source/Python/Ecc/TableVariable.py
rename to Source/Python/Ecc/TableIdentifier.py
index 1dc2af9..f6b50a2 100644 (file)
@@ -1,5 +1,5 @@
 ## @file\r
-# This file is used to create/update/query/erase table for variables\r
+# This file is used to create/update/query/erase table for Identifiers\r
 #\r
 # Copyright (c) 2007, Intel Corporation\r
 # All rights reserved. This program and the accompanying materials\r
 import Common.EdkLogger as EdkLogger\r
 from Table import Table\r
 \r
-## TableVariable\r
+## TableIdentifier\r
 #\r
-# This class defined a table used for variable\r
+# This class defined a table used for Identifier\r
 # \r
 # @param object:       Inherited from object class\r
 #\r
 #\r
-class TableVariable(Table):\r
+class TableIdentifier(Table):\r
     def __init__(self, Cursor):\r
         self.Cur = Cursor\r
-        self.Table = 'Variable'\r
+        self.Table = 'Identifier'\r
     \r
     ## Create table\r
     #\r
-    # Create table Variable\r
+    # Create table Identifier\r
     #\r
-    # @param ID:                 ID of a Variable\r
-    # @param Modifier:           Modifier of a Variable\r
-    # @param Type:               Type of a Variable\r
-    # @param Name:               Name of a Variable\r
-    # @param Value:              Value of a Variable\r
-    # @param Model:              Model of a Variable\r
-    # @param BelongsToFile:      The Variable belongs to which file\r
-    # @param BelongsToFunction:  The Variable belongs to which function\r
-    # @param StartLine:          StartLine of a Variable\r
-    # @param StartColumn:        StartColumn of a Variable\r
-    # @param EndLine:            EndLine of a Variable\r
-    # @param EndColumn:          EndColumn of a Variable\r
+    # @param ID:                 ID of a Identifier\r
+    # @param Modifier:           Modifier of a Identifier\r
+    # @param Type:               Type of a Identifier\r
+    # @param Name:               Name of a Identifier\r
+    # @param Value:              Value of a Identifier\r
+    # @param Model:              Model of a Identifier\r
+    # @param BelongsToFile:      The Identifier belongs to which file\r
+    # @param BelongsToFunction:  The Identifier belongs to which function\r
+    # @param StartLine:          StartLine of a Identifier\r
+    # @param StartColumn:        StartColumn of a Identifier\r
+    # @param EndLine:            EndLine of a Identifier\r
+    # @param EndColumn:          EndColumn of a Identifier\r
     #\r
     def Create(self):\r
         SqlCommand = """create table IF NOT EXISTS %s(ID SINGLE PRIMARY KEY,\r
@@ -64,20 +64,20 @@ class TableVariable(Table):
 \r
     ## Insert table\r
     #\r
-    # Insert a record into table Variable\r
+    # Insert a record into table Identifier\r
     #\r
-    # @param ID:                 ID of a Variable\r
-    # @param Modifier:           Modifier of a Variable\r
-    # @param Type:               Type of a Variable\r
-    # @param Name:               Name of a Variable\r
-    # @param Value:              Value of a Variable\r
-    # @param Model:              Model of a Variable\r
-    # @param BelongsToFile:      The Variable belongs to which file\r
-    # @param BelongsToFunction:  The Variable belongs to which function\r
-    # @param StartLine:          StartLine of a Variable\r
-    # @param StartColumn:        StartColumn of a Variable\r
-    # @param EndLine:            EndLine of a Variable\r
-    # @param EndColumn:          EndColumn of a Variable\r
+    # @param ID:                 ID of a Identifier\r
+    # @param Modifier:           Modifier of a Identifier\r
+    # @param Type:               Type of a Identifier\r
+    # @param Name:               Name of a Identifier\r
+    # @param Value:              Value of a Identifier\r
+    # @param Model:              Model of a Identifier\r
+    # @param BelongsToFile:      The Identifier belongs to which file\r
+    # @param BelongsToFunction:  The Identifier belongs to which function\r
+    # @param StartLine:          StartLine of a Identifier\r
+    # @param StartColumn:        StartColumn of a Identifier\r
+    # @param EndLine:            EndLine of a Identifier\r
+    # @param EndColumn:          EndColumn of a Identifier\r
     #\r
     def Insert(self, ID, Modifier, Type, Name, Value, Model, BelongsToFile, BelongsToFunction, StartLine, StartColumn, EndLine, EndColumn):\r
         SqlCommand = """insert into %s values(%s, '%s', '%s', '%s', '%s', %s, %s, %s, %s, %s, %s, %s)""" \\r