]> ruin.nu Git - ndwebbie.git/blob - database/ndawn.sql
The schema is up to date, removed old updating scripts
[ndwebbie.git] / database / ndawn.sql
1 --
2 -- PostgreSQL database dump
3 --
4
5 SET client_encoding = 'UTF8';
6 SET standard_conforming_strings = off;
7 SET check_function_bodies = false;
8 SET client_min_messages = warning;
9 SET escape_string_warning = off;
10
11 --
12 -- Name: plperl; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: -
13 --
14
15 CREATE PROCEDURAL LANGUAGE plperl;
16
17
18 --
19 -- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: -
20 --
21
22 CREATE PROCEDURAL LANGUAGE plpgsql;
23
24
25 SET search_path = public, pg_catalog;
26
27 SET default_tablespace = '';
28
29 SET default_with_oids = false;
30
31 --
32 -- Name: alliance_stats; Type: TABLE; Schema: public; Owner: -; Tablespace: 
33 --
34
35 CREATE TABLE alliance_stats (
36     id integer NOT NULL,
37     tick integer NOT NULL,
38     size integer NOT NULL,
39     members integer NOT NULL,
40     score integer NOT NULL,
41     sizerank integer NOT NULL,
42     scorerank integer NOT NULL,
43     size_gain integer NOT NULL,
44     score_gain integer NOT NULL,
45     sizerank_gain integer NOT NULL,
46     scorerank_gain integer NOT NULL,
47     size_gain_day integer NOT NULL,
48     score_gain_day integer NOT NULL,
49     sizerank_gain_day integer NOT NULL,
50     scorerank_gain_day integer NOT NULL,
51     members_gain integer NOT NULL,
52     members_gain_day integer NOT NULL
53 );
54
55
56 --
57 -- Name: ead_status; Type: TYPE; Schema: public; Owner: -
58 --
59
60 CREATE TYPE ead_status AS ENUM (
61     '',
62     'NAP',
63     'Friendly',
64     'Hostile'
65 );
66
67
68 --
69 -- Name: alliances; Type: TABLE; Schema: public; Owner: -; Tablespace: 
70 --
71
72 CREATE TABLE alliances (
73     id integer NOT NULL,
74     name character varying NOT NULL,
75     relationship ead_status DEFAULT ''::ead_status NOT NULL
76 );
77
78
79 --
80 -- Name: calls; Type: TABLE; Schema: public; Owner: -; Tablespace: 
81 --
82
83 CREATE TABLE calls (
84     id integer NOT NULL,
85     member integer NOT NULL,
86     dc integer,
87     landing_tick integer NOT NULL,
88     info text NOT NULL,
89     covered boolean DEFAULT false NOT NULL,
90     shiptypes text,
91     open boolean DEFAULT true NOT NULL,
92     ftid integer
93 );
94
95
96 --
97 -- Name: channel_flags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
98 --
99
100 CREATE TABLE channel_flags (
101     id integer NOT NULL,
102     name text NOT NULL
103 );
104
105
106 --
107 -- Name: channel_group_flags; Type: TABLE; Schema: public; Owner: -; Tablespace: 
108 --
109
110 CREATE TABLE channel_group_flags (
111     channel integer NOT NULL,
112     "group" integer NOT NULL,
113     flag integer NOT NULL
114 );
115
116
117 --
118 -- Name: channels; Type: TABLE; Schema: public; Owner: -; Tablespace: 
119 --
120
121 CREATE TABLE channels (
122     id integer NOT NULL,
123     name text NOT NULL,
124     description text NOT NULL
125 );
126
127
128 --
129 -- Name: covop_attacks; Type: TABLE; Schema: public; Owner: -; Tablespace: 
130 --
131
132 CREATE TABLE covop_attacks (
133     uid integer NOT NULL,
134     tick integer NOT NULL,
135     id integer NOT NULL
136 );
137
138
139 --
140 -- Name: governments; Type: TYPE; Schema: public; Owner: -
141 --
142
143 CREATE TYPE governments AS ENUM (
144     '',
145     'Feu',
146     'Dic',
147     'Dem',
148     'Uni'
149 );
150
151
152 --
153 -- Name: race; Type: TYPE; Schema: public; Owner: -
154 --
155
156 CREATE TYPE race AS ENUM (
157     'Ter',
158     'Cat',
159     'Xan',
160     'Zik',
161     'Etd'
162 );
163
164
165 --
166 -- Name: planet_stats; Type: TABLE; Schema: public; Owner: -; Tablespace: 
167 --
168
169 CREATE TABLE planet_stats (
170     id integer NOT NULL,
171     tick integer NOT NULL,
172     x integer NOT NULL,
173     y integer NOT NULL,
174     z integer NOT NULL,
175     size integer NOT NULL,
176     score integer NOT NULL,
177     value integer NOT NULL,
178     xp integer NOT NULL,
179     sizerank integer NOT NULL,
180     scorerank integer NOT NULL,
181     valuerank integer NOT NULL,
182     xprank integer NOT NULL,
183     size_gain integer NOT NULL,
184     score_gain integer NOT NULL,
185     value_gain integer NOT NULL,
186     xp_gain integer NOT NULL,
187     sizerank_gain integer NOT NULL,
188     scorerank_gain integer NOT NULL,
189     valuerank_gain integer NOT NULL,
190     xprank_gain integer NOT NULL,
191     size_gain_day integer NOT NULL,
192     score_gain_day integer NOT NULL,
193     value_gain_day integer NOT NULL,
194     xp_gain_day integer NOT NULL,
195     sizerank_gain_day integer NOT NULL,
196     scorerank_gain_day integer NOT NULL,
197     valuerank_gain_day integer NOT NULL,
198     xprank_gain_day integer NOT NULL
199 );
200
201
202 --
203 -- Name: planets; Type: TABLE; Schema: public; Owner: -; Tablespace: 
204 --
205
206 CREATE TABLE planets (
207     id integer NOT NULL,
208     ruler character varying NOT NULL,
209     planet character varying NOT NULL,
210     race race NOT NULL,
211     nick character varying,
212     planet_status ead_status DEFAULT ''::ead_status NOT NULL,
213     hit_us integer DEFAULT 0 NOT NULL,
214     alliance_id integer,
215     channel text,
216     ftid integer NOT NULL,
217     gov governments DEFAULT ''::governments NOT NULL
218 );
219
220
221 --
222 -- Name: current_planet_stats; Type: VIEW; Schema: public; Owner: -
223 --
224
225 CREATE VIEW current_planet_stats AS
226     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)));
227
228
229 --
230 -- Name: current_planet_stats_full; Type: VIEW; Schema: public; Owner: -
231 --
232
233 CREATE VIEW current_planet_stats_full AS
234     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)));
235
236
237 --
238 -- Name: defense_missions; Type: TABLE; Schema: public; Owner: -; Tablespace: 
239 --
240
241 CREATE TABLE defense_missions (
242     call integer NOT NULL,
243     fleet integer NOT NULL,
244     announced boolean DEFAULT false NOT NULL,
245     pointed boolean DEFAULT false NOT NULL
246 );
247
248
249 --
250 -- Name: defense_requests; Type: TABLE; Schema: public; Owner: -; Tablespace: 
251 --
252
253 CREATE TABLE defense_requests (
254     id integer NOT NULL,
255     uid integer NOT NULL,
256     message text NOT NULL,
257     sent boolean DEFAULT false NOT NULL
258 );
259
260
261 --
262 -- Name: dumps; Type: TABLE; Schema: public; Owner: -; Tablespace: 
263 --
264
265 CREATE TABLE dumps (
266     tick integer NOT NULL,
267     type text NOT NULL,
268     dump text NOT NULL,
269     modified integer DEFAULT 0 NOT NULL
270 );
271
272
273 --
274 -- Name: fleet_scans; Type: TABLE; Schema: public; Owner: -; Tablespace: 
275 --
276
277 CREATE TABLE fleet_scans (
278     id integer NOT NULL,
279     scan integer NOT NULL
280 );
281
282
283 --
284 -- Name: fleet_ships; Type: TABLE; Schema: public; Owner: -; Tablespace: 
285 --
286
287 CREATE TABLE fleet_ships (
288     id integer NOT NULL,
289     ship text NOT NULL,
290     amount integer NOT NULL,
291     num integer NOT NULL
292 );
293
294
295 --
296 -- Name: fleets; Type: TABLE; Schema: public; Owner: -; Tablespace: 
297 --
298
299 CREATE TABLE fleets (
300     uid integer NOT NULL,
301     target integer,
302     mission text NOT NULL,
303     tick integer NOT NULL,
304     id integer NOT NULL,
305     eta integer,
306     back integer,
307     sender integer NOT NULL,
308     amount integer,
309     name text NOT NULL,
310     ingal boolean DEFAULT false NOT NULL
311 );
312
313
314 --
315 -- Name: forum_access; Type: TABLE; Schema: public; Owner: -; Tablespace: 
316 --
317
318 CREATE TABLE forum_access (
319     fbid integer NOT NULL,
320     gid integer NOT NULL,
321     post boolean DEFAULT false NOT NULL,
322     moderate boolean DEFAULT false NOT NULL
323 );
324
325
326 --
327 -- Name: forum_boards; Type: TABLE; Schema: public; Owner: -; Tablespace: 
328 --
329
330 CREATE TABLE forum_boards (
331     fbid integer NOT NULL,
332     fcid integer NOT NULL,
333     board text NOT NULL
334 );
335
336
337 --
338 -- Name: forum_categories; Type: TABLE; Schema: public; Owner: -; Tablespace: 
339 --
340
341 CREATE TABLE forum_categories (
342     fcid integer NOT NULL,
343     category text NOT NULL
344 );
345
346
347 --
348 -- Name: forum_posts; Type: TABLE; Schema: public; Owner: -; Tablespace: 
349 --
350
351 CREATE TABLE forum_posts (
352     fpid integer NOT NULL,
353     ftid integer NOT NULL,
354     message text NOT NULL,
355     "time" timestamp with time zone DEFAULT now() NOT NULL,
356     uid integer NOT NULL,
357     textsearch tsvector
358 );
359
360
361 --
362 -- Name: forum_thread_visits; Type: TABLE; Schema: public; Owner: -; Tablespace: 
363 --
364
365 CREATE TABLE forum_thread_visits (
366     uid integer NOT NULL,
367     ftid integer NOT NULL,
368     "time" timestamp with time zone DEFAULT now() NOT NULL
369 );
370
371
372 --
373 -- Name: forum_threads; Type: TABLE; Schema: public; Owner: -; Tablespace: 
374 --
375
376 CREATE TABLE forum_threads (
377     ftid integer NOT NULL,
378     fbid integer NOT NULL,
379     subject text NOT NULL,
380     sticky boolean DEFAULT false NOT NULL,
381     uid integer NOT NULL
382 );
383
384
385 --
386 -- Name: galaxies; Type: TABLE; Schema: public; Owner: -; Tablespace: 
387 --
388
389 CREATE TABLE galaxies (
390     x integer NOT NULL,
391     y integer NOT NULL,
392     tick integer NOT NULL,
393     size integer NOT NULL,
394     score integer NOT NULL,
395     value integer NOT NULL,
396     xp integer NOT NULL,
397     planets integer NOT NULL,
398     sizerank integer NOT NULL,
399     scorerank integer NOT NULL,
400     valuerank integer NOT NULL,
401     xprank integer NOT NULL,
402     size_gain integer NOT NULL,
403     score_gain integer NOT NULL,
404     value_gain integer NOT NULL,
405     xp_gain integer NOT NULL,
406     planets_gain integer NOT NULL,
407     sizerank_gain integer NOT NULL,
408     scorerank_gain integer NOT NULL,
409     valuerank_gain integer NOT NULL,
410     xprank_gain integer NOT NULL,
411     size_gain_day integer NOT NULL,
412     score_gain_day integer NOT NULL,
413     value_gain_day integer NOT NULL,
414     xp_gain_day integer NOT NULL,
415     planets_gain_day integer NOT NULL,
416     sizerank_gain_day integer NOT NULL,
417     scorerank_gain_day integer NOT NULL,
418     valuerank_gain_day integer NOT NULL,
419     xprank_gain_day integer NOT NULL
420 );
421
422
423 --
424 -- Name: graphs; Type: TABLE; Schema: public; Owner: -; Tablespace: 
425 --
426
427 CREATE TABLE graphs (
428     type text NOT NULL,
429     id integer NOT NULL,
430     last_modified timestamp with time zone DEFAULT now() NOT NULL,
431     tick integer NOT NULL,
432     img bytea NOT NULL
433 );
434
435
436 --
437 -- Name: groupmembers; Type: TABLE; Schema: public; Owner: -; Tablespace: 
438 --
439
440 CREATE TABLE groupmembers (
441     gid integer NOT NULL,
442     uid integer NOT NULL
443 );
444
445
446 --
447 -- Name: groups; Type: TABLE; Schema: public; Owner: -; Tablespace: 
448 --
449
450 CREATE TABLE groups (
451     gid integer NOT NULL,
452     groupname text NOT NULL,
453     flag character(1),
454     attack boolean DEFAULT false NOT NULL
455 );
456
457
458 --
459 -- Name: incomings; Type: TABLE; Schema: public; Owner: -; Tablespace: 
460 --
461
462 CREATE TABLE incomings (
463     call integer NOT NULL,
464     sender integer NOT NULL,
465     eta integer NOT NULL,
466     amount integer NOT NULL,
467     fleet text NOT NULL,
468     shiptype text DEFAULT '?'::text NOT NULL,
469     id integer NOT NULL
470 );
471
472
473 --
474 -- Name: misc; Type: TABLE; Schema: public; Owner: -; Tablespace: 
475 --
476
477 CREATE TABLE misc (
478     id text NOT NULL,
479     value text
480 );
481
482
483 --
484 -- Name: planet_data; Type: TABLE; Schema: public; Owner: -; Tablespace: 
485 --
486
487 CREATE TABLE planet_data (
488     id integer NOT NULL,
489     scan integer NOT NULL,
490     tick integer NOT NULL,
491     rid integer NOT NULL,
492     amount integer NOT NULL
493 );
494
495
496 --
497 -- Name: planet_data_types; Type: TABLE; Schema: public; Owner: -; Tablespace: 
498 --
499
500 CREATE TABLE planet_data_types (
501     id integer NOT NULL,
502     category text NOT NULL,
503     name text NOT NULL
504 );
505
506
507 --
508 -- Name: scans; Type: TABLE; Schema: public; Owner: -; Tablespace: 
509 --
510
511 CREATE TABLE scans (
512     tick integer NOT NULL,
513     scan_id numeric(10,0) NOT NULL,
514     planet integer,
515     type text,
516     uid integer DEFAULT -1 NOT NULL,
517     groupscan boolean DEFAULT false NOT NULL,
518     parsed boolean DEFAULT false NOT NULL,
519     id integer NOT NULL
520 );
521
522
523 --
524 -- Name: planet_scans; Type: VIEW; Schema: public; Owner: -
525 --
526
527 CREATE VIEW planet_scans AS
528     SELECT DISTINCT ON (s.planet) s.id, s.planet, s.tick, m.metal, c.crystal, e.eonium, mr.metal_roids, cr.crystal_roids, er.eonium_roids FROM ((((((scans s JOIN (SELECT planet_data.scan AS id, planet_data.amount AS metal_roids FROM planet_data WHERE (planet_data.rid = 1)) mr USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS crystal_roids FROM planet_data WHERE (planet_data.rid = 2)) cr USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS eonium_roids FROM planet_data WHERE (planet_data.rid = 3)) er USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS metal FROM planet_data WHERE (planet_data.rid = 4)) m USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS crystal FROM planet_data WHERE (planet_data.rid = 5)) c USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS eonium FROM planet_data WHERE (planet_data.rid = 6)) e USING (id)) ORDER BY s.planet, s.tick DESC, s.id DESC;
529
530
531 --
532 -- Name: raid_access; Type: TABLE; Schema: public; Owner: -; Tablespace: 
533 --
534
535 CREATE TABLE raid_access (
536     raid integer NOT NULL,
537     gid integer NOT NULL
538 );
539
540
541 --
542 -- Name: raid_claims; Type: TABLE; Schema: public; Owner: -; Tablespace: 
543 --
544
545 CREATE TABLE raid_claims (
546     target integer NOT NULL,
547     uid integer NOT NULL,
548     wave integer NOT NULL,
549     joinable boolean DEFAULT false NOT NULL,
550     launched boolean DEFAULT false NOT NULL,
551     "timestamp" timestamp with time zone DEFAULT now() NOT NULL
552 );
553
554
555 --
556 -- Name: raid_targets; Type: TABLE; Schema: public; Owner: -; Tablespace: 
557 --
558
559 CREATE TABLE raid_targets (
560     id integer NOT NULL,
561     raid integer NOT NULL,
562     planet integer NOT NULL,
563     comment text,
564     modified timestamp with time zone DEFAULT now() NOT NULL
565 );
566
567
568 --
569 -- Name: raids; Type: TABLE; Schema: public; Owner: -; Tablespace: 
570 --
571
572 CREATE TABLE raids (
573     id integer NOT NULL,
574     tick integer NOT NULL,
575     open boolean DEFAULT false NOT NULL,
576     waves integer DEFAULT 3 NOT NULL,
577     message text NOT NULL,
578     removed boolean DEFAULT false NOT NULL,
579     released_coords boolean DEFAULT false NOT NULL
580 );
581
582
583 --
584 -- Name: ship_stats; Type: TABLE; Schema: public; Owner: -; Tablespace: 
585 --
586
587 CREATE TABLE ship_stats (
588     name text NOT NULL,
589     class text NOT NULL,
590     t1 text NOT NULL,
591     type text NOT NULL,
592     init integer NOT NULL,
593     armor integer NOT NULL,
594     damage integer NOT NULL,
595     metal integer NOT NULL,
596     crystal integer NOT NULL,
597     eonium integer NOT NULL,
598     race text NOT NULL,
599     guns integer DEFAULT 0 NOT NULL,
600     eres integer DEFAULT 0 NOT NULL,
601     t2 text,
602     t3 text
603 );
604
605
606 --
607 -- Name: smslist; Type: TABLE; Schema: public; Owner: -; Tablespace: 
608 --
609
610 CREATE TABLE smslist (
611     nick text NOT NULL,
612     sms text NOT NULL,
613     info text
614 );
615
616
617 --
618 -- Name: structure_scans; Type: VIEW; Schema: public; Owner: -
619 --
620
621 CREATE VIEW structure_scans AS
622     SELECT DISTINCT ON (s.planet) s.id, s.planet, s.tick, t.total, d.distorters, sc.seccents FROM (((scans s JOIN (SELECT planet_data.scan AS id, sum(planet_data.amount) AS total FROM planet_data WHERE ((planet_data.rid >= 14) AND (planet_data.rid <= 24)) GROUP BY planet_data.scan) t USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS distorters FROM planet_data WHERE (planet_data.rid = 18)) d USING (id)) JOIN (SELECT planet_data.scan AS id, planet_data.amount AS seccents FROM planet_data WHERE (planet_data.rid = 24)) sc USING (id)) ORDER BY s.planet, s.tick DESC, s.id DESC;
623
624
625 --
626 -- Name: users; Type: TABLE; Schema: public; Owner: -; Tablespace: 
627 --
628
629 CREATE TABLE users (
630     uid integer NOT NULL,
631     username text NOT NULL,
632     planet integer,
633     password text NOT NULL,
634     attack_points integer DEFAULT 0 NOT NULL,
635     defense_points integer DEFAULT 0 NOT NULL,
636     scan_points integer DEFAULT 0 NOT NULL,
637     humor_points integer DEFAULT 0 NOT NULL,
638     hostmask text,
639     sms text,
640     rank integer,
641     laston timestamp with time zone,
642     ftid integer,
643     css text,
644     last_forum_visit timestamp with time zone,
645     email text,
646     pnick text,
647     info text
648 );
649
650
651 --
652 -- Name: usersingroup; Type: VIEW; Schema: public; Owner: -
653 --
654
655 CREATE VIEW usersingroup AS
656     SELECT groups.gid, groups.groupname, users.uid, users.username FROM ((users NATURAL JOIN groupmembers) NATURAL JOIN groups);
657
658
659 --
660 -- Name: add_call(); Type: FUNCTION; Schema: public; Owner: -
661 --
662
663 CREATE FUNCTION add_call() RETURNS trigger
664     AS $_X$
665 if ($_TD->{event} eq 'INSERT'){
666         $rv = spi_exec_query("SELECT nextval('public.forum_threads_ftid_seq') AS id");
667         if ($rv->{processed} != 1){
668                 return 'SKIP';
669         }
670         $ftid = $rv->{rows}[0]->{id};
671         $query = spi_prepare('INSERT INTO forum_threads (fbid,ftid,subject,uid) VALUES(-3,$1,$2,-3)','int4','varchar');
672         $rv = spi_exec_prepared($query,$ftid,"$_TD->{new}{member}: $_TD->{new}{landing_tick}");
673         spi_freeplan($query);
674         if (rv->{status} != SPI_OK_INSERT){
675                 return 'SKIP';
676         }
677         $_TD->{new}{ftid} = $ftid;
678         return 'MODIFY';
679 }
680 return 'SKIP';
681 $_X$
682     LANGUAGE plperl;
683
684
685 --
686 -- Name: add_intel(integer, integer, integer, integer, integer, integer, integer, integer, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: -
687 --
688
689 CREATE FUNCTION add_intel(tick integer, eta integer, x1 integer, y1 integer, z1 integer, x2 integer, y2 integer, z2 integer, amount integer, mission character varying, uid integer) RETURNS boolean
690     AS $_$my ($tick, $eta, $x1, $y1, $z1, $x2, $y2, $z2, $amount, $mission, $uid) = @_;
691 $ingal = false;
692 $tick = -1 unless defined $tick;
693 if ($x1 == $x2 && $y1 == $y2) {
694 $ingal = true;
695 }
696 if ($tick < 0){
697   $rv = spi_exec_query("SELECT tick FROM planet_stats ORDER BY tick DESC LIMIT 1;");
698   $tick = $rv->{rows}[0]->{tick};
699 }
700 $rv = spi_exec_query("SELECT id,tick FROM planet_stats WHERE x = $x1 AND y = $y1 AND z = $z1 AND (tick = $tick OR tick = (SELECT max(tick) FROM planet_stats)) ORDER BY tick ASC;");
701 unless ($rv->{processed} >= 1){
702 return false;
703
704 $id1 = $rv->{rows}[0]->{id};
705 $rv = spi_exec_query("SELECT id,tick FROM planet_stats WHERE x = $x2 AND y = $y2 AND z = $z2 AND (tick = $tick OR tick = (SELECT max(tick) FROM planet_stats)) ORDER BY tick ASC;");
706 unless ($rv->{processed} >= 1){
707 return false;
708
709 $id2 = $rv->{rows}[0]->{id};
710 $tick += $eta;
711 spi_exec_query("INSERT INTO intel (target,sender,tick,eta,mission,uid,ingal, amount) VALUES ($id1, $id2, $tick,$eta, '$mission', $uid, $ingal, $amount)");
712 return true;$_$
713     LANGUAGE plperl;
714
715
716 --
717 -- Name: add_intel2(integer, integer, integer, integer, integer, integer, integer, integer, character varying, character varying); Type: FUNCTION; Schema: public; Owner: -
718 --
719
720 CREATE FUNCTION add_intel2(integer, integer, integer, integer, integer, integer, integer, integer, character varying, character varying) RETURNS boolean
721     AS $_$my ($tick, $x1, $y1, $z1, $x2, $y2, $z2, $amount, $mission, $user) = @_;
722 $ingal = false;
723 if ($x1 == $x2 && $y1 == $y2) {
724 $ingal = true;
725 }
726 if ($tick < 0){
727   $rv = spi_exec_query("SELECT tick FROM planet_stats ORDER BY tick DESC LIMIT 1;");
728   $tick = $rv->{rows}[0]->{tick};
729 }
730 $rv = spi_exec_query("SELECT id FROM planet_stats WHERE x = $x1 AND y = $y1 AND z = $z1 AND tick = $tick;");
731 unless ($rv->{processed} == 1){
732 return false;
733
734 $id1 = $rv->{rows}[0]->{id};
735 $rv = spi_exec_query("SELECT id FROM planet_stats WHERE x = $x2 AND y = $y2 AND z = $z2 AND tick = $tick;");
736 unless ($rv->{processed} == 1){
737 return false;
738
739 $id2 = $rv->{rows}[0]->{id};
740 spi_exec_query("INSERT INTO intel (target,sender,tick,mission,\"user\",ingal, amount) VALUES ($id1, $id2, $tick, '$mission', '$user', $ingal, $amount)");
741 return true;$_$
742     LANGUAGE plperl;
743
744
745 --
746 -- Name: add_intel2(integer, integer, integer, integer, integer, integer, integer, integer, integer, character varying, character varying); Type: FUNCTION; Schema: public; Owner: -
747 --
748
749 CREATE FUNCTION add_intel2(integer, integer, integer, integer, integer, integer, integer, integer, integer, character varying, character varying) RETURNS boolean
750     AS $_$my ($tick, $eta, $x1, $y1, $z1, $x2, $y2, $z2, $amount, $mission, $uid) = @_;
751 unless ($uid = /^(-?\d+)$/){
752         $rv = spi_exec_query("SELECT id FROM users WHERE username = '$uid';");
753         $uid = $rv->{rows}[0]->{id};
754 }
755 $ingal = false;
756 if ($x1 == $x2 && $y1 == $y2) {
757 $ingal = true;
758 }
759 if ($tick < 0){
760   $rv = spi_exec_query("SELECT tick FROM planet_stats ORDER BY tick DESC LIMIT 1;");
761   $tick = $rv->{rows}[0]->{tick};
762 }
763 $rv = spi_exec_query("SELECT id,tick FROM planet_stats WHERE x = $x1 AND y = $y1 AND z = $z1 AND (tick = $tick OR tick = (SELECT max(tick) FROM planet_stats)) ORDER BY tick ASC;");
764 unless ($rv->{processed} >= 1){
765 return false;
766
767 $id1 = $rv->{rows}[0]->{id};
768 $rv = spi_exec_query("SELECT id,tick FROM planet_stats WHERE x = $x2 AND y = $y2 AND z = $z2 AND (tick = $tick OR tick = (SELECT max(tick) FROM planet_stats)) ORDER BY tick ASC;");
769 unless ($rv->{processed} >= 1){
770 return false;
771
772 $id2 = $rv->{rows}[0]->{id};
773 $tick += $eta;
774 spi_exec_query("INSERT INTO intel (target,sender,tick,eta,mission,uid,ingal, amount) VALUES ($id1, $id2, $tick,$eta, '$mission', $uid, $ingal, $amount)");
775 return true;$_$
776     LANGUAGE plperl;
777
778
779 --
780 -- Name: add_intel4(integer, integer, integer, integer, integer, integer, integer, integer, integer, character varying, integer); Type: FUNCTION; Schema: public; Owner: -
781 --
782
783 CREATE FUNCTION add_intel4(tick integer, eta integer, x1 integer, y1 integer, z1 integer, x2 integer, y2 integer, z2 integer, amount integer, mission character varying, uid integer) RETURNS information_schema.cardinal_number
784     AS $_$my ($tick, $eta, $x1, $y1, $z1, $x2, $y2, $z2, $amount, $mission, $uid) = @_;
785 $ingal = false;
786 if ($x1 == $x2 && $y1 == $y2) {
787 $ingal = true;
788 }
789 if ($tick < 0){
790   $rv = spi_exec_query("SELECT tick FROM planet_stats ORDER BY tick DESC LIMIT 1;");
791   $tick = $rv->{rows}[0]->{tick};
792 }
793 $rv = spi_exec_query("SELECT id,tick FROM planet_stats WHERE x = $x1 AND y = $y1 AND z = $z1 AND (tick = $tick OR tick = (SELECT max(tick) FROM planet_stats)) ORDER BY tick ASC;");
794 unless ($rv->{processed} >= 1){
795 return false;
796
797 $id1 = $rv->{rows}[0]->{id};
798 $rv = spi_exec_query("SELECT id,tick FROM planet_stats WHERE x = $x2 AND y = $y2 AND z = $z2 AND (tick = $tick OR tick = (SELECT max(tick) FROM planet_stats)) ORDER BY tick ASC;");
799 unless ($rv->{processed} >= 1){
800 return false;
801
802 $id2 = $rv->{rows}[0]->{id};
803 $tick += $eta;
804 spi_exec_query("INSERT INTO intel (target,sender,tick,eta,mission,uid,ingal, amount) VALUES ($id1, $id2, $tick,$eta, '$mission', $uid, $ingal, $amount)");
805 return true;$_$
806     LANGUAGE plperl;
807
808
809 --
810 -- Name: add_user(); Type: FUNCTION; Schema: public; Owner: -
811 --
812
813 CREATE FUNCTION add_user() RETURNS trigger
814     AS $_X$
815 if ($_TD->{event} eq 'INSERT'){
816         $rv = spi_exec_query("SELECT nextval('public.forum_threads_ftid_seq') AS id");
817         if ($rv->{processed} != 1){
818                 return 'SKIP';
819         }
820         $ftid = $rv->{rows}[0]->{id};
821         $query = spi_prepare('INSERT INTO forum_threads (fbid,ftid,subject,uid) VALUES($1,$2,$3,-3)','int4','int4','varchar');
822         $rv = spi_exec_prepared($query,-1,$ftid,"$_TD->{new}{uid}: $_TD->{new}{username}");
823         spi_freeplan($query);
824         if (rv->{status} != SPI_OK_INSERT){
825                 return 'SKIP';
826         }
827         $_TD->{new}{ftid} = $ftid;
828         return 'MODIFY';
829 }
830 return 'SKIP';
831 $_X$
832     LANGUAGE plperl;
833
834
835 --
836 -- Name: calc_rank(integer); Type: FUNCTION; Schema: public; Owner: -
837 --
838
839 CREATE FUNCTION calc_rank(tick integer) RETURNS void
840     AS $_$my ($tick) = @_;
841 spi_exec_query("DELETE FROM rankings WHERE tick = $tick");
842 my %ranks = ();
843 my $rv = spi_exec_query("SELECT id, score FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY score DESC");
844 my $status = $rv->{status};
845 my $nrows = $rv->{processed};
846 my $id;
847 for ($row = 1; $row <= $nrows; ++$row ){
848         $id = $rv->{rows}[$row-1]->{id};
849         $ranks{$id}{'score'} = $row;
850 }
851
852 my $rv = spi_exec_query("SELECT id, value FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY value DESC");
853 my $status = $rv->{status};
854 my $nrows = $rv->{processed};
855 my $id;
856 for ($row = 1; $row <= $nrows; ++$row ){
857         $id = $rv->{rows}[$row-1]->{id};
858         $ranks{$id}{'value'} = $row;
859 }
860
861 my $rv = spi_exec_query("SELECT id, size FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY size DESC");
862 my $status = $rv->{status};
863 my $nrows = $rv->{processed};
864 my $id;
865 for ($row = 1; $row <= $nrows; ++$row ){
866         $id = $rv->{rows}[$row-1]->{id};
867         $ranks{$id}{'size'} = $row;
868 }
869
870 my $rv = spi_exec_query("SELECT id, (score-value) as xp FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY xp DESC");
871 my $status = $rv->{status};
872 my $nrows = $rv->{processed};
873 my $id;
874 for ($row = 1; $row <= $nrows; ++$row ){
875         $id = $rv->{rows}[$row-1]->{id};
876         $ranks{$id}{'xp'} = $row;
877 }
878 foreach $key (keys(%ranks)){
879         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'}.")");
880 }
881 $_$
882     LANGUAGE plperl;
883
884
885 --
886 -- Name: calc_rank3(integer); Type: FUNCTION; Schema: public; Owner: -
887 --
888
889 CREATE FUNCTION calc_rank3(tick integer) RETURNS information_schema.cardinal_number
890     AS $_$my ($tick) = @_;
891 #spi_exec_query("DELETE FROM rankings WHERE tick = $tick");
892 my %ranks = ();
893 my $rv = spi_exec_query("SELECT id, score FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY score DESC");
894 my $status = $rv->{status};
895 my $nrows = $rv->{processed};
896 my $id;
897 for ($row = 1; $row <= $nrows; ++$row ){
898         $id = $rv->{rows}[$row-1]->{id};
899         #$ranks{$id}{'score'} = $row;
900 }
901
902 my $rv = spi_exec_query("SELECT id, value FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY value DESC");
903 my $status = $rv->{status};
904 my $nrows = $rv->{processed};
905 my $id;
906 for ($row = 1; $row <= $nrows; ++$row ){
907         $id = $rv->{rows}[$row-1]->{id};
908         #$ranks{$id}{'value'} = $row;
909 }
910
911 my $rv = spi_exec_query("SELECT id, size FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY size DESC");
912 my $status = $rv->{status};
913 my $nrows = $rv->{processed};
914 my $id;
915 for ($row = 1; $row <= $nrows; ++$row ){
916         $id = $rv->{rows}[$row-1]->{id};
917         #$ranks{$id}{'size'} = $row;
918 }
919
920 my $rv = spi_exec_query("SELECT id, (score-value) as xp FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY xp DESC");
921 my $status = $rv->{status};
922 my $nrows = $rv->{processed};
923 my $id;
924 for ($row = 1; $row <= $nrows; ++$row ){
925         $id = $rv->{rows}[$row-1]->{id};
926         #$ranks{$id}{'xp'} = $row;
927 }
928 foreach $key (keys(%ranks)){
929         #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'}.")");
930 }
931 $_$
932     LANGUAGE plperl;
933
934
935 --
936 -- Name: calculate_rankings(integer); Type: FUNCTION; Schema: public; Owner: -
937 --
938
939 CREATE FUNCTION calculate_rankings(integer) RETURNS void
940     AS $_$my ($tick) = @_;
941 spi_exec_query("DELETE FROM rankings WHERE tick = $tick");
942 my $rv = spi_exec_query("SELECT id, score FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY score DESC");
943 my $status = $rv->{status};
944 my $nrows = $rv->{processed};
945 my $id;
946 for ($row = 1; $row <= $nrows; ++$row ){
947 $id = $rv->{rows}[$row-1]->{id};
948 spi_exec_query("INSERT INTO rankings (id,tick,score) VALUES($id,$tick,$row)");
949 }
950
951 my $rv = spi_exec_query("SELECT id, value FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY value DESC");
952 my $status = $rv->{status};
953 my $nrows = $rv->{processed};
954 my $id;
955 for ($row = 1; $row <= $nrows; ++$row ){
956 $id = $rv->{rows}[$row-1]->{id};
957 spi_exec_query("UPDATE rankings SET value = $row WHERE id = $id AND tick = $tick");
958 }
959
960 my $rv = spi_exec_query("SELECT id, size FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY size DESC");
961 my $status = $rv->{status};
962 my $nrows = $rv->{processed};
963 my $id;
964 for ($row = 1; $row <= $nrows; ++$row ){
965 $id = $rv->{rows}[$row-1]->{id};
966 spi_exec_query("UPDATE rankings SET size = $row WHERE id = $id AND tick = $tick");
967 }
968
969 my $rv = spi_exec_query("SELECT id, (score-value) as xp FROM planets NATURAL JOIN planet_stats WHERE tick = $tick ORDER BY xp DESC");
970 my $status = $rv->{status};
971 my $nrows = $rv->{processed};
972 my $id;
973 for ($row = 1; $row <= $nrows; ++$row ){
974 $id = $rv->{rows}[$row-1]->{id};
975 spi_exec_query("UPDATE rankings SET xp = $row WHERE id = $id AND tick = $tick");
976 }
977 $_$
978     LANGUAGE plperl;
979
980
981 --
982 -- Name: change_member(); Type: FUNCTION; Schema: public; Owner: -
983 --
984
985 CREATE FUNCTION change_member() RETURNS trigger
986     AS $_X$if ($_TD->{event} eq 'INSERT' && $_TD->{new}{gid} == 2){
987         $rv = spi_exec_query("SELECT * FROM users WHERE uid = $_TD->{new}{uid};");
988         if ($rv->{rows}[0]->{planet}){
989                 spi_exec_query("UPDATE planets SET alliance_id = 1 WHERE id = $rv->{rows}[0]->{planet};");
990         }
991 }
992 if ($_TD->{event} eq 'DELETE' && $_TD->{old}{gid} == 2){
993         $rv = spi_exec_query("SELECT * FROM users WHERE uid = $_TD->{old}{uid};");
994         if ($rv->{rows}[0]->{planet}){
995                 spi_exec_query("UPDATE planets SET alliance_id = NULL WHERE id = $rv->{rows}[0]{planet};");
996         }
997 }
998 return;$_X$
999     LANGUAGE plperl;
1000
1001
1002 --
1003 -- Name: coords(integer, integer, integer); Type: FUNCTION; Schema: public; Owner: -
1004 --
1005
1006 CREATE FUNCTION coords(x integer, y integer, z integer) RETURNS text
1007     AS $_$my ($x,$y,$z) = @_;
1008 return "$x:$y:$z";$_$
1009     LANGUAGE plperl IMMUTABLE;
1010
1011
1012 --
1013 -- Name: covop_alert(integer, integer, governments, integer); Type: FUNCTION; Schema: public; Owner: -
1014 --
1015
1016 CREATE FUNCTION covop_alert(secs integer, strucs integer, gov governments, population integer) RETURNS integer
1017     AS $_$
1018         SELECT (70*(1.0+LEAST(COALESCE($1::float/$2,$4),0.30)*2 +
1019                 (CASE $3 
1020                         WHEN 'Dic' THEN 0.20
1021                         WHEN 'Feu' THEN -0.20
1022                         WHEN 'Uni' THEN -0.10
1023                         ELSE 0
1024                 END) + $4/100.0))::integer;
1025 $_$
1026     LANGUAGE sql IMMUTABLE;
1027
1028
1029 --
1030 -- Name: find_alliance_id(character varying); Type: FUNCTION; Schema: public; Owner: -
1031 --
1032
1033 CREATE FUNCTION find_alliance_id(character varying) RETURNS integer
1034     AS $_$
1035 my ($name) = @_;
1036 my $query = spi_prepare('SELECT id FROM alliances WHERE name=$1','varchar');
1037 my $rv = spi_exec_prepared($query,$name);
1038 my $status = $rv->{status};
1039 my $nrows = $rv->{processed};
1040 my $id;
1041 if ($nrows == 1){
1042         $id = $rv->{rows}[0]->{id};
1043 }
1044 else {
1045         $rv = spi_exec_query("SELECT nextval('public.alliances_id_seq') AS id");
1046         if ($rv->{processed} != 1){
1047                 return;
1048         }
1049         $id = $rv->{rows}[0]->{id};
1050         my $query = spi_prepare('INSERT INTO alliances(id,name) VALUES($1,$2)','int4','varchar');
1051         $rv = spi_exec_prepared($query,$id,$name);
1052         spi_freeplan($query);
1053         if (rv->{status} != SPI_OK_INSERT){
1054                 return;
1055         }
1056 }
1057 return $id;
1058 $_$
1059     LANGUAGE plperl;
1060
1061
1062 --
1063 -- Name: findplanetid(character varying, character varying, character varying); Type: FUNCTION; Schema: public; Owner: -
1064 --
1065
1066 CREATE FUNCTION findplanetid(character varying, character varying, character varying) RETURNS integer
1067     AS $_$
1068 my ($ruler, $planet, $race) = @_;
1069 my $query = spi_prepare('SELECT id, race FROM planets WHERE ruler=$1 AND planet=$2','varchar','varchar');
1070 my $rv = spi_exec_prepared($query,$ruler,$planet);
1071 spi_freeplan($query);
1072 my $status = $rv->{status};
1073 my $nrows = $rv->{processed};
1074 my $id;
1075 if ($nrows == 1){
1076     $id = $rv->{rows}[0]->{id};
1077     unless ($race eq $rv->{rows}[0]->{race}){
1078         $query = spi_prepare('UPDATE planets SET race=$1 where id=$2','race','int4');
1079         spi_exec_prepared($query,$race,$id);
1080         spi_freeplan($query);
1081     }
1082 }else {
1083     $rv = spi_exec_query("SELECT nextval('public.forum_threads_ftid_seq') AS id");
1084     if ($rv->{processed} != 1){
1085         return;
1086     }
1087     $ftid = $rv->{rows}[0]->{id};
1088     $query = spi_prepare('INSERT INTO forum_threads (fbid,ftid,subject,uid) VALUES($1,$2,$3,-3)','int4','int4','varchar');
1089     $rv = spi_exec_prepared($query,-2,$ftid,"$ruler OF $planet");
1090     spi_freeplan($query);
1091     if (rv->{status} != SPI_OK_INSERT){
1092         return;
1093     }
1094     $rv = spi_exec_query("SELECT nextval('public.planets_id_seq') AS id");
1095     if ($rv->{processed} != 1){
1096         return;
1097     }
1098     $id = $rv->{rows}[0]->{id};
1099     $query = spi_prepare('INSERT INTO planets(id,ruler,planet,race,ftid) VALUES($1,$2,$3,$4,$5)','int4','varchar','varchar','race','int4
1100 ');
1101     $rv = spi_exec_prepared($query,$id,$ruler,$planet,$race,$ftid);
1102     spi_freeplan($query);
1103     if (rv->{status} != SPI_OK_INSERT){
1104         return;
1105     }
1106
1107 }
1108 return $id;
1109 $_$
1110     LANGUAGE plperl;
1111
1112
1113 --
1114 -- Name: groups(integer); Type: FUNCTION; Schema: public; Owner: -
1115 --
1116
1117 CREATE FUNCTION groups(uid integer) RETURNS SETOF integer
1118     AS $_$SELECT gid FROM groupmembers WHERE uid = $1 UNION SELECT -1$_$
1119     LANGUAGE sql STABLE;
1120
1121
1122 --
1123 -- Name: max_bank_hack(integer, integer, integer, integer, integer); Type: FUNCTION; Schema: public; Owner: -
1124 --
1125
1126 CREATE FUNCTION max_bank_hack(metal integer, crystal integer, eonium integer, tvalue integer, value integer) RETURNS integer
1127     AS $_$
1128 SELECT LEAST(2000.0*15*$4/$5,$1*0.10, 15*7500.0)::integer
1129     + LEAST(2000.0*15*$4/$5,$2*0.10, 15*7500.0)::integer
1130     + LEAST(2000.0*15*$4/$5,$3*0.10, 15*7500.0)::integer
1131 $_$
1132     LANGUAGE sql IMMUTABLE;
1133
1134
1135 --
1136 -- Name: old_claim(timestamp with time zone); Type: FUNCTION; Schema: public; Owner: -
1137 --
1138
1139 CREATE FUNCTION old_claim("timestamp" timestamp with time zone) RETURNS boolean
1140     AS $_$SELECT NOW() - '10 minutes'::INTERVAL > $1;$_$
1141     LANGUAGE sql IMMUTABLE;
1142
1143
1144 --
1145 -- Name: planetcoords(integer, integer); Type: FUNCTION; Schema: public; Owner: -
1146 --
1147
1148 CREATE FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) RETURNS record
1149     AS $_$SELECT x,y,z FROM planet_stats WHERE id = $1 AND (tick >= $2  OR tick =( SELECT max(tick) FROM planet_stats))  ORDER BY tick ASC LIMIT 1$_$
1150     LANGUAGE sql STABLE;
1151
1152
1153 --
1154 -- Name: planetid(integer, integer, integer, integer); Type: FUNCTION; Schema: public; Owner: -
1155 --
1156
1157 CREATE FUNCTION planetid(x integer, y integer, z integer, tick integer) RETURNS integer
1158     AS $_$SELECT id FROM planet_stats WHERE x = $1 AND y = $2 AND z = $3 AND (tick >= $4  OR tick =( SELECT max(tick) FROM planet_stats)) ORDER BY tick ASC LIMIT 1$_$
1159     LANGUAGE sql STABLE;
1160
1161
1162 --
1163 -- Name: populate_ticks(); Type: FUNCTION; Schema: public; Owner: -
1164 --
1165
1166 CREATE FUNCTION populate_ticks() RETURNS void
1167     AS $_$my $rv = spi_exec_query("SELECT tick FROM planet_stats ORDER BY tick DESC LIMIT 1;");
1168 my $nrows = $rv->{processed};
1169 if ($nrows == 1){
1170 $tick = $rv->{rows}[0]->{tick};
1171 spi_exec_query("DELETE FROM ticks;");
1172 spi_exec_query("INSERT INTO ticks(tick) (SELECT generate_series(36, tick,tick/50) FROM (SELECT tick FROM planet_stats ORDER BY tick DESC LIMIT 1) as foo);");
1173 spi_exec_query("INSERT INTO ticks(tick) VALUES($tick)");
1174 }$_$
1175     LANGUAGE plperl;
1176
1177
1178 --
1179 -- Name: tick(); Type: FUNCTION; Schema: public; Owner: -
1180 --
1181
1182 CREATE FUNCTION tick() RETURNS integer
1183     AS $$SELECT value::integer FROM misc WHERE id = 'TICK'$$
1184     LANGUAGE sql STABLE;
1185
1186
1187 --
1188 -- Name: unclaim_target(); Type: FUNCTION; Schema: public; Owner: -
1189 --
1190
1191 CREATE FUNCTION unclaim_target() RETURNS trigger
1192     AS $_X$
1193 if ($_TD->{event} eq 'DELETE' && $_TD->{old}{launched} eq 't'){
1194         my $uid = $_TD->{old}{uid};
1195         my $query = spi_prepare(q{UPDATE users
1196                 SET attack_points = attack_points - 1
1197                 WHERE uid = $1},'int4');
1198         spi_exec_prepared($query,$uid);
1199         spi_freeplan($query);
1200 }
1201 return;
1202 $_X$
1203     LANGUAGE plperl;
1204
1205
1206 --
1207 -- Name: update_forum_post(); Type: FUNCTION; Schema: public; Owner: -
1208 --
1209
1210 CREATE FUNCTION update_forum_post() RETURNS trigger
1211     AS $$
1212 DECLARE
1213     rec RECORD;
1214 BEGIN
1215     SELECT setweight(to_tsvector(coalesce(ft.subject,'')), 'A')
1216             || setweight(to_tsvector(coalesce(u.username,'')), 'B') AS ts
1217         INTO STRICT rec
1218         FROM forum_threads ft, users u
1219         WHERE NEW.ftid = ft.ftid AND u.uid = NEW.uid;
1220     NEW.textsearch := rec.ts
1221         || setweight(to_tsvector(coalesce(NEW.message,'')), 'D');
1222     return NEW;
1223 END;
1224 $$
1225     LANGUAGE plpgsql;
1226
1227
1228 --
1229 -- Name: update_user_planet(); Type: FUNCTION; Schema: public; Owner: -
1230 --
1231
1232 CREATE FUNCTION update_user_planet() RETURNS trigger
1233     AS $_X$my $rv = spi_exec_query("SELECT * FROM groupmembers WHERE uid = $_TD->{new}{uid} AND gid = 2;");
1234 if ($rv->{processed} == 1){# && ($_TD->{old}{planet} != $_TD->{new}{planet})){
1235         if ($_TD->{old}{planet}){
1236                 spi_exec_query("UPDATE planets SET alliance_id = NULL WHERE id = $_TD->{old}{planet};");
1237         }
1238         if ($_TD->{new}{planet}){
1239                 spi_exec_query("UPDATE planets SET alliance_id = 1 WHERE id = $_TD->{new}{planet};");
1240         }
1241 }
1242 if ($_TD->{old}{planet}){
1243         spi_exec_query("UPDATE planets SET nick = NULL WHERE id = $_TD->{old}{planet};");
1244 }
1245 if ($_TD->{new}{planet}){
1246         spi_exec_query("UPDATE planets SET nick = '$_TD->{new}{username}' WHERE id = $_TD->{new}{planet};");
1247 }
1248 return;$_X$
1249     LANGUAGE plperl;
1250
1251
1252 --
1253 -- Name: updated_target(); Type: FUNCTION; Schema: public; Owner: -
1254 --
1255
1256 CREATE FUNCTION updated_target() RETURNS trigger
1257     AS $_X$my $query = spi_prepare('UPDATE raid_targets SET modified = NOW() WHERE id = $1','int4');
1258 my $target = $_TD->{new}{target};
1259 $target = $_TD->{old}{target} if ($_TD->{event} eq 'DELETE');
1260 spi_exec_prepared($query,$target);
1261 spi_freeplan($query);$_X$
1262     LANGUAGE plperl;
1263
1264
1265 --
1266 -- Name: concat(text); Type: AGGREGATE; Schema: public; Owner: -
1267 --
1268
1269 CREATE AGGREGATE concat(text) (
1270     SFUNC = textcat,
1271     STYPE = text,
1272     INITCOND = ''
1273 );
1274
1275
1276 --
1277 -- Name: alliances_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1278 --
1279
1280 CREATE SEQUENCE alliances_id_seq
1281     INCREMENT BY 1
1282     NO MAXVALUE
1283     NO MINVALUE
1284     CACHE 1;
1285
1286
1287 --
1288 -- Name: alliances_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1289 --
1290
1291 ALTER SEQUENCE alliances_id_seq OWNED BY alliances.id;
1292
1293
1294 --
1295 -- Name: calls_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1296 --
1297
1298 CREATE SEQUENCE calls_id_seq
1299     INCREMENT BY 1
1300     NO MAXVALUE
1301     NO MINVALUE
1302     CACHE 1;
1303
1304
1305 --
1306 -- Name: calls_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1307 --
1308
1309 ALTER SEQUENCE calls_id_seq OWNED BY calls.id;
1310
1311
1312 --
1313 -- Name: channel_flags_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1314 --
1315
1316 CREATE SEQUENCE channel_flags_id_seq
1317     INCREMENT BY 1
1318     NO MAXVALUE
1319     NO MINVALUE
1320     CACHE 1;
1321
1322
1323 --
1324 -- Name: channel_flags_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1325 --
1326
1327 ALTER SEQUENCE channel_flags_id_seq OWNED BY channel_flags.id;
1328
1329
1330 --
1331 -- Name: channels_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1332 --
1333
1334 CREATE SEQUENCE channels_id_seq
1335     INCREMENT BY 1
1336     NO MAXVALUE
1337     NO MINVALUE
1338     CACHE 1;
1339
1340
1341 --
1342 -- Name: channels_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1343 --
1344
1345 ALTER SEQUENCE channels_id_seq OWNED BY channels.id;
1346
1347
1348 --
1349 -- Name: defense_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1350 --
1351
1352 CREATE SEQUENCE defense_requests_id_seq
1353     INCREMENT BY 1
1354     NO MAXVALUE
1355     NO MINVALUE
1356     CACHE 1;
1357
1358
1359 --
1360 -- Name: defense_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1361 --
1362
1363 ALTER SEQUENCE defense_requests_id_seq OWNED BY defense_requests.id;
1364
1365
1366 --
1367 -- Name: fleet_ships_num_seq; Type: SEQUENCE; Schema: public; Owner: -
1368 --
1369
1370 CREATE SEQUENCE fleet_ships_num_seq
1371     INCREMENT BY 1
1372     NO MAXVALUE
1373     NO MINVALUE
1374     CACHE 1;
1375
1376
1377 --
1378 -- Name: fleet_ships_num_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1379 --
1380
1381 ALTER SEQUENCE fleet_ships_num_seq OWNED BY fleet_ships.num;
1382
1383
1384 --
1385 -- Name: fleets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1386 --
1387
1388 CREATE SEQUENCE fleets_id_seq
1389     INCREMENT BY 1
1390     NO MAXVALUE
1391     NO MINVALUE
1392     CACHE 1;
1393
1394
1395 --
1396 -- Name: fleets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1397 --
1398
1399 ALTER SEQUENCE fleets_id_seq OWNED BY fleets.id;
1400
1401
1402 --
1403 -- Name: forum_boards_fbid_seq; Type: SEQUENCE; Schema: public; Owner: -
1404 --
1405
1406 CREATE SEQUENCE forum_boards_fbid_seq
1407     INCREMENT BY 1
1408     NO MAXVALUE
1409     NO MINVALUE
1410     CACHE 1;
1411
1412
1413 --
1414 -- Name: forum_boards_fbid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1415 --
1416
1417 ALTER SEQUENCE forum_boards_fbid_seq OWNED BY forum_boards.fbid;
1418
1419
1420 --
1421 -- Name: forum_categories_fcid_seq; Type: SEQUENCE; Schema: public; Owner: -
1422 --
1423
1424 CREATE SEQUENCE forum_categories_fcid_seq
1425     INCREMENT BY 1
1426     NO MAXVALUE
1427     NO MINVALUE
1428     CACHE 1;
1429
1430
1431 --
1432 -- Name: forum_categories_fcid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1433 --
1434
1435 ALTER SEQUENCE forum_categories_fcid_seq OWNED BY forum_categories.fcid;
1436
1437
1438 --
1439 -- Name: forum_posts_fpid_seq; Type: SEQUENCE; Schema: public; Owner: -
1440 --
1441
1442 CREATE SEQUENCE forum_posts_fpid_seq
1443     INCREMENT BY 1
1444     NO MAXVALUE
1445     NO MINVALUE
1446     CACHE 1;
1447
1448
1449 --
1450 -- Name: forum_posts_fpid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1451 --
1452
1453 ALTER SEQUENCE forum_posts_fpid_seq OWNED BY forum_posts.fpid;
1454
1455
1456 --
1457 -- Name: forum_threads_ftid_seq; Type: SEQUENCE; Schema: public; Owner: -
1458 --
1459
1460 CREATE SEQUENCE forum_threads_ftid_seq
1461     INCREMENT BY 1
1462     NO MAXVALUE
1463     NO MINVALUE
1464     CACHE 1;
1465
1466
1467 --
1468 -- Name: forum_threads_ftid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1469 --
1470
1471 ALTER SEQUENCE forum_threads_ftid_seq OWNED BY forum_threads.ftid;
1472
1473
1474 --
1475 -- Name: groups_gid_seq; Type: SEQUENCE; Schema: public; Owner: -
1476 --
1477
1478 CREATE SEQUENCE groups_gid_seq
1479     INCREMENT BY 1
1480     NO MAXVALUE
1481     NO MINVALUE
1482     CACHE 1;
1483
1484
1485 --
1486 -- Name: groups_gid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1487 --
1488
1489 ALTER SEQUENCE groups_gid_seq OWNED BY groups.gid;
1490
1491
1492 --
1493 -- Name: incomings_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1494 --
1495
1496 CREATE SEQUENCE incomings_id_seq
1497     INCREMENT BY 1
1498     NO MAXVALUE
1499     NO MINVALUE
1500     CACHE 1;
1501
1502
1503 --
1504 -- Name: incomings_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1505 --
1506
1507 ALTER SEQUENCE incomings_id_seq OWNED BY incomings.id;
1508
1509
1510 --
1511 -- Name: planet_data_types_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1512 --
1513
1514 CREATE SEQUENCE planet_data_types_id_seq
1515     INCREMENT BY 1
1516     NO MAXVALUE
1517     NO MINVALUE
1518     CACHE 1;
1519
1520
1521 --
1522 -- Name: planet_data_types_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1523 --
1524
1525 ALTER SEQUENCE planet_data_types_id_seq OWNED BY planet_data_types.id;
1526
1527
1528 --
1529 -- Name: planets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1530 --
1531
1532 CREATE SEQUENCE planets_id_seq
1533     INCREMENT BY 1
1534     NO MAXVALUE
1535     NO MINVALUE
1536     CACHE 1;
1537
1538
1539 --
1540 -- Name: planets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1541 --
1542
1543 ALTER SEQUENCE planets_id_seq OWNED BY planets.id;
1544
1545
1546 --
1547 -- Name: raid_targets_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1548 --
1549
1550 CREATE SEQUENCE raid_targets_id_seq
1551     INCREMENT BY 1
1552     NO MAXVALUE
1553     NO MINVALUE
1554     CACHE 1;
1555
1556
1557 --
1558 -- Name: raid_targets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1559 --
1560
1561 ALTER SEQUENCE raid_targets_id_seq OWNED BY raid_targets.id;
1562
1563
1564 --
1565 -- Name: raids_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1566 --
1567
1568 CREATE SEQUENCE raids_id_seq
1569     INCREMENT BY 1
1570     NO MAXVALUE
1571     NO MINVALUE
1572     CACHE 1;
1573
1574
1575 --
1576 -- Name: raids_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1577 --
1578
1579 ALTER SEQUENCE raids_id_seq OWNED BY raids.id;
1580
1581
1582 --
1583 -- Name: scans_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1584 --
1585
1586 CREATE SEQUENCE scans_id_seq
1587     INCREMENT BY 1
1588     NO MAXVALUE
1589     NO MINVALUE
1590     CACHE 1;
1591
1592
1593 --
1594 -- Name: scans_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1595 --
1596
1597 ALTER SEQUENCE scans_id_seq OWNED BY scans.id;
1598
1599
1600 --
1601 -- Name: test; Type: SEQUENCE; Schema: public; Owner: -
1602 --
1603
1604 CREATE SEQUENCE test
1605     INCREMENT BY 1
1606     NO MAXVALUE
1607     NO MINVALUE
1608     CACHE 1;
1609
1610
1611 --
1612 -- Name: users_uid_seq; Type: SEQUENCE; Schema: public; Owner: -
1613 --
1614
1615 CREATE SEQUENCE users_uid_seq
1616     INCREMENT BY 1
1617     NO MAXVALUE
1618     NO MINVALUE
1619     CACHE 1;
1620
1621
1622 --
1623 -- Name: users_uid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1624 --
1625
1626 ALTER SEQUENCE users_uid_seq OWNED BY users.uid;
1627
1628
1629 --
1630 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1631 --
1632
1633 ALTER TABLE alliances ALTER COLUMN id SET DEFAULT nextval('alliances_id_seq'::regclass);
1634
1635
1636 --
1637 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1638 --
1639
1640 ALTER TABLE calls ALTER COLUMN id SET DEFAULT nextval('calls_id_seq'::regclass);
1641
1642
1643 --
1644 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1645 --
1646
1647 ALTER TABLE channel_flags ALTER COLUMN id SET DEFAULT nextval('channel_flags_id_seq'::regclass);
1648
1649
1650 --
1651 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1652 --
1653
1654 ALTER TABLE channels ALTER COLUMN id SET DEFAULT nextval('channels_id_seq'::regclass);
1655
1656
1657 --
1658 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1659 --
1660
1661 ALTER TABLE defense_requests ALTER COLUMN id SET DEFAULT nextval('defense_requests_id_seq'::regclass);
1662
1663
1664 --
1665 -- Name: num; Type: DEFAULT; Schema: public; Owner: -
1666 --
1667
1668 ALTER TABLE fleet_ships ALTER COLUMN num SET DEFAULT nextval('fleet_ships_num_seq'::regclass);
1669
1670
1671 --
1672 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1673 --
1674
1675 ALTER TABLE fleets ALTER COLUMN id SET DEFAULT nextval('fleets_id_seq'::regclass);
1676
1677
1678 --
1679 -- Name: fbid; Type: DEFAULT; Schema: public; Owner: -
1680 --
1681
1682 ALTER TABLE forum_boards ALTER COLUMN fbid SET DEFAULT nextval('forum_boards_fbid_seq'::regclass);
1683
1684
1685 --
1686 -- Name: fcid; Type: DEFAULT; Schema: public; Owner: -
1687 --
1688
1689 ALTER TABLE forum_categories ALTER COLUMN fcid SET DEFAULT nextval('forum_categories_fcid_seq'::regclass);
1690
1691
1692 --
1693 -- Name: fpid; Type: DEFAULT; Schema: public; Owner: -
1694 --
1695
1696 ALTER TABLE forum_posts ALTER COLUMN fpid SET DEFAULT nextval('forum_posts_fpid_seq'::regclass);
1697
1698
1699 --
1700 -- Name: ftid; Type: DEFAULT; Schema: public; Owner: -
1701 --
1702
1703 ALTER TABLE forum_threads ALTER COLUMN ftid SET DEFAULT nextval('forum_threads_ftid_seq'::regclass);
1704
1705
1706 --
1707 -- Name: gid; Type: DEFAULT; Schema: public; Owner: -
1708 --
1709
1710 ALTER TABLE groups ALTER COLUMN gid SET DEFAULT nextval('groups_gid_seq'::regclass);
1711
1712
1713 --
1714 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1715 --
1716
1717 ALTER TABLE incomings ALTER COLUMN id SET DEFAULT nextval('incomings_id_seq'::regclass);
1718
1719
1720 --
1721 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1722 --
1723
1724 ALTER TABLE planet_data_types ALTER COLUMN id SET DEFAULT nextval('planet_data_types_id_seq'::regclass);
1725
1726
1727 --
1728 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1729 --
1730
1731 ALTER TABLE planets ALTER COLUMN id SET DEFAULT nextval('planets_id_seq'::regclass);
1732
1733
1734 --
1735 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1736 --
1737
1738 ALTER TABLE raid_targets ALTER COLUMN id SET DEFAULT nextval('raid_targets_id_seq'::regclass);
1739
1740
1741 --
1742 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1743 --
1744
1745 ALTER TABLE raids ALTER COLUMN id SET DEFAULT nextval('raids_id_seq'::regclass);
1746
1747
1748 --
1749 -- Name: id; Type: DEFAULT; Schema: public; Owner: -
1750 --
1751
1752 ALTER TABLE scans ALTER COLUMN id SET DEFAULT nextval('scans_id_seq'::regclass);
1753
1754
1755 --
1756 -- Name: uid; Type: DEFAULT; Schema: public; Owner: -
1757 --
1758
1759 ALTER TABLE users ALTER COLUMN uid SET DEFAULT nextval('users_uid_seq'::regclass);
1760
1761
1762 --
1763 -- Name: accounts_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1764 --
1765
1766 ALTER TABLE ONLY users
1767     ADD CONSTRAINT accounts_pkey PRIMARY KEY (uid);
1768
1769
1770 --
1771 -- Name: alliance_stats_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1772 --
1773
1774 ALTER TABLE ONLY alliance_stats
1775     ADD CONSTRAINT alliance_stats_pkey PRIMARY KEY (id, tick);
1776
1777
1778 --
1779 -- Name: alliances_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1780 --
1781
1782 ALTER TABLE ONLY alliances
1783     ADD CONSTRAINT alliances_name_key UNIQUE (name);
1784
1785
1786 --
1787 -- Name: alliances_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1788 --
1789
1790 ALTER TABLE ONLY alliances
1791     ADD CONSTRAINT alliances_pkey PRIMARY KEY (id);
1792
1793
1794 --
1795 -- Name: calls_member_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1796 --
1797
1798 ALTER TABLE ONLY calls
1799     ADD CONSTRAINT calls_member_key UNIQUE (member, landing_tick);
1800
1801
1802 --
1803 -- Name: calls_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1804 --
1805
1806 ALTER TABLE ONLY calls
1807     ADD CONSTRAINT calls_pkey PRIMARY KEY (id);
1808
1809
1810 --
1811 -- Name: channel_flags_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1812 --
1813
1814 ALTER TABLE ONLY channel_flags
1815     ADD CONSTRAINT channel_flags_name_key UNIQUE (name);
1816
1817
1818 --
1819 -- Name: channel_flags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1820 --
1821
1822 ALTER TABLE ONLY channel_flags
1823     ADD CONSTRAINT channel_flags_pkey PRIMARY KEY (id);
1824
1825
1826 --
1827 -- Name: channel_group_flags_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1828 --
1829
1830 ALTER TABLE ONLY channel_group_flags
1831     ADD CONSTRAINT channel_group_flags_pkey PRIMARY KEY (channel, "group", flag);
1832
1833
1834 --
1835 -- Name: channels_name_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1836 --
1837
1838 ALTER TABLE ONLY channels
1839     ADD CONSTRAINT channels_name_key UNIQUE (name);
1840
1841
1842 --
1843 -- Name: channels_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1844 --
1845
1846 ALTER TABLE ONLY channels
1847     ADD CONSTRAINT channels_pkey PRIMARY KEY (id);
1848
1849
1850 --
1851 -- Name: covop_attacks_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1852 --
1853
1854 ALTER TABLE ONLY covop_attacks
1855     ADD CONSTRAINT covop_attacks_pkey PRIMARY KEY (id, tick, uid);
1856
1857
1858 --
1859 -- Name: defense_missions_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1860 --
1861
1862 ALTER TABLE ONLY defense_missions
1863     ADD CONSTRAINT defense_missions_pkey PRIMARY KEY (fleet);
1864
1865
1866 --
1867 -- Name: defense_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1868 --
1869
1870 ALTER TABLE ONLY defense_requests
1871     ADD CONSTRAINT defense_requests_pkey PRIMARY KEY (id);
1872
1873
1874 --
1875 -- Name: dumps_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1876 --
1877
1878 ALTER TABLE ONLY dumps
1879     ADD CONSTRAINT dumps_pkey PRIMARY KEY (tick, type, modified);
1880
1881
1882 --
1883 -- Name: fleet_scans_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1884 --
1885
1886 ALTER TABLE ONLY fleet_scans
1887     ADD CONSTRAINT fleet_scans_pkey PRIMARY KEY (id);
1888
1889
1890 --
1891 -- Name: fleet_ships_num_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1892 --
1893
1894 ALTER TABLE ONLY fleet_ships
1895     ADD CONSTRAINT fleet_ships_num_key UNIQUE (num);
1896
1897
1898 --
1899 -- Name: fleet_ships_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1900 --
1901
1902 ALTER TABLE ONLY fleet_ships
1903     ADD CONSTRAINT fleet_ships_pkey PRIMARY KEY (id, ship);
1904
1905
1906 --
1907 -- Name: fleets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1908 --
1909
1910 ALTER TABLE ONLY fleets
1911     ADD CONSTRAINT fleets_pkey PRIMARY KEY (id);
1912
1913
1914 --
1915 -- Name: forum_access_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1916 --
1917
1918 ALTER TABLE ONLY forum_access
1919     ADD CONSTRAINT forum_access_pkey PRIMARY KEY (fbid, gid);
1920
1921
1922 --
1923 -- Name: forum_boards_fcid_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1924 --
1925
1926 ALTER TABLE ONLY forum_boards
1927     ADD CONSTRAINT forum_boards_fcid_key UNIQUE (fcid, board);
1928
1929
1930 --
1931 -- Name: forum_boards_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1932 --
1933
1934 ALTER TABLE ONLY forum_boards
1935     ADD CONSTRAINT forum_boards_pkey PRIMARY KEY (fbid);
1936
1937
1938 --
1939 -- Name: forum_categories_category_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1940 --
1941
1942 ALTER TABLE ONLY forum_categories
1943     ADD CONSTRAINT forum_categories_category_key UNIQUE (category);
1944
1945
1946 --
1947 -- Name: forum_categories_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1948 --
1949
1950 ALTER TABLE ONLY forum_categories
1951     ADD CONSTRAINT forum_categories_pkey PRIMARY KEY (fcid);
1952
1953
1954 --
1955 -- Name: forum_posts_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1956 --
1957
1958 ALTER TABLE ONLY forum_posts
1959     ADD CONSTRAINT forum_posts_pkey PRIMARY KEY (fpid);
1960
1961
1962 --
1963 -- Name: forum_thread_visits_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1964 --
1965
1966 ALTER TABLE ONLY forum_thread_visits
1967     ADD CONSTRAINT forum_thread_visits_pkey PRIMARY KEY (uid, ftid);
1968
1969
1970 --
1971 -- Name: forum_threads_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1972 --
1973
1974 ALTER TABLE ONLY forum_threads
1975     ADD CONSTRAINT forum_threads_pkey PRIMARY KEY (ftid);
1976
1977
1978 --
1979 -- Name: galaxies_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1980 --
1981
1982 ALTER TABLE ONLY galaxies
1983     ADD CONSTRAINT galaxies_pkey PRIMARY KEY (x, y, tick);
1984
1985
1986 --
1987 -- Name: graphs_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1988 --
1989
1990 ALTER TABLE ONLY graphs
1991     ADD CONSTRAINT graphs_pkey PRIMARY KEY (type, id);
1992
1993
1994 --
1995 -- Name: groupmembers_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
1996 --
1997
1998 ALTER TABLE ONLY groupmembers
1999     ADD CONSTRAINT groupmembers_pkey PRIMARY KEY (gid, uid);
2000
2001
2002 --
2003 -- Name: groups_groupname_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2004 --
2005
2006 ALTER TABLE ONLY groups
2007     ADD CONSTRAINT groups_groupname_key UNIQUE (groupname);
2008
2009
2010 --
2011 -- Name: groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2012 --
2013
2014 ALTER TABLE ONLY groups
2015     ADD CONSTRAINT groups_pkey PRIMARY KEY (gid);
2016
2017
2018 --
2019 -- Name: incomings_call_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2020 --
2021
2022 ALTER TABLE ONLY incomings
2023     ADD CONSTRAINT incomings_call_key UNIQUE (call, sender, fleet);
2024
2025
2026 --
2027 -- Name: incomings_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2028 --
2029
2030 ALTER TABLE ONLY incomings
2031     ADD CONSTRAINT incomings_pkey PRIMARY KEY (id);
2032
2033
2034 --
2035 -- Name: misc_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2036 --
2037
2038 ALTER TABLE ONLY misc
2039     ADD CONSTRAINT misc_pkey PRIMARY KEY (id);
2040
2041
2042 --
2043 -- Name: planet_data_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2044 --
2045
2046 ALTER TABLE ONLY planet_data
2047     ADD CONSTRAINT planet_data_pkey PRIMARY KEY (rid, scan);
2048
2049
2050 --
2051 -- Name: planet_data_types_category_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2052 --
2053
2054 ALTER TABLE ONLY planet_data_types
2055     ADD CONSTRAINT planet_data_types_category_key UNIQUE (category, name);
2056
2057
2058 --
2059 -- Name: planet_data_types_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2060 --
2061
2062 ALTER TABLE ONLY planet_data_types
2063     ADD CONSTRAINT planet_data_types_pkey PRIMARY KEY (id);
2064
2065
2066 --
2067 -- Name: planet_stats_id_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2068 --
2069
2070 ALTER TABLE ONLY planet_stats
2071     ADD CONSTRAINT planet_stats_id_key UNIQUE (id, tick);
2072
2073
2074 --
2075 -- Name: planet_stats_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2076 --
2077
2078 ALTER TABLE ONLY planet_stats
2079     ADD CONSTRAINT planet_stats_pkey PRIMARY KEY (tick, x, y, z);
2080
2081
2082 --
2083 -- Name: planets_ftid_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2084 --
2085
2086 ALTER TABLE ONLY planets
2087     ADD CONSTRAINT planets_ftid_key UNIQUE (ftid);
2088
2089
2090 --
2091 -- Name: planets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2092 --
2093
2094 ALTER TABLE ONLY planets
2095     ADD CONSTRAINT planets_pkey PRIMARY KEY (id);
2096
2097
2098 --
2099 -- Name: planets_ruler_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2100 --
2101
2102 ALTER TABLE ONLY planets
2103     ADD CONSTRAINT planets_ruler_key UNIQUE (ruler, planet);
2104
2105
2106 --
2107 -- Name: raid_access_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2108 --
2109
2110 ALTER TABLE ONLY raid_access
2111     ADD CONSTRAINT raid_access_pkey PRIMARY KEY (raid, gid);
2112
2113
2114 --
2115 -- Name: raid_claims_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2116 --
2117
2118 ALTER TABLE ONLY raid_claims
2119     ADD CONSTRAINT raid_claims_pkey PRIMARY KEY (target, uid, wave);
2120
2121
2122 --
2123 -- Name: raid_targets_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2124 --
2125
2126 ALTER TABLE ONLY raid_targets
2127     ADD CONSTRAINT raid_targets_pkey PRIMARY KEY (id);
2128
2129
2130 --
2131 -- Name: raid_targets_raid_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2132 --
2133
2134 ALTER TABLE ONLY raid_targets
2135     ADD CONSTRAINT raid_targets_raid_key UNIQUE (raid, planet);
2136
2137
2138 --
2139 -- Name: raids_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2140 --
2141
2142 ALTER TABLE ONLY raids
2143     ADD CONSTRAINT raids_pkey PRIMARY KEY (id);
2144
2145
2146 --
2147 -- Name: scans_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2148 --
2149
2150 ALTER TABLE ONLY scans
2151     ADD CONSTRAINT scans_pkey PRIMARY KEY (id);
2152
2153
2154 --
2155 -- Name: scans_scan_id_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2156 --
2157
2158 ALTER TABLE ONLY scans
2159     ADD CONSTRAINT scans_scan_id_key UNIQUE (scan_id, tick, groupscan);
2160
2161
2162 --
2163 -- Name: ship_stats_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2164 --
2165
2166 ALTER TABLE ONLY ship_stats
2167     ADD CONSTRAINT ship_stats_pkey PRIMARY KEY (name);
2168
2169
2170 --
2171 -- Name: smslist_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2172 --
2173
2174 ALTER TABLE ONLY smslist
2175     ADD CONSTRAINT smslist_pkey PRIMARY KEY (sms);
2176
2177
2178 --
2179 -- Name: users_planet_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2180 --
2181
2182 ALTER TABLE ONLY users
2183     ADD CONSTRAINT users_planet_key UNIQUE (planet);
2184
2185
2186 --
2187 -- Name: users_tfid_key; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: 
2188 --
2189
2190 ALTER TABLE ONLY users
2191     ADD CONSTRAINT users_tfid_key UNIQUE (ftid);
2192
2193
2194 --
2195 -- Name: fleets_ingal_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2196 --
2197
2198 CREATE INDEX fleets_ingal_index ON fleets USING btree (ingal);
2199
2200
2201 --
2202 -- Name: fleets_mission_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2203 --
2204
2205 CREATE INDEX fleets_mission_index ON fleets USING btree (mission);
2206
2207
2208 --
2209 -- Name: fleets_sender_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2210 --
2211
2212 CREATE INDEX fleets_sender_index ON fleets USING btree (sender);
2213
2214
2215 --
2216 -- Name: fleets_target_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2217 --
2218
2219 CREATE INDEX fleets_target_index ON fleets USING btree (target);
2220
2221
2222 --
2223 -- Name: fleets_tick_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2224 --
2225
2226 CREATE INDEX fleets_tick_index ON fleets USING btree (tick);
2227
2228
2229 --
2230 -- Name: forum_access_gid_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2231 --
2232
2233 CREATE INDEX forum_access_gid_index ON forum_access USING btree (gid);
2234
2235
2236 --
2237 -- Name: forum_posts_ftid_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2238 --
2239
2240 CREATE INDEX forum_posts_ftid_index ON forum_posts USING btree (ftid);
2241
2242
2243 --
2244 -- Name: forum_posts_textsearch_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2245 --
2246
2247 CREATE INDEX forum_posts_textsearch_index ON forum_posts USING gin (textsearch);
2248
2249
2250 --
2251 -- Name: forum_posts_time_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2252 --
2253
2254 CREATE INDEX forum_posts_time_index ON forum_posts USING btree ("time");
2255
2256
2257 --
2258 -- Name: groupmembers_uid_key; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2259 --
2260
2261 CREATE INDEX groupmembers_uid_key ON groupmembers USING btree (uid);
2262
2263
2264 --
2265 -- Name: planet_data_id_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2266 --
2267
2268 CREATE INDEX planet_data_id_index ON planet_data USING btree (id);
2269
2270
2271 --
2272 -- Name: planet_stats_score_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2273 --
2274
2275 CREATE INDEX planet_stats_score_index ON planet_stats USING btree (tick, score);
2276
2277
2278 --
2279 -- Name: planet_stats_scorerank_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2280 --
2281
2282 CREATE INDEX planet_stats_scorerank_index ON planet_stats USING btree (tick, scorerank);
2283
2284
2285 --
2286 -- Name: planet_stats_size_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2287 --
2288
2289 CREATE INDEX planet_stats_size_index ON planet_stats USING btree (tick, size);
2290
2291
2292 --
2293 -- Name: planet_stats_sizerank_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2294 --
2295
2296 CREATE INDEX planet_stats_sizerank_index ON planet_stats USING btree (tick, sizerank);
2297
2298
2299 --
2300 -- Name: planet_stats_value_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2301 --
2302
2303 CREATE INDEX planet_stats_value_index ON planet_stats USING btree (tick, value);
2304
2305
2306 --
2307 -- Name: planet_stats_valuerank_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2308 --
2309
2310 CREATE INDEX planet_stats_valuerank_index ON planet_stats USING btree (tick, valuerank);
2311
2312
2313 --
2314 -- Name: planet_stats_xprank_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2315 --
2316
2317 CREATE INDEX planet_stats_xprank_index ON planet_stats USING btree (tick, xprank);
2318
2319
2320 --
2321 -- Name: planets_alliance_id_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2322 --
2323
2324 CREATE INDEX planets_alliance_id_index ON planets USING btree (alliance_id);
2325
2326
2327 --
2328 -- Name: planets_nick_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2329 --
2330
2331 CREATE INDEX planets_nick_index ON planets USING btree (nick);
2332
2333
2334 --
2335 -- Name: raid_targets_modified_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2336 --
2337
2338 CREATE INDEX raid_targets_modified_index ON raid_targets USING btree (modified);
2339
2340
2341 --
2342 -- Name: scans_parsed_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2343 --
2344
2345 CREATE INDEX scans_parsed_index ON scans USING btree (parsed);
2346
2347
2348 --
2349 -- Name: smslist_nick_key; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2350 --
2351
2352 CREATE UNIQUE INDEX smslist_nick_key ON smslist USING btree (lower(nick));
2353
2354
2355 --
2356 -- Name: users_hostmask_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2357 --
2358
2359 CREATE UNIQUE INDEX users_hostmask_index ON users USING btree (lower(hostmask));
2360
2361
2362 --
2363 -- Name: users_pnick_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2364 --
2365
2366 CREATE UNIQUE INDEX users_pnick_index ON users USING btree (lower(pnick));
2367
2368
2369 --
2370 -- Name: users_username_index; Type: INDEX; Schema: public; Owner: -; Tablespace: 
2371 --
2372
2373 CREATE UNIQUE INDEX users_username_index ON users USING btree (lower(username));
2374
2375
2376 --
2377 -- Name: add_call; Type: TRIGGER; Schema: public; Owner: -
2378 --
2379
2380 CREATE TRIGGER add_call
2381     BEFORE INSERT ON calls
2382     FOR EACH ROW
2383     EXECUTE PROCEDURE add_call();
2384
2385
2386 --
2387 -- Name: add_remove_member; Type: TRIGGER; Schema: public; Owner: -
2388 --
2389
2390 CREATE TRIGGER add_remove_member
2391     AFTER INSERT OR DELETE ON groupmembers
2392     FOR EACH ROW
2393     EXECUTE PROCEDURE change_member();
2394
2395
2396 --
2397 -- Name: add_user; Type: TRIGGER; Schema: public; Owner: -
2398 --
2399
2400 CREATE TRIGGER add_user
2401     BEFORE INSERT ON users
2402     FOR EACH ROW
2403     EXECUTE PROCEDURE add_user();
2404
2405
2406 --
2407 -- Name: unclaim_target; Type: TRIGGER; Schema: public; Owner: -
2408 --
2409
2410 CREATE TRIGGER unclaim_target
2411     AFTER DELETE ON raid_claims
2412     FOR EACH ROW
2413     EXECUTE PROCEDURE unclaim_target();
2414
2415
2416 --
2417 -- Name: update_forum_post; Type: TRIGGER; Schema: public; Owner: -
2418 --
2419
2420 CREATE TRIGGER update_forum_post
2421     BEFORE INSERT OR UPDATE ON forum_posts
2422     FOR EACH ROW
2423     EXECUTE PROCEDURE update_forum_post();
2424
2425
2426 --
2427 -- Name: update_planet; Type: TRIGGER; Schema: public; Owner: -
2428 --
2429
2430 CREATE TRIGGER update_planet
2431     AFTER UPDATE ON users
2432     FOR EACH ROW
2433     EXECUTE PROCEDURE update_user_planet();
2434
2435
2436 --
2437 -- Name: update_target; Type: TRIGGER; Schema: public; Owner: -
2438 --
2439
2440 CREATE TRIGGER update_target
2441     AFTER INSERT OR DELETE OR UPDATE ON raid_claims
2442     FOR EACH ROW
2443     EXECUTE PROCEDURE updated_target();
2444
2445
2446 --
2447 -- Name: alliance_stats_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2448 --
2449
2450 ALTER TABLE ONLY alliance_stats
2451     ADD CONSTRAINT alliance_stats_id_fkey FOREIGN KEY (id) REFERENCES alliances(id);
2452
2453
2454 --
2455 -- Name: calls_dc_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2456 --
2457
2458 ALTER TABLE ONLY calls
2459     ADD CONSTRAINT calls_dc_fkey FOREIGN KEY (dc) REFERENCES users(uid) ON UPDATE SET NULL ON DELETE SET NULL;
2460
2461
2462 --
2463 -- Name: calls_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2464 --
2465
2466 ALTER TABLE ONLY calls
2467     ADD CONSTRAINT calls_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid);
2468
2469
2470 --
2471 -- Name: calls_member_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2472 --
2473
2474 ALTER TABLE ONLY calls
2475     ADD CONSTRAINT calls_member_fkey FOREIGN KEY (member) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
2476
2477
2478 --
2479 -- Name: channel_group_flags_channel_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2480 --
2481
2482 ALTER TABLE ONLY channel_group_flags
2483     ADD CONSTRAINT channel_group_flags_channel_fkey FOREIGN KEY (channel) REFERENCES channels(id) ON UPDATE CASCADE ON DELETE CASCADE;
2484
2485
2486 --
2487 -- Name: channel_group_flags_flag_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2488 --
2489
2490 ALTER TABLE ONLY channel_group_flags
2491     ADD CONSTRAINT channel_group_flags_flag_fkey FOREIGN KEY (flag) REFERENCES channel_flags(id) ON UPDATE CASCADE ON DELETE CASCADE;
2492
2493
2494 --
2495 -- Name: channel_group_flags_group_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2496 --
2497
2498 ALTER TABLE ONLY channel_group_flags
2499     ADD CONSTRAINT channel_group_flags_group_fkey FOREIGN KEY ("group") REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
2500
2501
2502 --
2503 -- Name: covop_attacks_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2504 --
2505
2506 ALTER TABLE ONLY covop_attacks
2507     ADD CONSTRAINT covop_attacks_id_fkey FOREIGN KEY (id) REFERENCES planets(id);
2508
2509
2510 --
2511 -- Name: covop_attacks_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2512 --
2513
2514 ALTER TABLE ONLY covop_attacks
2515     ADD CONSTRAINT covop_attacks_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
2516
2517
2518 --
2519 -- Name: defense_missions_call_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2520 --
2521
2522 ALTER TABLE ONLY defense_missions
2523     ADD CONSTRAINT defense_missions_call_fkey FOREIGN KEY (call) REFERENCES calls(id) ON UPDATE CASCADE ON DELETE CASCADE;
2524
2525
2526 --
2527 -- Name: defense_missions_fleet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2528 --
2529
2530 ALTER TABLE ONLY defense_missions
2531     ADD CONSTRAINT defense_missions_fleet_fkey FOREIGN KEY (fleet) REFERENCES fleets(id) ON UPDATE CASCADE ON DELETE CASCADE;
2532
2533
2534 --
2535 -- Name: defense_requests_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2536 --
2537
2538 ALTER TABLE ONLY defense_requests
2539     ADD CONSTRAINT defense_requests_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
2540
2541
2542 --
2543 -- Name: fleet_scans_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2544 --
2545
2546 ALTER TABLE ONLY fleet_scans
2547     ADD CONSTRAINT fleet_scans_id_fkey FOREIGN KEY (id) REFERENCES fleets(id) ON DELETE CASCADE;
2548
2549
2550 --
2551 -- Name: fleet_scans_scan_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2552 --
2553
2554 ALTER TABLE ONLY fleet_scans
2555     ADD CONSTRAINT fleet_scans_scan_fkey FOREIGN KEY (scan) REFERENCES scans(id);
2556
2557
2558 --
2559 -- Name: fleet_ships_fleet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2560 --
2561
2562 ALTER TABLE ONLY fleet_ships
2563     ADD CONSTRAINT fleet_ships_fleet_fkey FOREIGN KEY (id) REFERENCES fleets(id) ON UPDATE CASCADE ON DELETE CASCADE;
2564
2565
2566 --
2567 -- Name: fleet_ships_ship_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2568 --
2569
2570 ALTER TABLE ONLY fleet_ships
2571     ADD CONSTRAINT fleet_ships_ship_fkey FOREIGN KEY (ship) REFERENCES ship_stats(name);
2572
2573
2574 --
2575 -- Name: fleets_sender_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2576 --
2577
2578 ALTER TABLE ONLY fleets
2579     ADD CONSTRAINT fleets_sender_fkey FOREIGN KEY (sender) REFERENCES planets(id) ON UPDATE CASCADE ON DELETE CASCADE;
2580
2581
2582 --
2583 -- Name: fleets_target_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2584 --
2585
2586 ALTER TABLE ONLY fleets
2587     ADD CONSTRAINT fleets_target_fkey FOREIGN KEY (target) REFERENCES planets(id) ON UPDATE CASCADE ON DELETE CASCADE;
2588
2589
2590 --
2591 -- Name: fleets_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2592 --
2593
2594 ALTER TABLE ONLY fleets
2595     ADD CONSTRAINT fleets_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
2596
2597
2598 --
2599 -- Name: forum_access_fbid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2600 --
2601
2602 ALTER TABLE ONLY forum_access
2603     ADD CONSTRAINT forum_access_fbid_fkey FOREIGN KEY (fbid) REFERENCES forum_boards(fbid) ON UPDATE CASCADE ON DELETE CASCADE;
2604
2605
2606 --
2607 -- Name: forum_access_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2608 --
2609
2610 ALTER TABLE ONLY forum_access
2611     ADD CONSTRAINT forum_access_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
2612
2613
2614 --
2615 -- Name: forum_boards_fcid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2616 --
2617
2618 ALTER TABLE ONLY forum_boards
2619     ADD CONSTRAINT forum_boards_fcid_fkey FOREIGN KEY (fcid) REFERENCES forum_categories(fcid) ON UPDATE CASCADE ON DELETE CASCADE;
2620
2621
2622 --
2623 -- Name: forum_posts_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2624 --
2625
2626 ALTER TABLE ONLY forum_posts
2627     ADD CONSTRAINT forum_posts_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE CASCADE ON DELETE CASCADE;
2628
2629
2630 --
2631 -- Name: forum_posts_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2632 --
2633
2634 ALTER TABLE ONLY forum_posts
2635     ADD CONSTRAINT forum_posts_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
2636
2637
2638 --
2639 -- Name: forum_thread_visits_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2640 --
2641
2642 ALTER TABLE ONLY forum_thread_visits
2643     ADD CONSTRAINT forum_thread_visits_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE CASCADE ON DELETE CASCADE;
2644
2645
2646 --
2647 -- Name: forum_thread_visits_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2648 --
2649
2650 ALTER TABLE ONLY forum_thread_visits
2651     ADD CONSTRAINT forum_thread_visits_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
2652
2653
2654 --
2655 -- Name: forum_threads_fbid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2656 --
2657
2658 ALTER TABLE ONLY forum_threads
2659     ADD CONSTRAINT forum_threads_fbid_fkey FOREIGN KEY (fbid) REFERENCES forum_boards(fbid) ON UPDATE CASCADE ON DELETE CASCADE;
2660
2661
2662 --
2663 -- Name: forum_threads_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2664 --
2665
2666 ALTER TABLE ONLY forum_threads
2667     ADD CONSTRAINT forum_threads_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE RESTRICT;
2668
2669
2670 --
2671 -- Name: groupmembers_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2672 --
2673
2674 ALTER TABLE ONLY groupmembers
2675     ADD CONSTRAINT groupmembers_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
2676
2677
2678 --
2679 -- Name: groupmembers_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2680 --
2681
2682 ALTER TABLE ONLY groupmembers
2683     ADD CONSTRAINT groupmembers_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
2684
2685
2686 --
2687 -- Name: incomings_call_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2688 --
2689
2690 ALTER TABLE ONLY incomings
2691     ADD CONSTRAINT incomings_call_fkey FOREIGN KEY (call) REFERENCES calls(id) ON UPDATE CASCADE ON DELETE CASCADE;
2692
2693
2694 --
2695 -- Name: incomings_sender_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2696 --
2697
2698 ALTER TABLE ONLY incomings
2699     ADD CONSTRAINT incomings_sender_fkey FOREIGN KEY (sender) REFERENCES planets(id) ON UPDATE CASCADE ON DELETE CASCADE;
2700
2701
2702 --
2703 -- Name: planet_data_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2704 --
2705
2706 ALTER TABLE ONLY planet_data
2707     ADD CONSTRAINT planet_data_id_fkey FOREIGN KEY (id) REFERENCES planets(id);
2708
2709
2710 --
2711 -- Name: planet_data_rid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2712 --
2713
2714 ALTER TABLE ONLY planet_data
2715     ADD CONSTRAINT planet_data_rid_fkey FOREIGN KEY (rid) REFERENCES planet_data_types(id);
2716
2717
2718 --
2719 -- Name: planet_data_scan_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2720 --
2721
2722 ALTER TABLE ONLY planet_data
2723     ADD CONSTRAINT planet_data_scan_fkey FOREIGN KEY (scan) REFERENCES scans(id);
2724
2725
2726 --
2727 -- Name: planet_stats_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2728 --
2729
2730 ALTER TABLE ONLY planet_stats
2731     ADD CONSTRAINT planet_stats_id_fkey FOREIGN KEY (id) REFERENCES planets(id) ON UPDATE CASCADE ON DELETE CASCADE;
2732
2733
2734 --
2735 -- Name: planets_alliance_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2736 --
2737
2738 ALTER TABLE ONLY planets
2739     ADD CONSTRAINT planets_alliance_id_fkey FOREIGN KEY (alliance_id) REFERENCES alliances(id) ON UPDATE SET NULL ON DELETE SET NULL;
2740
2741
2742 --
2743 -- Name: planets_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2744 --
2745
2746 ALTER TABLE ONLY planets
2747     ADD CONSTRAINT planets_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE RESTRICT ON DELETE RESTRICT;
2748
2749
2750 --
2751 -- Name: raid_access_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2752 --
2753
2754 ALTER TABLE ONLY raid_access
2755     ADD CONSTRAINT raid_access_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
2756
2757
2758 --
2759 -- Name: raid_access_raid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2760 --
2761
2762 ALTER TABLE ONLY raid_access
2763     ADD CONSTRAINT raid_access_raid_fkey FOREIGN KEY (raid) REFERENCES raids(id) ON UPDATE CASCADE ON DELETE CASCADE;
2764
2765
2766 --
2767 -- Name: raid_claims_target_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2768 --
2769
2770 ALTER TABLE ONLY raid_claims
2771     ADD CONSTRAINT raid_claims_target_fkey FOREIGN KEY (target) REFERENCES raid_targets(id) ON UPDATE CASCADE ON DELETE CASCADE;
2772
2773
2774 --
2775 -- Name: raid_claims_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2776 --
2777
2778 ALTER TABLE ONLY raid_claims
2779     ADD CONSTRAINT raid_claims_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
2780
2781
2782 --
2783 -- Name: raid_targets_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2784 --
2785
2786 ALTER TABLE ONLY raid_targets
2787     ADD CONSTRAINT raid_targets_planet_fkey FOREIGN KEY (planet) REFERENCES planets(id) ON UPDATE CASCADE ON DELETE CASCADE;
2788
2789
2790 --
2791 -- Name: raid_targets_raid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2792 --
2793
2794 ALTER TABLE ONLY raid_targets
2795     ADD CONSTRAINT raid_targets_raid_fkey FOREIGN KEY (raid) REFERENCES raids(id) ON UPDATE CASCADE ON DELETE CASCADE;
2796
2797
2798 --
2799 -- Name: scans_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2800 --
2801
2802 ALTER TABLE ONLY scans
2803     ADD CONSTRAINT scans_planet_fkey FOREIGN KEY (planet) REFERENCES planets(id) ON UPDATE CASCADE ON DELETE CASCADE;
2804
2805
2806 --
2807 -- Name: scans_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2808 --
2809
2810 ALTER TABLE ONLY scans
2811     ADD CONSTRAINT scans_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE RESTRICT ON DELETE RESTRICT;
2812
2813
2814 --
2815 -- Name: users_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2816 --
2817
2818 ALTER TABLE ONLY users
2819     ADD CONSTRAINT users_planet_fkey FOREIGN KEY (planet) REFERENCES planets(id) ON UPDATE SET NULL ON DELETE SET NULL;
2820
2821
2822 --
2823 -- Name: users_tfid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
2824 --
2825
2826 ALTER TABLE ONLY users
2827     ADD CONSTRAINT users_tfid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE SET NULL ON DELETE SET NULL;
2828
2829
2830 --
2831 -- Name: public; Type: ACL; Schema: -; Owner: -
2832 --
2833
2834 REVOKE ALL ON SCHEMA public FROM PUBLIC;
2835 REVOKE ALL ON SCHEMA public FROM postgres;
2836 GRANT ALL ON SCHEMA public TO postgres;
2837 GRANT ALL ON SCHEMA public TO PUBLIC;
2838
2839
2840 --
2841 -- PostgreSQL database dump complete
2842 --
2843