-my $rv = spi_exec_query("SELECT id, (score-value) as xp FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY xp DESC");
-my $status = $rv->{status};
-my $nrows = $rv->{processed};
-my $id;
-for ($row = 1; $row <= $nrows; ++$row ){
- $id = $rv->{rows}[$row-1]->{id};
- #$ranks{$id}{'xp'} = $row;
-}
-foreach $key (keys(%ranks)){
- #spi_exec_query("INSERT INTO rankings (id,tick,score,value,size,xp) VALUES($key,$tick,".$ranks{$key}{'score'}.",".$ranks{$key}{'value'}.",".$ranks{$key}{'size'}.",".$ranks{$key}{'xp'}.")");
-}
-$_$
- LANGUAGE plperl;
+CREATE VIEW current_planet_stats AS
+ SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid, p.gov FROM (((SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps NATURAL JOIN planets p) LEFT JOIN alliances ON ((alliances.id = p.alliance_id)));
+
+
+--
+-- Name: current_planet_stats_full; Type: VIEW; Schema: public; Owner: -
+--
+
+CREATE VIEW current_planet_stats_full AS
+ SELECT p.id, p.nick, p.planet_status, p.hit_us, ps.x, ps.y, ps.z, p.ruler, p.planet, p.race, ps.size, ps.score, ps.value, ps.xp, ps.sizerank, ps.scorerank, ps.valuerank, ps.xprank, alliances.name AS alliance, alliances.relationship, p.alliance_id, p.channel, p.ftid, ps.size_gain, ps.score_gain, ps.value_gain, ps.xp_gain, ps.sizerank_gain, ps.scorerank_gain, ps.valuerank_gain, ps.xprank_gain, ps.size_gain_day, ps.score_gain_day, ps.value_gain_day, ps.xp_gain_day, ps.sizerank_gain_day, ps.scorerank_gain_day, ps.valuerank_gain_day, ps.xprank_gain_day, p.gov FROM (((SELECT planet_stats.id, planet_stats.tick, planet_stats.x, planet_stats.y, planet_stats.z, planet_stats.size, planet_stats.score, planet_stats.value, planet_stats.xp, planet_stats.sizerank, planet_stats.scorerank, planet_stats.valuerank, planet_stats.xprank, planet_stats.size_gain, planet_stats.score_gain, planet_stats.value_gain, planet_stats.xp_gain, planet_stats.sizerank_gain, planet_stats.scorerank_gain, planet_stats.valuerank_gain, planet_stats.xprank_gain, planet_stats.size_gain_day, planet_stats.score_gain_day, planet_stats.value_gain_day, planet_stats.xp_gain_day, planet_stats.sizerank_gain_day, planet_stats.scorerank_gain_day, planet_stats.valuerank_gain_day, planet_stats.xprank_gain_day FROM planet_stats WHERE (planet_stats.tick = (SELECT max(planet_stats.tick) AS max FROM planet_stats))) ps NATURAL JOIN planets p) LEFT JOIN alliances ON ((alliances.id = p.alliance_id)));
+
+
+--
+-- Name: defense_missions; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE defense_missions (
+ call integer NOT NULL,
+ fleet integer NOT NULL,
+ announced boolean DEFAULT false NOT NULL,
+ pointed boolean DEFAULT false NOT NULL
+);
+
+
+--
+-- Name: defense_requests; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE defense_requests (
+ id integer NOT NULL,
+ uid integer NOT NULL,
+ message text NOT NULL,
+ sent boolean DEFAULT false NOT NULL
+);
+
+
+--
+-- Name: dumps; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE dumps (
+ tick integer NOT NULL,
+ type text NOT NULL,
+ dump text NOT NULL,
+ modified integer DEFAULT 0 NOT NULL
+);
+
+
+--
+-- Name: fleet_scans; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE fleet_scans (
+ id integer NOT NULL,
+ scan integer NOT NULL
+);
+
+
+--
+-- Name: fleet_ships; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE fleet_ships (
+ id integer NOT NULL,
+ ship text NOT NULL,
+ amount integer NOT NULL,
+ num integer NOT NULL
+);
+
+
+--
+-- Name: fleets; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--
+
+CREATE TABLE fleets (
+ uid integer NOT NULL,
+ target integer,
+ mission text NOT NULL,
+ tick integer NOT NULL,
+ id integer NOT NULL,
+ eta integer,
+ back integer,
+ sender integer NOT NULL,
+ amount integer,
+ name text NOT NULL,
+ ingal boolean DEFAULT false NOT NULL
+);
+
+
+--
+-- Name: forum_access; Type: TABLE; Schema: public; Owner: -; Tablespace:
+--