commit 9ec6d75a
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),?)"