Software /
code /
prosody
Annotate
plugins/storage/ejabberd_init.lib.lua @ 3938:a3ecaf46bd82
util.pubsub: Add service-wide subscription tracking, and add :get_subscriptions()
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 22 Dec 2010 03:46:32 +0000 |
parent | 3415:5ba0e094a5e2 |
rev | line source |
---|---|
3415
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
1 |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
2 local t_concat = table.concat; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
3 local t_insert = table.insert; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
4 local pairs = pairs; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
5 local DBI = require "DBI"; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
6 |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
7 local sqlite = true; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
8 local q = {}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
9 |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
10 local function set(key, val) |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
11 -- t_insert(q, "SET "..key.."="..val..";\n") |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
12 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
13 local function create_table(name, fields) |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
14 t_insert(q, "CREATE TABLE ".."IF NOT EXISTS "..name.." (\n"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
15 for _, field in pairs(fields) do |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
16 t_insert(q, "\t"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
17 field = t_concat(field, " "); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
18 if sqlite then |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
19 if field:lower():match("^primary key *%(") then field = field:gsub("%(%d+%)", ""); end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
20 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
21 t_insert(q, field); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
22 if _ ~= #fields then t_insert(q, ",\n"); end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
23 t_insert(q, "\n"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
24 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
25 if sqlite then |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
26 t_insert(q, ");\n"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
27 else |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
28 t_insert(q, ") CHARACTER SET utf8;\n"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
29 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
30 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
31 local function create_index(name, index) |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
32 --t_insert(q, "CREATE INDEX "..name.." ON "..index..";\n"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
33 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
34 local function create_unique_index(name, index) |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
35 --t_insert(q, "CREATE UNIQUE INDEX "..name.." ON "..index..";\n"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
36 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
37 local function insert(target, value) |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
38 t_insert(q, "INSERT INTO "..target.."\nVALUES "..value..";\n"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
39 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
40 local function foreign_key(name, fkey, fname, fcol) |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
41 t_insert(q, "ALTER TABLE `"..name.."` ADD FOREIGN KEY (`"..fkey.."`) REFERENCES `"..fname.."` (`"..fcol.."`) ON DELETE CASCADE;\n"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
42 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
43 |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
44 function build_query() |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
45 q = {}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
46 set('table_type', 'InnoDB'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
47 create_table('hosts', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
48 {'clusterid','integer','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
49 {'host','varchar(250)','NOT','NULL','PRIMARY','KEY'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
50 {'config','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
51 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
52 insert("hosts (clusterid, host, config)", "(1, 'localhost', '')"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
53 create_table('users', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
54 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
55 {'username','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
56 {'password','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
57 {'created_at','timestamp','NOT','NULL','DEFAULT','CURRENT_TIMESTAMP'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
58 {'PRIMARY','KEY','(host, username)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
59 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
60 create_table('last', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
61 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
62 {'username','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
63 {'seconds','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
64 {'state','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
65 {'PRIMARY','KEY','(host, username)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
66 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
67 create_table('rosterusers', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
68 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
69 {'username','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
70 {'jid','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
71 {'nick','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
72 {'subscription','character(1)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
73 {'ask','character(1)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
74 {'askmessage','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
75 {'server','character(1)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
76 {'subscribe','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
77 {'type','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
78 {'created_at','timestamp','NOT','NULL','DEFAULT','CURRENT_TIMESTAMP'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
79 {'PRIMARY','KEY','(host(75), username(75), jid(75))'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
80 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
81 create_index('i_rosteru_username', 'rosterusers(username)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
82 create_index('i_rosteru_jid', 'rosterusers(jid)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
83 create_table('rostergroups', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
84 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
85 {'username','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
86 {'jid','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
87 {'grp','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
88 {'PRIMARY','KEY','(host(75), username(75), jid(75))'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
89 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
90 --[[create_table('spool', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
91 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
92 {'username','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
93 {'xml','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
94 {'seq','BIGINT','UNSIGNED','NOT','NULL','AUTO_INCREMENT','UNIQUE'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
95 {'created_at','timestamp','NOT','NULL','DEFAULT','CURRENT_TIMESTAMP'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
96 {'PRIMARY','KEY','(host, username, seq)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
97 });]] |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
98 create_table('vcard', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
99 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
100 {'username','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
101 {'vcard','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
102 {'created_at','timestamp','NOT','NULL','DEFAULT','CURRENT_TIMESTAMP'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
103 {'PRIMARY','KEY','(host, username)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
104 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
105 create_table('vcard_search', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
106 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
107 {'username','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
108 {'lusername','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
109 {'fn','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
110 {'lfn','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
111 {'family','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
112 {'lfamily','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
113 {'given','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
114 {'lgiven','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
115 {'middle','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
116 {'lmiddle','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
117 {'nickname','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
118 {'lnickname','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
119 {'bday','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
120 {'lbday','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
121 {'ctry','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
122 {'lctry','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
123 {'locality','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
124 {'llocality','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
125 {'email','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
126 {'lemail','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
127 {'orgname','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
128 {'lorgname','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
129 {'orgunit','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
130 {'lorgunit','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
131 {'PRIMARY','KEY','(host, lusername)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
132 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
133 create_index('i_vcard_search_lfn ', 'vcard_search(lfn)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
134 create_index('i_vcard_search_lfamily ', 'vcard_search(lfamily)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
135 create_index('i_vcard_search_lgiven ', 'vcard_search(lgiven)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
136 create_index('i_vcard_search_lmiddle ', 'vcard_search(lmiddle)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
137 create_index('i_vcard_search_lnickname', 'vcard_search(lnickname)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
138 create_index('i_vcard_search_lbday ', 'vcard_search(lbday)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
139 create_index('i_vcard_search_lctry ', 'vcard_search(lctry)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
140 create_index('i_vcard_search_llocality', 'vcard_search(llocality)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
141 create_index('i_vcard_search_lemail ', 'vcard_search(lemail)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
142 create_index('i_vcard_search_lorgname ', 'vcard_search(lorgname)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
143 create_index('i_vcard_search_lorgunit ', 'vcard_search(lorgunit)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
144 create_table('privacy_default_list', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
145 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
146 {'username','varchar(250)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
147 {'name','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
148 {'PRIMARY','KEY','(host, username)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
149 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
150 --[[create_table('privacy_list', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
151 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
152 {'username','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
153 {'name','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
154 {'id','BIGINT','UNSIGNED','NOT','NULL','AUTO_INCREMENT','UNIQUE'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
155 {'created_at','timestamp','NOT','NULL','DEFAULT','CURRENT_TIMESTAMP'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
156 {'PRIMARY','KEY','(host, username, name)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
157 });]] |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
158 create_table('privacy_list_data', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
159 {'id','bigint'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
160 {'t','character(1)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
161 {'value','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
162 {'action','character(1)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
163 {'ord','NUMERIC','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
164 {'match_all','boolean','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
165 {'match_iq','boolean','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
166 {'match_message','boolean','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
167 {'match_presence_in','boolean','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
168 {'match_presence_out','boolean','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
169 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
170 create_table('private_storage', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
171 {'host','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
172 {'username','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
173 {'namespace','varchar(250)','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
174 {'data','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
175 {'created_at','timestamp','NOT','NULL','DEFAULT','CURRENT_TIMESTAMP'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
176 {'PRIMARY','KEY','(host(75), username(75), namespace(75))'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
177 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
178 create_index('i_private_storage_username USING BTREE', 'private_storage(username)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
179 create_table('roster_version', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
180 {'username','varchar(250)','PRIMARY','KEY'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
181 {'version','text','NOT','NULL'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
182 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
183 --[[create_table('pubsub_node', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
184 {'host','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
185 {'node','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
186 {'parent','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
187 {'type','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
188 {'nodeid','bigint','auto_increment','primary','key'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
189 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
190 create_index('i_pubsub_node_parent', 'pubsub_node(parent(120))'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
191 create_unique_index('i_pubsub_node_tuple', 'pubsub_node(host(20), node(120))'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
192 create_table('pubsub_node_option', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
193 {'nodeid','bigint'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
194 {'name','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
195 {'val','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
196 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
197 create_index('i_pubsub_node_option_nodeid', 'pubsub_node_option(nodeid)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
198 foreign_key('pubsub_node_option', 'nodeid', 'pubsub_node', 'nodeid'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
199 create_table('pubsub_node_owner', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
200 {'nodeid','bigint'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
201 {'owner','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
202 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
203 create_index('i_pubsub_node_owner_nodeid', 'pubsub_node_owner(nodeid)'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
204 foreign_key('pubsub_node_owner', 'nodeid', 'pubsub_node', 'nodeid'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
205 create_table('pubsub_state', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
206 {'nodeid','bigint'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
207 {'jid','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
208 {'affiliation','character(1)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
209 {'subscriptions','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
210 {'stateid','bigint','auto_increment','primary','key'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
211 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
212 create_index('i_pubsub_state_jid', 'pubsub_state(jid(60))'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
213 create_unique_index('i_pubsub_state_tuple', 'pubsub_state(nodeid, jid(60))'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
214 foreign_key('pubsub_state', 'nodeid', 'pubsub_node', 'nodeid'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
215 create_table('pubsub_item', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
216 {'nodeid','bigint'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
217 {'itemid','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
218 {'publisher','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
219 {'creation','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
220 {'modification','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
221 {'payload','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
222 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
223 create_index('i_pubsub_item_itemid', 'pubsub_item(itemid(36))'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
224 create_unique_index('i_pubsub_item_tuple', 'pubsub_item(nodeid, itemid(36))'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
225 foreign_key('pubsub_item', 'nodeid', 'pubsub_node', 'nodeid'); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
226 create_table('pubsub_subscription_opt', { |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
227 {'subid','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
228 {'opt_name','varchar(32)'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
229 {'opt_value','text'}; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
230 }); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
231 create_unique_index('i_pubsub_subscription_opt', 'pubsub_subscription_opt(subid(32), opt_name(32))');]] |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
232 return t_concat(q); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
233 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
234 |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
235 local function init(dbh) |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
236 local q = build_query(); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
237 for statement in q:gmatch("[^;]*;") do |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
238 statement = statement:gsub("\n", ""):gsub("\t", " "); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
239 if sqlite then |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
240 statement = statement:gsub("AUTO_INCREMENT", "AUTOINCREMENT"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
241 statement = statement:gsub("auto_increment", "autoincrement"); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
242 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
243 local result, err = DBI.Do(dbh, statement); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
244 if not result then |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
245 print("X", result, err); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
246 print("Y", statement); |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
247 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
248 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
249 end |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
250 |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
251 local _M = { init = init }; |
5ba0e094a5e2
storage/mod_ejabberd (and associated library): Initial commit.
Waqas Hussain <waqas20@gmail.com>
parents:
diff
changeset
|
252 return _M; |