1CREATE TABLE IF NOT EXISTS rspamd
2(
3    Date Date,
4    TS DateTime,
5    From String,
6    MimeFrom String,
7    IP String,
8    Score Float64,
9    NRcpt UInt8,
10    Size UInt32,
11    IsWhitelist Enum8('blacklist' = 0, 'whitelist' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('blacklist' = 0, 'whitelist' = 1, 'unknown' = 2)),
12    IsBayes Enum8('ham' = 0, 'spam' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('ham' = 0, 'spam' = 1, 'unknown' = 2)),
13    IsFuzzy Enum8('whitelist' = 0, 'deny' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('whitelist' = 0, 'deny' = 1, 'unknown' = 2)),
14    IsFann Enum8('ham' = 0, 'spam' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('ham' = 0, 'spam' = 1, 'unknown' = 2)),
15    IsDkim Enum8('reject' = 0, 'allow' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('reject' = 0, 'allow' = 1, 'unknown' = 2)),
16    IsDmarc Enum8('reject' = 0, 'allow' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('reject' = 0, 'allow' = 1, 'unknown' = 2)),
17    NUrls Int32,
18    Action Enum8('reject' = 0, 'rewrite subject' = 1, 'add header' = 2, 'greylist' = 3, 'no action' = 4, 'soft reject' = 5) DEFAULT CAST('no action' AS Enum8('reject' = 0, 'rewrite subject' = 1, 'add header' = 2, 'greylist' = 3, 'no action' = 4, 'soft reject' = 5)),
19    FromUser String,
20    MimeUser String,
21    RcptUser String,
22    RcptDomain String,
23    ListId String,
24    Digest FixedString(32)
25) ENGINE = MergeTree(Date, (TS, From), 8192);
26
27
28CREATE TABLE IF NOT EXISTS rspamd_attachments (
29    Date Date,
30    Digest FixedString(32),
31    `Attachments.FileName` Array(String),
32    `Attachments.ContentType` Array(String),
33    `Attachments.Length` Array(UInt32),
34    `Attachments.Digest` Array(FixedString(16))
35) ENGINE = MergeTree(Date, Digest, 8192);
36
37
38CREATE TABLE IF NOT EXISTS rspamd_urls (
39    Date Date,
40    Digest FixedString(32),
41    `Urls.Tld` Array(String),
42    `Urls.Url` Array(String)
43) ENGINE = MergeTree(Date, Digest, 8192);
44
45
46CREATE TABLE IF NOT EXISTS rspamd_emails (
47    Date Date,
48    Digest FixedString(32),
49    Emails Array(String)
50) ENGINE = MergeTree(Date, Digest, 8192);
51
52
53CREATE TABLE IF NOT EXISTS rspamd_asn (
54    Date Date,
55    Digest FixedString(32),
56    ASN String,
57    Country FixedString(2),
58    IPNet String
59) ENGINE = MergeTree(Date, Digest, 8192);
60
61
62CREATE TABLE IF NOT EXISTS rspamd_symbols (
63    Date Date,
64    Digest FixedString(32),
65    `Symbols.Names` Array(String),
66    `Symbols.Scores` Array(Float64),
67    `Symbols.Options` Array(String)
68) ENGINE = MergeTree(Date, Digest, 8192);
69
70
71