Comparison

plugins/mod_storage_sql2.lua @ 5734:49f1fed6e25e

mod_storage_sql2: Keep available store types in a table
author Kim Alvefur <zash@zash.se>
date Wed, 10 Jul 2013 13:18:10 +0200
parent 5733:aeeced7b0149
child 5735:24f4e73645fe
comparison
equal deleted inserted replaced
5733:aeeced7b0149 5734:49f1fed6e25e
215 end); 215 end);
216 if not ok then return ok, result end 216 if not ok then return ok, result end
217 return iterator(result); 217 return iterator(result);
218 end 218 end
219 219
220 local stores = {
221 keyval = keyval_store;
222 };
223
220 local driver = {}; 224 local driver = {};
221 225
222 function driver:open(store, typ) 226 function driver:open(store, typ)
223 if not typ then -- default key-value store 227 local store_mt = stores[typ or "keyval"];
224 return setmetatable({ store = store }, keyval_store); 228 if store_mt then
229 return setmetatable({ store = store }, store_mt);
225 end 230 end
226 return nil, "unsupported-store"; 231 return nil, "unsupported-store";
227 end 232 end
228 233
229 function driver:stores(username) 234 function driver:stores(username)