Software /
code /
prosody
Comparison
tools/migration/migrator/prosody_sql.lua @ 7885:236b5a6154b2
Merge 0.10->trunk
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 04 Feb 2017 01:08:27 +0100 |
parent | 7359:a5a080c12c96 |
parent | 7881:4e3067272fae |
child | 8065:36d9c1226fbc |
comparison
equal
deleted
inserted
replaced
7878:2fdb7b3648d8 | 7885:236b5a6154b2 |
---|---|
13 | 13 |
14 if not have_DBI then | 14 if not have_DBI then |
15 error("LuaDBI (required for SQL support) was not found, please see https://prosody.im/doc/depends#luadbi", 0); | 15 error("LuaDBI (required for SQL support) was not found, please see https://prosody.im/doc/depends#luadbi", 0); |
16 end | 16 end |
17 | 17 |
18 module "prosody_sql" | |
19 | 18 |
20 local function create_table(connection, params) | 19 local function create_table(connection, params) |
21 local create_sql = "CREATE TABLE `prosody` (`host` TEXT, `user` TEXT, `store` TEXT, `key` TEXT, `type` TEXT, `value` TEXT);"; | 20 local create_sql = "CREATE TABLE `prosody` (`host` TEXT, `user` TEXT, `store` TEXT, `key` TEXT, `type` TEXT, `value` TEXT);"; |
22 if params.driver == "PostgreSQL" then | 21 if params.driver == "PostgreSQL" then |
23 create_sql = create_sql:gsub("`", "\""); | 22 create_sql = create_sql:gsub("`", "\""); |
108 end | 107 end |
109 end | 108 end |
110 return userdata; | 109 return userdata; |
111 end | 110 end |
112 | 111 |
113 function reader(input) | 112 local function reader(input) |
114 local dbh = assert(DBI.Connect( | 113 local dbh = assert(DBI.Connect( |
115 assert(input.driver, "no input.driver specified"), | 114 assert(input.driver, "no input.driver specified"), |
116 assert(input.database, "no input.database specified"), | 115 assert(input.database, "no input.database specified"), |
117 input.username, input.password, | 116 input.username, input.password, |
118 input.host, input.port | 117 input.host, input.port |
152 local x = iter(); | 151 local x = iter(); |
153 return x and decode_user(x); | 152 return x and decode_user(x); |
154 end; | 153 end; |
155 end | 154 end |
156 | 155 |
157 function writer(output, iter) | 156 local function writer(output, iter) |
158 local dbh = assert(DBI.Connect( | 157 local dbh = assert(DBI.Connect( |
159 assert(output.driver, "no output.driver specified"), | 158 assert(output.driver, "no output.driver specified"), |
160 assert(output.database, "no output.database specified"), | 159 assert(output.database, "no output.database specified"), |
161 output.username, output.password, | 160 output.username, output.password, |
162 output.host, output.port | 161 output.host, output.port |
195 end | 194 end |
196 end; | 195 end; |
197 end | 196 end |
198 | 197 |
199 | 198 |
200 return _M; | 199 return { |
200 reader = reader; | |
201 writer = writer; | |
202 } |