git repos / oastat

commit 9ec6d75a

sago007 · 2012-01-14 16:49
9ec6d75af0ca800e4f8186d5f6c9000cf53b8103 patch · browse files
parent 9b4c0187fcffdf8370ac7e453393512c7e62fa73

A rather seriuos bug to the userinfo insert and a less importent change to the database that had a duplicate index


git-svn-id: http://oastat.googlecode.com/svn/trunk@37 a36be8df-c75f-1e49-46ad-4f0ee64bdc62

Changed files

M sql/create_tables/oastat_create_tables_common.sql before
M src/db/Db2DbiXX.cpp before
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),?)"