Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / xwalk / application / common / application_storage_constants.cc
1 // Copyright (c) 2013 Intel Corporation. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "xwalk/application/common/application_storage_constants.h"
6 #include "base/strings/stringprintf.h"
7
8 namespace xwalk {
9 namespace application_storage_constants {
10
11 const char kAppTableName[] = "applications";
12 const char kEventTableName[] = "registered_events";
13 const char kPermissionTableName[] = "stored_permissions";
14 const char kGarbageCollectionTableName[] = "garbage_collection";
15
16 const char kCreateAppTableOp[] =
17     "CREATE TABLE applications ("
18     "id TEXT NOT NULL UNIQUE PRIMARY KEY,"
19     "manifest TEXT NOT NULL,"
20     "path TEXT NOT NULL,"
21     "install_time REAL)";
22
23 const char kCreateEventTableOp[] =
24     "CREATE TABLE registered_events ("
25     "id TEXT NOT NULL,"
26     "event_names TEXT NOT NULL,"
27     "PRIMARY KEY (id),"
28     "FOREIGN KEY (id) REFERENCES applications(id)"
29     "ON DELETE CASCADE)";
30
31 const char kCreatePermissionTableOp[] =
32     "CREATE TABLE stored_permissions ("
33     "id TEXT NOT NULL,"
34     "permission_names TEXT NOT NULL,"
35     "PRIMARY KEY (id),"
36     "FOREIGN KEY (id) REFERENCES applications(id)"
37     "ON DELETE CASCADE)";
38
39 const char kCreateGarbageCollectionTableOp[] =
40     "CREATE TABLE garbage_collection ("
41     "app_id TEXT NOT NULL PRIMARY KEY)";
42
43 const char kCreateGarbageCollectionTriggersOp[] =
44     "CREATE TRIGGER IF NOT EXISTS add_garbage_app AFTER DELETE ON applications"
45     " BEGIN INSERT INTO garbage_collection VALUES (OLD.id); END;"
46     "CREATE TRIGGER IF NOT EXISTS del_garbage_app AFTER INSERT ON applications"
47     " BEGIN DELETE FROM garbage_collection WHERE app_id = NEW.id; END";
48
49 const char kGetAllRowsFromAppEventTableOp[] =
50     "SELECT A.id, A.manifest, A.path, A.install_time, "
51     "B.event_names, C.permission_names "
52     "FROM applications as A "
53     "LEFT JOIN registered_events as B "
54     "ON A.id = B.id "
55     "LEFT JOIN stored_permissions as C "
56     "ON A.id = C.id";
57
58 const char kSetApplicationWithBindOp[] =
59     "INSERT INTO applications (manifest, path, install_time, id) "
60     "VALUES (?,?,?,?)";
61
62 const char kUpdateApplicationWithBindOp[] =
63     "UPDATE applications SET manifest = ?, path = ?,"
64     "install_time = ? WHERE id = ?";
65
66 const char kDeleteApplicationWithBindOp[] =
67     "DELETE FROM applications WHERE id = ?";
68
69 const char kInsertEventsWithBindOp[] =
70     "INSERT INTO registered_events (event_names, id) "
71     "VALUES(?,?)";
72
73 const char kUpdateEventsWithBindOp[] =
74     "UPDATE registered_events SET event_names = ? WHERE id = ?";
75
76 const char kDeleteEventsWithBindOp[] =
77     "DELETE FROM registered_events WHERE id = ?";
78
79 const char kInsertPermissionsWithBindOp[] =
80     "INSERT INTO stored_permissions (permission_names, id) "
81     "VALUES(?,?)";
82
83 const char kUpdatePermissionsWithBindOp[] =
84     "UPDATE stored_permissions SET permission_names = ? WHERE id = ?";
85
86 const char kDeletePermissionsWithBindOp[] =
87     "DELETE FROM stored_permissions WHERE id = ?";
88
89 const char kGetAllRowsFromGarbageCollectionTableOp[] =
90     "SELECT app_id FROM garbage_collection";
91
92 const char kDeleteGarbageAppIdWithBindOp[] =
93     "DELETE FROM garbage_collection WHERE app_id = ?";
94
95 }  // namespace application_storage_constants
96 }  // namespace xwalk