Comparison

plugins/mod_storage_sql2.lua @ 5891:b6a56934338c

mod_storage_sql2: Use MEDIUMTEXT fields for value columns (ie TEXT on non-MySQL)
author Kim Alvefur <zash@zash.se>
date Wed, 30 Oct 2013 14:33:15 +0100
parent 5884:9cb81a17ae23
child 5892:319ccceb1302
comparison
equal deleted inserted replaced
5890:544ca3d94596 5891:b6a56934338c
33 Column { name="host", type="TEXT", nullable=false }; 33 Column { name="host", type="TEXT", nullable=false };
34 Column { name="user", type="TEXT", nullable=false }; 34 Column { name="user", type="TEXT", nullable=false };
35 Column { name="store", type="TEXT", nullable=false }; 35 Column { name="store", type="TEXT", nullable=false };
36 Column { name="key", type="TEXT", nullable=false }; 36 Column { name="key", type="TEXT", nullable=false };
37 Column { name="type", type="TEXT", nullable=false }; 37 Column { name="type", type="TEXT", nullable=false };
38 Column { name="value", type="TEXT", nullable=false }; 38 Column { name="value", type="MEDIUMTEXT", nullable=false };
39 Index { name="prosody_index", "host", "user", "store", "key" }; 39 Index { name="prosody_index", "host", "user", "store", "key" };
40 }; 40 };
41 engine:transaction(function() 41 engine:transaction(function()
42 ProsodyTable:create(engine); 42 ProsodyTable:create(engine);
43 end);]] 43 end);]]
70 Column { name="store", type="TEXT", nullable=false }; 70 Column { name="store", type="TEXT", nullable=false };
71 Column { name="key", type="TEXT", nullable=false }; -- item id 71 Column { name="key", type="TEXT", nullable=false }; -- item id
72 Column { name="when", type="INTEGER", nullable=false }; -- timestamp 72 Column { name="when", type="INTEGER", nullable=false }; -- timestamp
73 Column { name="with", type="TEXT", nullable=false }; -- related id 73 Column { name="with", type="TEXT", nullable=false }; -- related id
74 Column { name="type", type="TEXT", nullable=false }; 74 Column { name="type", type="TEXT", nullable=false };
75 Column { name="value", type=params.driver == "MySQL" and "MEDIUMTEXT" or "TEXT", nullable=false }; 75 Column { name="value", type="MEDIUMTEXT", nullable=false };
76 Index { name="prosodyarchive_index", "host", "user", "store", "key" }; 76 Index { name="prosodyarchive_index", "host", "user", "store", "key" };
77 }; 77 };
78 engine:transaction(function() 78 engine:transaction(function()
79 ProsodyArchiveTable:create(engine); 79 ProsodyArchiveTable:create(engine);
80 end); 80 end);