db: rename call_implies to return_implies
[smatch.git] / smatch_data / db / reload_partial.sh
blob34cdb26ae7fcc2b93af654b6bcf30f1f6517cf56
1 #!/bin/bash
3 if echo $1 | grep -q '^-p' ; then
4 PROJ=$(echo $1 | cut -d = -f 2)
5 shift
6 fi
8 info_file=$1
10 if [[ "$info_file" = "" ]] ; then
11 echo "Usage: $0 -p=<project> <file with smatch messages>"
12 exit 1
15 bin_dir=$(dirname $0)
16 db_file=smatch_db.sqlite
18 files=$(grep "insert into caller_info" $info_file | cut -d : -f 1 | sort -u)
19 for c_file in $files; do
20 echo "FILE $c_file"
21 echo "delete from caller_info where file = '$c_file';" | sqlite3 $db_file
22 echo "delete from return_states where file = '$c_file';" | sqlite3 $db_file
23 echo "delete from call_implies where file = '$c_file';" | sqlite3 $db_file
24 echo "delete from return_implies where file = '$c_file';" | sqlite3 $db_file
25 done
27 tmp_file=$(mktemp)
29 grep "insert into caller_info" $info_file > $tmp_file
30 ${bin_dir}/fill_db_caller_info.pl "$PROJ" $tmp_file $db_file
32 grep "insert into return_states" $info_file > $tmp_file
33 ${bin_dir}/fill_db_sql.pl "$PROJ" $tmp_file $db_file
35 grep "insert into call_implies" $info_file > $tmp_file
36 ${bin_dir}/fill_db_sql.pl "$PROJ" $tmp_file $db_file
38 grep "insert into return_implies" $info_file > $tmp_file
39 ${bin_dir}/fill_db_sql.pl "$PROJ" $tmp_file $db_file
41 rm $tmp_file
43 ${bin_dir}/fixup_all.sh $db_file
44 if [ "$PROJ" != "" ] ; then
45 ${bin_dir}/fixup_${PROJ}.sh $db_file