-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDATABASE
51 lines (40 loc) · 975 Bytes
/
DATABASE
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
### Message Hash Version 1
__import__(hashlib).md5().hexdigest()
### Feed Hash Version 1
__import__(hashlib).md5(message.title+u"\u9256"+message.summary).hexdigest()
### DB Vesrion 1
CREATE TABLE meta (
version int);
INSERT INTO "meta" VALUES(1);
CREATE TABLE feeds (
id int PRIMARY KEY,
version int,
hash VARCHAR(32),
UNIQUE(version, hash)
);
CREATE TABLE messages (
feed int,
version int,
hash VARCHAR(32),
ctime DATETIME,
FOREIGN KEY(feed) REFERENCES feeds(id),
PRIMARY KEY(feed, version, hash));
### Feed Hash Version 0
hash(feed['url'])
### Message Hash Version 0
hash(message.title) ^ hash(message.summary)
### DB Version 0
CREATE TABLE feeds (
id int PRIMARY KEY,
version int,
hash int,
UNIQUE(version, hash)
);
CREATE TABLE messages (
feed int,
version int,
hash int,
ctime datetime,
FOREIGN KEY(feed) REFERENCES feeds(id),
PROMARY KEY(feed, version, hash)
);