]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Specify clickhouse schema
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 23 Nov 2016 13:21:23 +0000 (13:21 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 23 Nov 2016 13:21:23 +0000 (13:21 +0000)
src/plugins/lua/clickhouse.lua

index 659c5d5db584ac78707b6b8c7a300f4037cb4c67..ec5df74b546b6f4ac7b5ba0ab419e644a66e0973 100644 (file)
@@ -44,6 +44,52 @@ local settings = {
   from_tables = nil
 }
 
+--[[
+Clickhouse schema:
+
+CREATE TABLE rspamd
+(
+    Date Date,
+    TS DateTime,
+    From String,
+    MimeFrom String,
+    IP String,
+    Score Float64,
+    NRcpt UInt8,
+    Size UInt32,
+    IsWhitelist Enum8('blacklist' = 0, 'whitelist' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('blacklist' = 0, 'whitelist' = 1, 'unknown' = 2)),
+    IsBayes Enum8('ham' = 0, 'spam' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('ham' = 0, 'spam' = 1, 'unknown' = 2)),
+    IsFuzzy Enum8('whitelist' = 0, 'deny' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('whitelist' = 0, 'deny' = 1, 'unknown' = 2)),
+    IsFann Enum8('ham' = 0, 'spam' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('ham' = 0, 'spam' = 1, 'unknown' = 2)),
+    IsDkim Enum8('reject' = 0, 'allow' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('reject' = 0, 'allow' = 1, 'unknown' = 2)),
+    IsDmarc Enum8('reject' = 0, 'allow' = 1, 'unknown' = 2) DEFAULT CAST('unknown' AS Enum8('reject' = 0, 'allow' = 1, 'unknown' = 2)),
+    NUrls Int32,
+    Action Enum8('reject' = 0, 'rewrite subject' = 1, 'add header' = 2, 'greylist' = 3, 'no action' = 4) DEFAULT CAST('no action' AS Enum8('reject' = 0, 'rewrite subject' = 1, 'add header' = 2, 'greylist' = 3, 'no action' = 4)),
+    FromUser String,
+    MimeUser String,
+    RcptUser String,
+    RcptDomain String,
+    ListId String,
+    Digest FixedString(32)
+) ENGINE = MergeTree(Date, (TS, From), 8192)
+
+CREATE TABLE rspamd_attachments (
+    Date Date,
+    Digest FixedString(32),
+    `Attachments.FileName` Array(String),
+    `Attachments.ContentType` Array(String),
+    `Attachments.Length` Array(UInt32),
+    `Attachments.Digest` Array(FixedString(16))
+) ENGINE = MergeTree(Date, Digest, 8192)
+
+CREATE TABLE rspamd_urls (
+    Date Date,
+    Digest FixedString(32),
+    `Urls.Tld` Array(String),
+    `Urls.Url` Array(String)
+) ENGINE = MergeTree(Date, Digest, 8192)
+]]
+
 local function clickhouse_main_row(tname)
   local fields = {
     'Date',