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