Fix memory leak
[platform/core/appfw/badge.git] / scripts / 506.badge_upgrade.sh
1 #!/bin/sh
2
3 #------------------------------------------#
4 # badge patch for upgrade (2.4 -> 3.0) #
5 #------------------------------------------#
6
7 # Macro
8 PATH=/bin:/usr/bin:/sbin:/usr/sbin
9
10 DB_DIR=/opt/dbspace
11 DB_BADGE=$DB_DIR/.badge.db
12
13 sqlite3 $DB_BADGE << EOF
14
15 DROP TABLE IF EXISTS badge_data_temp;
16
17 CREATE TABLE badge_data_temp (
18     uid INTEGER,
19     pkgname TEXT NOT NULL,
20     writable_pkgs TEXT,
21     badge INTEGER default 0,
22     rowid INTEGER PRIMARY KEY AUTOINCREMENT,
23     UNIQUE (uid, pkgname)
24 );
25
26 INSERT INTO badge_data_temp (pkgname, writable_pkgs, badge, rowid) SELECT pkgname, writable_pkgs, badge, rowid FROM badge_data;
27 UPDATE badge_data_temp SET uid=5001;
28 DROP TABLE badge_data;
29 ALTER TABLE badge_data_temp RENAME TO badge_data;
30
31 DROP TABLE IF EXISTS badge_option_temp;
32
33 CREATE TABLE badge_option_temp (
34     uid INTEGER,
35     pkgname TEXT NOT NULL,
36     display INTEGER default 1,
37     UNIQUE (uid, pkgname)
38 );
39
40 INSERT INTO badge_option_temp (pkgname, display) SELECT pkgname, display FROM badge_option;
41 UPDATE badge_option_temp SET uid=5001;
42 DROP TABLE badge_option;
43 ALTER TABLE badge_option_temp RENAME TO badge_option;
44
45 EOF
46
47 chown app_fw:app_fw $DB_BADGE
48 chown app_fw:app_fw $DB_BADGE-journal
49
50 chsmack -a System $DB_BADGE
51 chsmack -a System $DB_BADGE-journal