diff --git a/sql/create_tables/oastat_create_tables_common.sql b/sql/create_tables/oastat_create_tables_common.sql index 8b8f377..97b6922 100644 --- a/sql/create_tables/oastat_create_tables_common.sql +++ b/sql/create_tables/oastat_create_tables_common.sql @@ -22,8 +22,8 @@ CREATE TABLE oastat_team_events ( team integer, amount integer DEFAULT 1, gametype character varying(20) NOT NULL, - player character varying(64), - player2 character varying(64), + player bigint, + player2 bigint, eventtype integer NOT NULL, generic1 integer ); @@ -33,7 +33,7 @@ CREATE TABLE oastat_team_events ( CREATE TABLE oastat_challenges ( eventnumber SERIAL PRIMARY KEY, gamenumber bigint NOT NULL, - player character varying(64) NOT NULL, + player bigint NOT NULL, challenge integer NOT NULL, amount integer DEFAULT 1 NOT NULL ); @@ -64,7 +64,7 @@ CREATE TABLE oastat_kills ( gamenumber bigint NOT NULL, second integer NOT NULL, attacker character varying(64) NOT NULL, - target character varying(64) NOT NULL, + target bigint NOT NULL, modtype integer NOT NULL ); @@ -83,7 +83,7 @@ CREATE TABLE oastat_players ( CREATE TABLE oastat_points ( eventnumber SERIAL PRIMARY KEY, - player character varying(64) NOT NULL, + player bigint NOT NULL, second integer NOT NULL, score integer NOT NULL, gamenumber bigint NOT NULL @@ -94,7 +94,7 @@ CREATE TABLE oastat_points ( CREATE TABLE oastat_userinfo ( eventNumber SERIAL PRIMARY KEY, gamenumber bigint NOT NULL, - guid character varying(64) NOT NULL, + player bigint NOT NULL, team integer, model character varying(64) NOT NULL, skill integer, diff --git a/src/db/Db2DbiXX.cpp b/src/db/Db2DbiXX.cpp index 3bb4e5b..34b15a0 100644 --- a/src/db/Db2DbiXX.cpp +++ b/src/db/Db2DbiXX.cpp @@ -18,16 +18,16 @@ #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,guid,team,model,skill) VALUES (?,?,?,?,?,?)" +#define USERINFOINSERT "INSERT INTO oastat_userinfo(gamenumber,second,player,team,model,skill) VALUES (?,?,(SELECT playerid FROM oastat_players WHERE guid = ?),?,?,?)" #define ENDGAME "UPDATE oastat_games SET second=? WHERE gamenumber = ?" -#define KILL "INSERT INTO oastat_kills(gamenumber,second,attacker,target,modtype) VALUES(?,?,?,?,?)" -#define AWARD "INSERT INTO oastat_awards(gamenumber,second,player,award) VALUES (?,?,?,?)" -#define POINT "INSERT INTO oastat_points(gamenumber,second,player,score) VALUES (?,?,?,?)" -#define CTF "INSERT INTO oastat_team_events(gamenumber,second,team,player,gametype,eventtype) VALUES (?,?,?,?,'ctf',?)" -#define CTF1F "INSERT INTO oastat_team_events(gamenumber,second,team,player,gametype,eventtype) VALUES (?,?,?,?,'1fctf',?)" +#define KILL "INSERT INTO oastat_kills(gamenumber,second,attacker,target,modtype) VALUES(?,?,?,(SELECT playerid FROM oastat_players WHERE guid = ?),?)" +#define AWARD "INSERT INTO oastat_awards(gamenumber,second,player,award) VALUES (?,?,(SELECT playerid FROM oastat_players WHERE guid = ?),?)" +#define POINT "INSERT INTO oastat_points(gamenumber,second,player,score) VALUES (?,?,(SELECT playerid FROM oastat_players WHERE guid = ?),?)" +#define CTF "INSERT INTO oastat_team_events(gamenumber,second,team,player,gametype,eventtype) VALUES (?,?,?,(SELECT playerid FROM oastat_players WHERE guid = ?),'ctf',?)" +#define CTF1F "INSERT INTO oastat_team_events(gamenumber,second,team,player,gametype,eventtype) VALUES (?,?,?,(SELECT playerid FROM oastat_players WHERE guid = ?),'1fctf',?)" #define ELIMINATION "INSERT INTO oastat_team_events(gamenumber,second,team,eventtype,generic1,gametype) VALUES (?,?,?,?,?,'elimination')" -#define CTF_ELIM "INSERT INTO oastat_team_events(gamenumber,second,team,player,eventtype,generic1,gametype) VALUES (?,?,?,?,?,?,'ctfelim')" -#define HARVESTER "INSERT INTO oastat_team_events(gamenumber,second,team,player,player2,eventtype,amount,gametype) VALUES (?,?,?,?,?,?,?,'harvester')" +#define CTF_ELIM "INSERT INTO oastat_team_events(gamenumber,second,team,player,eventtype,generic1,gametype) VALUES (?,?,?,(SELECT playerid FROM oastat_players WHERE guid = ?),?,?,'ctfelim')" +#define HARVESTER "INSERT INTO oastat_team_events(gamenumber,second,team,player,player2,eventtype,amount,gametype) VALUES (?,?,?,(SELECT playerid FROM oastat_players WHERE guid = ?),(SELECT playerid FROM oastat_players WHERE guid = ?),?,?,'harvester')" static string S_GETLASTGAMENUMBER = GETLASTGAMENUMBER; static string S_STARTGAME = STARTGAME;