From 8a80110435df4e5f99956486ea3fb85df337f462 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Fri, 12 Jul 2013 01:34:38 +0200 Subject: mod_storage_sql2: Create an additional table `prosodyarchive` for chronological collections --- plugins/mod_storage_sql2.lua | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'plugins/mod_storage_sql2.lua') diff --git a/plugins/mod_storage_sql2.lua b/plugins/mod_storage_sql2.lua index 8081c0f9..4f6f7f04 100644 --- a/plugins/mod_storage_sql2.lua +++ b/plugins/mod_storage_sql2.lua @@ -23,7 +23,8 @@ local params = module:get_option("sql"); local engine; -- TODO create engine local function create_table() - --[[local Table,Column,Index = mod_sql.Table,mod_sql.Column,mod_sql.Index; + local Table,Column,Index = mod_sql.Table,mod_sql.Column,mod_sql.Index; + --[[ local ProsodyTable = Table { name="prosody"; Column { name="host", type="TEXT", nullable=false }; @@ -78,6 +79,22 @@ local function create_table() end end end + local ProsodyArchiveTable = Table { + name="prosodyarchive"; + Column { name="sort_id", type="INTEGER PRIMARY KEY AUTOINCREMENT", nullable=false }; + Column { name="host", type="TEXT", nullable=false }; + Column { name="user", type="TEXT", nullable=false }; + Column { name="store", type="TEXT", nullable=false }; + Column { name="key", type="TEXT", nullable=false }; -- item id + Column { name="when", type="INTEGER", nullable=false }; -- timestamp + Column { name="with", type="TEXT", nullable=false }; -- related id + Column { name="type", type="TEXT", nullable=false }; + Column { name="value", type=params.driver == "MySQL" and "MEDIUMTEXT" or "TEXT", nullable=false }; + Index { name="prosodyarchive_index", "host", "user", "store", "key" }; + }; + engine:transaction(function() + ProsodyArchiveTable:create(engine); + end); end local function set_encoding() if params.driver ~= "SQLite3" then -- cgit v1.2.3