diff options
author | Kim Alvefur <zash@zash.se> | 2017-04-10 23:13:39 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2017-04-10 23:13:39 +0200 |
commit | 91baabfede04fcead2849a35d71a706c9042d074 (patch) | |
tree | 4c368faaa74b2fdebb88865b92cb8a2d7a2ae7f7 /tools | |
parent | d8b1435c70a092455c19d5bef1bd340f0cbd4d70 (diff) | |
download | prosody-91baabfede04fcead2849a35d71a706c9042d074.tar.gz prosody-91baabfede04fcead2849a35d71a706c9042d074.zip |
SQL: Use standard quotes for columns and other identifiers, rewrite to grave accents for MySQL only (fixes #885)
Diffstat (limited to 'tools')
-rw-r--r-- | tools/migration/migrator/prosody_sql.lua | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/migration/migrator/prosody_sql.lua b/tools/migration/migrator/prosody_sql.lua index 642b74c2..2e902fbb 100644 --- a/tools/migration/migrator/prosody_sql.lua +++ b/tools/migration/migrator/prosody_sql.lua @@ -92,9 +92,9 @@ local function needs_upgrade(engine, params) -- COMPAT w/pre-0.10: Upgrade table to UTF-8 if not already local check_encoding_query = [[ - SELECT `COLUMN_NAME`,`COLUMN_TYPE`,`TABLE_NAME` - FROM `information_schema`.`columns` - WHERE `TABLE_NAME` LIKE 'prosody%%' AND ( `CHARACTER_SET_NAME`!='%s' OR `COLLATION_NAME`!='%s_bin' ); + SELECT "COLUMN_NAME","COLUMN_TYPE","TABLE_NAME" + FROM "information_schema"."columns" + WHERE "TABLE_NAME" LIKE 'prosody%%' AND ( "CHARACTER_SET_NAME"!='%s' OR "COLLATION_NAME"!='%s_bin' ); ]]; check_encoding_query = check_encoding_query:format(engine.charset, engine.charset); local result = engine:execute(check_encoding_query); @@ -116,7 +116,7 @@ local function reader(input) end)); local keys = {"host", "user", "store", "key", "type", "value"}; assert(engine:connect()); - local f,s,val = assert(engine:select("SELECT `host`, `user`, `store`, `key`, `type`, `value` FROM `prosody`;")); + local f,s,val = assert(engine:select("SELECT \"host\", \"user\", \"store\", \"key\", \"type\", \"value\" FROM \"prosody\";")); -- get SQL rows, sorted local iter = mtools.sorted { reader = function() val = f(s, val); return val; end; @@ -157,8 +157,8 @@ local function writer(output, iter) create_table(engine); end)); assert(engine:connect()); - assert(engine:delete("DELETE FROM prosody")); - local insert_sql = "INSERT INTO `prosody` (`host`,`user`,`store`,`key`,`type`,`value`) VALUES (?,?,?,?,?,?)"; + assert(engine:delete("DELETE FROM \"prosody\"")); + local insert_sql = "INSERT INTO \"prosody\" (\"host\",\"user\",\"store\",\"key\",\"type\",\"value\") VALUES (?,?,?,?,?,?)"; return function(item) if not item then assert(engine.conn:commit()) return end -- end of input |