mirror_edk2/BaseTools/Source/Python
BobCF 2f818ed0fb BaseTools: Replace the sqlite database with list
https://bugzilla.tianocore.org/show_bug.cgi?id=1288

[V2]
Optimize this patch so that it can be easy to review.
This patch is just apply the change to original files while
not create new similar files.

[V1]
This patch is one of build tool performance improvement
series patches.

This patch is going to use python list to store the parser data
instead of using sqlite database.

The replacement solution is as below:

SQL insert: list.append()
SQL select: list comprehension. for example:
Select * from table where field = “something”
->
[ item for item in table if item[3] == “something”]

SQL update: python map function. for example:
Update table set field1=newvalue where filed2 = “something”.
-> map(lambda x: x[1] = newvalue,
   [item for item in table if item[2] == “something”])

SQL delete: list comprehension.

With this change, We can save the time of interpreting SQL statement
and the time of write database to file system

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: BobCF <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2018-12-07 10:23:07 +08:00
..
AutoGen BaseTools: AutoGen and GenFds share the parser data. 2018-12-07 10:12:05 +08:00
BPDG BaseTools: create and use a standard shared variable for '*' 2018-12-06 17:11:24 +08:00
build BaseTools: Replace the sqlite database with list 2018-12-07 10:23:07 +08:00
Capsule BaseTools/Capsule: Support capsules without a payload header 2018-08-02 14:35:29 -07:00
Common BaseTools: Enable Pcd Array support. 2018-12-07 09:59:36 +08:00
CommonDataClass BaseTools/GenFds: cleanup GenFds 2018-10-25 20:14:49 +08:00
Ecc BaseTools/Ecc: Update a checkpoint criteria. 2018-10-24 08:41:04 +08:00
Eot BaseTools: Move Identification file to Eot 2018-12-06 17:08:09 +08:00
GenFds BaseTools: Replace the sqlite database with list 2018-12-07 10:23:07 +08:00
GenPatchPcdTable Revert BaseTools: PYTHON3 migration 2018-10-15 08:29:14 +08:00
PatchPcdValue Revert BaseTools: PYTHON3 migration 2018-10-15 08:29:14 +08:00
Pkcs7Sign Revert BaseTools: PYTHON3 migration 2018-10-15 08:29:14 +08:00
Rsa2048Sha256Sign Revert BaseTools: PYTHON3 migration 2018-10-15 08:29:14 +08:00
Table Revert BaseTools: PYTHON3 migration 2018-10-15 08:29:14 +08:00
TargetTool Revert BaseTools: PYTHON3 migration 2018-10-15 08:29:14 +08:00
Trim Revert BaseTools: PYTHON3 migration 2018-10-15 08:29:14 +08:00
UPT BaseTools/UPT: Fix an issue of UNI string checking. 2018-10-24 08:41:05 +08:00
Workspace BaseTools: Replace the sqlite database with list 2018-12-07 10:23:07 +08:00
GNUmakefile Sync BaseTool trunk (version r2599) into EDKII BaseTools. 2013-08-23 02:18:16 +00:00
Makefile BaseTools: Remove the step to freeze python tool 2018-10-19 08:21:47 +08:00
sitecustomize.py BaseTools: Clean up source files 2018-07-09 10:25:47 +08:00