1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
/*
* Copyright (C) 2004-2012 Geometer Plus <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include "NetworkDBQuery.h"
const std::string NetworkDBQuery::INIT_DATABASE = \
" CREATE TABLE IF NOT EXISTS Links( " \
" link_id INTEGER PRIMARY KEY, " \
" title TEXT NOT NULL, " \
" site_name TEXT NOT NULL, " \
" summary TEXT, " \
" language TEXT, " \
" predefined_id TEXT, " \
" is_enabled INTEGER " \
"); " \
" " \
"CREATE TABLE IF NOT EXISTS LinkUrls( " \
" key TEXT NOT NULL, " \
" link_id INTEGER NOT NULL REFERENCES Links(link_id), " \
" url TEXT, " \
" update_time INTEGER, " \
" CONSTRAINT LinkUrls_PK PRIMARY KEY (key, link_id) " \
"); ";
const std::string NetworkDBQuery::CLEAR_DATABASE = \
"DROP TABLE Links; " \
"DROP TABLE LinkUrls; ";
const std::string NetworkDBQuery::FIND_NETWORK_LINK_ID = "SELECT link_id, predefined_id FROM Links WHERE site_name = @site_name; ";
const std::string NetworkDBQuery::ADD_NETWORK_LINK = \
"INSERT INTO Links (title, site_name, summary, language, predefined_id, is_enabled) " \
" VALUES ( " \
" @title, " \
" @site_name, " \
" @summary, " \
" nullif(@language,\"\"), " \
" nullif(@predefined_id,\"\"), " \
" @is_enabled " \
" ); " \
" " \
"SELECT last_insert_rowid() AS link_id; ";
const std::string NetworkDBQuery::DELETE_NETWORK_LINK = \
"DELETE FROM Links WHERE link_id = @link_id; ";
const std::string NetworkDBQuery::UPDATE_NETWORK_LINK = \
"UPDATE Links SET " \
" title = @title, " \
" summary = @summary, " \
" language = nullif(@language,\"\"), " \
" predefined_id = nullif(@predefined_id,\"\"), " \
" is_enabled = @is_enabled " \
"WHERE " \
" link_id = @link_id; ";
const std::string NetworkDBQuery::ADD_NETWORK_LINKURL = \
"INSERT INTO LinkUrls (key, link_id, url, update_time) " \
" VALUES ( " \
" @key, " \
" @link_id, " \
" @url, " \
" @update_time " \
" ); ";
const std::string NetworkDBQuery::FIND_NETWORK_LINKURLS = "SELECT key, url, update_time FROM LinkUrls WHERE link_id = @link_id; ";
const std::string NetworkDBQuery::UPDATE_NETWORK_LINKURL = \
"UPDATE LinkUrls SET " \
" url = @url, " \
" update_time = @update_time " \
"WHERE " \
" link_id = @link_id AND key = @key; ";
const std::string NetworkDBQuery::DELETE_NETWORK_LINKURLS = \
"DELETE FROM LinkUrls " \
"WHERE " \
" link_id = @link_id; ";
const std::string NetworkDBQuery::DELETE_NETWORK_LINKURL = \
"DELETE FROM LinkUrls " \
"WHERE " \
" link_id = @link_id AND key = @key; ";
const std::string NetworkDBQuery::LOAD_NETWORK_LINKS = "SELECT link_id, title, site_name, summary, language, predefined_id, is_enabled FROM Links; ";
const std::string NetworkDBQuery::LOAD_NETWORK_LINKURLS = "SELECT key, url, update_time FROM LinkUrls WHERE link_id = @link_id; ";
|