diff --git a/sql/create_tables/oastat_create_tables_common.sql b/sql/create_tables/oastat_create_tables_common.sql index 4b43279..0925b69 100644 --- a/sql/create_tables/oastat_create_tables_common.sql +++ b/sql/create_tables/oastat_create_tables_common.sql @@ -128,9 +128,6 @@ CREATE TABLE oastat_config_gamevars2save ( ALTER TABLE oastat_games ADD CONSTRAINT oastat_duplet_check UNIQUE (time, servername); -ALTER TABLE oastat_players - ADD CONSTRAINT oastat_player_index UNIQUE (playerid); - ALTER TABLE oastat_userinfo ADD CONSTRAINT oastat_userinfo_second_limit UNIQUE (gamenumber,player,second); @@ -215,6 +212,7 @@ INSERT INTO oastat_config_gamevars2save (cvar) VALUES ('bot_minplayers'); -- default player for WORLD events: INSERT INTO oastat_players (guid,playerid,lastseen, isbot, model,headmodel,nickname) VALUES ('WORLD',-1,now(),'n','-','-','-'); +UPDATE oastat_players SET playerid = -1 WHERE guid = 'WORLD'; COMMIT; diff --git a/src/db/Db2DbiXX.cpp b/src/db/Db2DbiXX.cpp index 874e0da..9c09806 100644 --- a/src/db/Db2DbiXX.cpp +++ b/src/db/Db2DbiXX.cpp @@ -18,7 +18,7 @@ #define STARTGAME_LASTVALUE "INSERT INTO oastat_games(gametype, mapname, basegame,servername,time) VALUES (?,LOWER(?),?,?,?)" #define PLAYERSINSERT "INSERT INTO oastat_players(guid,nickname,lastseen,isBot, model, headmodel) VALUES (?,?,?,?,?,?)" #define PLAYERSUPDATE "UPDATE oastat_players SET nickname = ?,lastseen = ?,isBot = ?, model = ?, headmodel = ? WHERE guid = ? AND lastseen < ?" -#define USERINFOINSERT "INSERT INTO oastat_userinfo(gamenumber,second,player,team,model,skill) VALUES (?,?,COALESCE(SELECT playerid FROM oastat_players WHERE guid = ?),0),?,?,?)" +#define USERINFOINSERT "INSERT INTO oastat_userinfo(gamenumber,second,player,team,model,skill) VALUES (?,?,COALESCE((SELECT playerid FROM oastat_players WHERE guid = ?),0),?,?,?)" #define USERINFOUPDATE "UPDATE oastat_userinfo SET team = ?, model = ?, skill = ? WHERE gamenumber = ? AND second = ? AND player = COALESCE((SELECT playerid FROM oastat_players WHERE GUID = ?),0)" #define ENDGAME "UPDATE oastat_games SET second=? WHERE gamenumber = ?" #define KILL "INSERT INTO oastat_kills(gamenumber,second,attacker,target,modtype) VALUES(?,?,COALESCE((SELECT playerid FROM oastat_players WHERE guid = ?),0),COALESCE((SELECT playerid FROM oastat_players WHERE guid = ?),0),?)"