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