Skip to content

Commit 5154e5c

Browse files
Update Syntax
Update SQL syntax to support MySQL below 8.0.19 and MariaDB. The ``AS tbl`` for inserts has only been implemented with MySQL 8.0.19 and thus does not support any prior version or MariaDB. https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html
1 parent 2ff81e0 commit 5154e5c

File tree

2 files changed

+19
-16
lines changed

2 files changed

+19
-16
lines changed

lua/msync/server/modules/sv_mbsync.lua

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ MSync.modules[info.ModuleIdentifier].init = function( transaction )
7171
MODIFY `length_unix` INT UNSIGNED NOT NULL;
7272
]]))
7373
updates:addQuery( MSync.DBServer:query([[
74-
INSERT INTO tbl_msyncdb_version (version, module_id) VALUES (1, 'MBSync') AS newVersion
75-
ON DUPLICATE KEY UPDATE version=newVersion.version;
74+
INSERT INTO tbl_msyncdb_version (version, module_id) VALUES (1, 'MBSync')
75+
ON DUPLICATE KEY UPDATE version=1;
7676
]]))
7777
updates:start()
7878
else
@@ -88,8 +88,8 @@ MSync.modules[info.ModuleIdentifier].init = function( transaction )
8888
]]))
8989

9090
updates:addQuery( MSync.DBServer:query([[
91-
INSERT INTO tbl_msyncdb_version (version, module_id) VALUES (1, 'MBSync') AS newVersion
92-
ON DUPLICATE KEY UPDATE version=newVersion.version;
91+
INSERT INTO tbl_msyncdb_version (version, module_id) VALUES (1, 'MBSync')
92+
ON DUPLICATE KEY UPDATE version=1;
9393
]]))
9494
updates:start()
9595
end
@@ -690,8 +690,8 @@ MSync.modules[info.ModuleIdentifier].init = function( transaction )
690690
]]
691691
transactions[k..'_user'] = MSync.DBServer:prepare( [[
692692
INSERT INTO `tbl_users` (steamid, steamid64, nickname, joined)
693-
VALUES (?, ?, ?, ?) AS newUser
694-
ON DUPLICATE KEY UPDATE steamid=newUser.steamid;
693+
SELECT * FROM (SELECT ? AS steamid, ? AS steamid64, ? AS newNick, ? AS joined) AS dataQuery
694+
ON DUPLICATE KEY UPDATE steamid=newNick;
695695
]] )
696696
transactions[k..'_user']:setString(1, k)
697697
transactions[k..'_user']:setString(2, util.SteamIDTo64( k ))

lua/msync/server/sv_mysql.lua

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ function MSync.mysql.initialize()
4444
]] ))
4545

4646
initDatabase:addQuery(MSync.DBServer:query( [[
47-
INSERT INTO `tbl_server_grp` (group_name) VALUES ('allservers') AS newGroup
48-
ON DUPLICATE KEY UPDATE group_name=newGroup.group_name;
47+
INSERT INTO `tbl_server_grp` (group_name)
48+
SELECT * FROM (SELECT 'allservers' AS newGroup) AS dataQuery
49+
ON DUPLICATE KEY UPDATE group_name=newGroup;
4950
]] ))
5051

5152
initDatabase:addQuery(MSync.DBServer:query( [[
@@ -74,8 +75,9 @@ function MSync.mysql.initialize()
7475
]] ))
7576

7677
initDatabase:addQuery(MSync.DBServer:query( [[
77-
INSERT INTO `tbl_users` (steamid, steamid64, nickname, joined) VALUES ('STEAM_0:0:0', '76561197960265728', '(CONSOLE)', '2004-12-24 12:00:00') AS newUser
78-
ON DUPLICATE KEY UPDATE nickname=newUser.nickname;
78+
INSERT INTO `tbl_users` (steamid, steamid64, nickname, joined)
79+
SELECT * FROM (SELECT 'STEAM_0:0:0', '76561197960265728', '(CONSOLE)' AS newUser, '2004-12-24 12:00:00') AS dataQuery
80+
ON DUPLICATE KEY UPDATE nickname=newUser;
7981
]] ))
8082

8183
function initDatabase.onSuccess()
@@ -115,8 +117,8 @@ function MSync.mysql.addUser(ply)
115117

116118
local addUserQ = MSync.DBServer:prepare( [[
117119
INSERT INTO `tbl_users` (steamid, steamid64, nickname, joined)
118-
VALUES (?, ?, ?, ?) AS newUser
119-
ON DUPLICATE KEY UPDATE nickname=newUser.nickname;
120+
SELECT * FROM (SELECT ? AS steamid, ? AS steamid64, ? AS newNick, ? AS joined) AS dataQuery
121+
ON DUPLICATE KEY UPDATE nickname=newNick;
120122
]] )
121123

122124
local nickname = ply:Nick()
@@ -156,8 +158,8 @@ function MSync.mysql.addUserID(steamid, nickname)
156158

157159
local addUserQ = MSync.DBServer:prepare( [[
158160
INSERT INTO `tbl_users` (steamid, steamid64, nickname, joined)
159-
VALUES (?, ?, ?, ?) AS newUser
160-
ON DUPLICATE KEY UPDATE nickname=newUser.nickname;
161+
SELECT * FROM (SELECT ? AS steamid, ? AS steamid64, ? AS newNick, ? AS joined) AS dataQuery
162+
ON DUPLICATE KEY UPDATE nickname=newNick;
161163
]] )
162164

163165
if string.len(nickname) > 30 then
@@ -198,8 +200,9 @@ end
198200
function MSync.mysql.saveServer()
199201

200202
local addServerGroup = MSync.DBServer:prepare( [[
201-
INSERT INTO `tbl_server_grp` (group_name) VALUES (?) AS newGroup
202-
ON DUPLICATE KEY UPDATE group_name=newGroup.group_name;
203+
INSERT INTO `tbl_server_grp` (group_name)
204+
SELECT * FROM (SELECT ? AS newGroup) AS dataQuery
205+
ON DUPLICATE KEY UPDATE group_name=newGroup;
203206
]] )
204207
addServerGroup:setString(1, MSync.settings.data.serverGroup)
205208

0 commit comments

Comments
 (0)