db: use hashes instead of file names
commit5b2bb66de6adc7f7f1dc4e8676ec3a4b9443db55
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 6 Oct 2022 05:05:14 +0000 (6 08:05 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Thu, 6 Oct 2022 05:05:14 +0000 (6 08:05 +0300)
treee355f70f727912fbfabb50a25d759c28e2ca22b2
parentf6de8b7aeeea561041eebb4d45ebafcb588c480e
db: use hashes instead of file names

It turns out that probably 40% of the database is just file names.  On my
system the DB is 40GB so that's a lot of data which can be saved.  It takes
me about 5 hours to create the DB so it can end up taking until 9am to do
a test.

This change makes the DB slightly more complicated to work with but it's
definitely worth it because of all the time it saves.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
26 files changed:
smatch.h
smatch_data/db/build_early_index.sh
smatch_data/db/call_implies.schema
smatch_data/db/caller_info.schema
smatch_data/db/common_caller_info.schema
smatch_data/db/data_info.schema
smatch_data/db/fn_data_link.schema
smatch_data/db/function_ptr.schema
smatch_data/db/function_type.schema
smatch_data/db/function_type_info.schema
smatch_data/db/function_type_size.schema
smatch_data/db/function_type_value.schema
smatch_data/db/hash_string.schema [new file with mode: 0644]
smatch_data/db/local_values.schema
smatch_data/db/mtag_about.schema
smatch_data/db/mtag_info.schema
smatch_data/db/param_map.schema
smatch_data/db/parameter_name.schema
smatch_data/db/return_implies.schema
smatch_data/db/return_states.schema
smatch_data/db/sink_info.schema
smatch_data/db/smdb.py
smatch_data/db/type_info.schema
smatch_db.c
smatch_mtag.c
smatch_type_val.c