From efa30c87f500375dc3823144b29e923081dde245 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Wed, 23 Nov 2016 13:21:23 +0000 Subject: [PATCH] [Minor] Specify clickhouse schema --- src/plugins/lua/clickhouse.lua | 46 ++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/src/plugins/lua/clickhouse.lua b/src/plugins/lua/clickhouse.lua index 659c5d5db..ec5df74b5 100644 --- a/src/plugins/lua/clickhouse.lua +++ b/src/plugins/lua/clickhouse.lua @@ -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', -- 2.39.5