]> ruin.nu Git - ndwebbie.git/blob - database/ndawn.sql
ruler and planet name don't need to be unique anymore
[ndwebbie.git] / database / ndawn.sql
1 --
2 -- PostgreSQL database dump
3 --
4
5 -- Dumped from database version 9.5.1
6 -- Dumped by pg_dump version 9.5.1
7
8 SET statement_timeout = 0;
9 SET lock_timeout = 0;
10 SET client_encoding = 'UTF8';
11 SET standard_conforming_strings = on;
12 SET check_function_bodies = false;
13 SET client_min_messages = warning;
14 SET row_security = off;
15
16 --
17 -- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: 
18 --
19
20 CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
21
22
23 --
24 -- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: 
25 --
26
27 COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
28
29
30 --
31 -- Name: citext; Type: EXTENSION; Schema: -; Owner: 
32 --
33
34 CREATE EXTENSION IF NOT EXISTS citext WITH SCHEMA public;
35
36
37 --
38 -- Name: EXTENSION citext; Type: COMMENT; Schema: -; Owner: 
39 --
40
41 COMMENT ON EXTENSION citext IS 'data type for case-insensitive character strings';
42
43
44 --
45 -- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: 
46 --
47
48 CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public;
49
50
51 --
52 -- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: 
53 --
54
55 COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams';
56
57
58 SET search_path = public, pg_catalog;
59
60 --
61 -- Name: ead_status; Type: TYPE; Schema: public; Owner: ndawn
62 --
63
64 CREATE TYPE ead_status AS ENUM (
65     '',
66     'NAP',
67     'Friendly',
68     'Hostile'
69 );
70
71
72 ALTER TYPE ead_status OWNER TO ndawn;
73
74 --
75 -- Name: governments; Type: TYPE; Schema: public; Owner: ndawn
76 --
77
78 CREATE TYPE governments AS ENUM (
79     '',
80     'Feu',
81     'Dic',
82     'Dem',
83     'Uni'
84 );
85
86
87 ALTER TYPE governments OWNER TO ndawn;
88
89 --
90 -- Name: race; Type: TYPE; Schema: public; Owner: ndawn
91 --
92
93 CREATE TYPE race AS ENUM (
94     'Ter',
95     'Cat',
96     'Xan',
97     'Zik',
98     'Etd'
99 );
100
101
102 ALTER TYPE race OWNER TO ndawn;
103
104 --
105 -- Name: add_call(); Type: FUNCTION; Schema: public; Owner: ndawn
106 --
107
108 CREATE FUNCTION add_call() RETURNS trigger
109     LANGUAGE plpgsql
110     AS $$
111 DECLARE
112         thread INTEGER;
113 BEGIN
114         INSERT INTO forum_threads (fbid,subject,uid)
115                 VALUES(-3,NEW.uid || ': ' || NEW.landing_tick,-3) RETURNING ftid
116                 INTO STRICT thread;
117         NEW.ftid = thread;
118         RETURN NEW;
119 END;
120 $$;
121
122
123 ALTER FUNCTION public.add_call() OWNER TO ndawn;
124
125 --
126 -- Name: add_raid(); Type: FUNCTION; Schema: public; Owner: ndawn
127 --
128
129 CREATE FUNCTION add_raid() RETURNS trigger
130     LANGUAGE plpgsql
131     AS $$
132 DECLARE
133         rec RECORD;
134 BEGIN
135         INSERT INTO forum_threads (ftid,fbid,subject,uid) VALUES
136                 (DEFAULT,-5,'Raid ' || NEW.id,-3) RETURNING ftid INTO rec;
137         NEW.ftid := rec.ftid;
138         return NEW;
139 END;
140 $$;
141
142
143 ALTER FUNCTION public.add_raid() OWNER TO ndawn;
144
145 --
146 -- Name: add_user(); Type: FUNCTION; Schema: public; Owner: ndawn
147 --
148
149 CREATE FUNCTION add_user() RETURNS trigger
150     LANGUAGE plpgsql
151     AS $$
152 DECLARE
153         thread INTEGER;
154 BEGIN
155         INSERT INTO forum_threads (fbid,subject,uid)
156                 VALUES(-1,NEW.uid || ': ' || NEW.username,-3) RETURNING ftid
157                 INTO STRICT thread;
158         NEW.ftid = thread;
159         RETURN NEW;
160 END;
161 $$;
162
163
164 ALTER FUNCTION public.add_user() OWNER TO ndawn;
165
166 --
167 -- Name: change_member(); Type: FUNCTION; Schema: public; Owner: ndawn
168 --
169
170 CREATE FUNCTION change_member() RETURNS trigger
171     LANGUAGE plpgsql
172     AS $$
173 BEGIN
174         IF TG_OP = 'INSERT' THEN
175                 IF NEW.gid = 'M' THEN
176                         UPDATE planets SET alliance = 'NewDawn' WHERE
177                                 pid = (SELECT pid FROM users WHERE uid = NEW.uid);
178                 END IF;
179         ELSIF TG_OP = 'DELETE' THEN
180                 IF OLD.gid = 'M' THEN
181                         UPDATE planets SET alliance = NULL WHERE
182                                 pid = (SELECT pid FROM users WHERE uid = OLD.uid);
183                 END IF;
184         END IF;
185
186         return NEW;
187 END;
188 $$;
189
190
191 ALTER FUNCTION public.change_member() OWNER TO ndawn;
192
193 --
194 -- Name: coords(integer, integer, integer); Type: FUNCTION; Schema: public; Owner: ndawn
195 --
196
197 CREATE FUNCTION coords(x integer, y integer, z integer) RETURNS text
198     LANGUAGE sql IMMUTABLE
199     AS $_$
200 SELECT $1 || ':' || $2 || ':' || $3
201 $_$;
202
203
204 ALTER FUNCTION public.coords(x integer, y integer, z integer) OWNER TO ndawn;
205
206 --
207 -- Name: covop_alert(integer, integer, integer, integer, governments, integer); Type: FUNCTION; Schema: public; Owner: ndawn
208 --
209
210 CREATE FUNCTION covop_alert(secs integer, strucs integer, roids integer, guards integer, gov governments, population integer) RETURNS integer
211     LANGUAGE sql IMMUTABLE
212     AS $_$
213         SELECT ((50 + COALESCE($4*5.0/($3+1.0),$6))
214                 * (1.0+2*LEAST(COALESCE($1::float/CASE $2
215                         WHEN 0 THEN 1 ELSE $2 END,$6),0.30)
216                         + (CASE $5
217                                 WHEN 'Dic' THEN 0.20
218                                 WHEN 'Feu' THEN -0.20
219                                 WHEN 'Uni' THEN -0.10
220                                 ELSE 0
221                         END) + $6/100.0
222                 ))::integer;
223 $_$;
224
225
226 ALTER FUNCTION public.covop_alert(secs integer, strucs integer, roids integer, guards integer, gov governments, population integer) OWNER TO ndawn;
227
228 --
229 -- Name: endtick(); Type: FUNCTION; Schema: public; Owner: ndawn
230 --
231
232 CREATE FUNCTION endtick() RETURNS integer
233     LANGUAGE sql STABLE SECURITY DEFINER
234     AS $$SELECT value::integer FROM misc WHERE id = 'ENDTICK'$$;
235
236
237 ALTER FUNCTION public.endtick() OWNER TO ndawn;
238
239 --
240 -- Name: find_alliance_id(text); Type: FUNCTION; Schema: public; Owner: ndawn
241 --
242
243 CREATE FUNCTION find_alliance_id(alli text) RETURNS integer
244     LANGUAGE plpgsql
245     AS $_$
246 DECLARE
247         id INTEGER;
248 BEGIN
249         SELECT aid FROM INTO id alliances WHERE alliance = alli;
250         IF NOT FOUND THEN
251                 INSERT INTO alliances(alliance) VALUES($1)
252                         RETURNING aid INTO id;
253         END IF;
254         RETURN id;
255 END;
256 $_$;
257
258
259 ALTER FUNCTION public.find_alliance_id(alli text) OWNER TO ndawn;
260
261 --
262 -- Name: find_planet_id(text, text, race); Type: FUNCTION; Schema: public; Owner: ndawn
263 --
264
265 CREATE FUNCTION find_planet_id(_ruler text, _planet text, _race race) RETURNS integer
266     LANGUAGE plpgsql
267     AS $$
268 DECLARE
269         p RECORD;
270         id INTEGER;
271         thread INTEGER;
272 BEGIN
273         SELECT pid, race INTO p FROM planets WHERE ruler = _ruler AND planet = _planet;
274         IF FOUND THEN
275                 IF _race <> p.race THEN
276                         UPDATE planets SET race = _race WHERE pid = p.pid;
277                 END IF;
278                 id := p.pid;
279         ELSE
280                 INSERT INTO forum_threads (fbid,subject,uid) VALUES(-2, _ruler || ' OF ' || _planet, -3)
281                         RETURNING ftid INTO thread;
282                 INSERT INTO planets(ruler,planet,race,ftid) VALUES(_ruler,_planet,_race,thread)
283                         RETURNING pid INTO id;
284         END IF;
285         RETURN id;
286 END;
287 $$;
288
289
290 ALTER FUNCTION public.find_planet_id(_ruler text, _planet text, _race race) OWNER TO ndawn;
291
292 --
293 -- Name: groups(integer); Type: FUNCTION; Schema: public; Owner: ndawn
294 --
295
296 CREATE FUNCTION groups(uid integer) RETURNS SETOF character
297     LANGUAGE sql STABLE
298     AS $_$SELECT gid FROM groupmembers WHERE uid = $1 UNION SELECT ''$_$;
299
300
301 ALTER FUNCTION public.groups(uid integer) OWNER TO ndawn;
302
303 --
304 -- Name: max_bank_hack(bigint, bigint, bigint, integer, integer, integer); Type: FUNCTION; Schema: public; Owner: ndawn
305 --
306
307 CREATE FUNCTION max_bank_hack(metal bigint, crystal bigint, eonium bigint, tvalue integer, value integer, agents integer) RETURNS integer
308     LANGUAGE sql IMMUTABLE
309     AS $_$
310 SELECT LEAST(2000.0*$6*$4/$5, $1*0.10, $6*10000.0)::integer
311     + LEAST(2000.0*$6*$4/$5, $2*0.10, $6*10000.0)::integer
312     + LEAST(2000.0*$6*$4/$5, $3*0.10, $6*10000.0)::integer
313 $_$;
314
315
316 ALTER FUNCTION public.max_bank_hack(metal bigint, crystal bigint, eonium bigint, tvalue integer, value integer, agents integer) OWNER TO ndawn;
317
318 --
319 -- Name: mmdd(date); Type: FUNCTION; Schema: public; Owner: ndawn
320 --
321
322 CREATE FUNCTION mmdd(d date) RETURNS text
323     LANGUAGE sql IMMUTABLE
324     AS $_$ SELECT to_char($1,'MM-DD') $_$;
325
326
327 ALTER FUNCTION public.mmdd(d date) OWNER TO ndawn;
328
329 --
330 -- Name: old_claim(timestamp with time zone); Type: FUNCTION; Schema: public; Owner: ndawn
331 --
332
333 CREATE FUNCTION old_claim("timestamp" timestamp with time zone) RETURNS boolean
334     LANGUAGE sql IMMUTABLE
335     AS $_$SELECT NOW() - '10 minutes'::INTERVAL > $1;$_$;
336
337
338 ALTER FUNCTION public.old_claim("timestamp" timestamp with time zone) OWNER TO ndawn;
339
340 --
341 -- Name: planetcoords(integer, integer); Type: FUNCTION; Schema: public; Owner: ndawn
342 --
343
344 CREATE FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) RETURNS record
345     LANGUAGE sql STABLE
346     AS $_$SELECT x,y,z FROM planet_stats WHERE pid = $1 AND (tick >= $2  OR tick =( SELECT max(tick) FROM planet_stats))  ORDER BY tick ASC LIMIT 1$_$;
347
348
349 ALTER FUNCTION public.planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) OWNER TO ndawn;
350
351 --
352 -- Name: planetid(integer, integer, integer, integer); Type: FUNCTION; Schema: public; Owner: ndawn
353 --
354
355 CREATE FUNCTION planetid(x integer, y integer, z integer, tick integer) RETURNS integer
356     LANGUAGE sql STABLE
357     AS $_$SELECT pid 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$_$;
358
359
360 ALTER FUNCTION public.planetid(x integer, y integer, z integer, tick integer) OWNER TO ndawn;
361
362 --
363 -- Name: tick(); Type: FUNCTION; Schema: public; Owner: ndawn
364 --
365
366 CREATE FUNCTION tick() RETURNS integer
367     LANGUAGE sql STABLE SECURITY DEFINER
368     AS $$SELECT value::integer FROM misc WHERE id = 'TICK'$$;
369
370
371 ALTER FUNCTION public.tick() OWNER TO ndawn;
372
373 --
374 -- Name: unread_posts(integer); Type: FUNCTION; Schema: public; Owner: ndawn
375 --
376
377 CREATE FUNCTION unread_posts(uid integer, OUT unread integer, OUT new integer) RETURNS record
378     LANGUAGE sql STABLE
379     AS $_$
380 SELECT count(*)::int AS unread
381         ,count(NULLIF(fp.time > (SELECT max(time) FROM forum_thread_visits WHERE uid = $1),FALSE))::int AS new
382 FROM(
383         SELECT ftid, ftv.time
384         FROM forum_threads ft
385                 LEFT OUTER JOIN (SELECT * FROM forum_thread_visits WHERE uid = $1)
386                         ftv USING (ftid)
387         WHERE COALESCE(ft.mtime > ftv.time,TRUE)
388                 AND ((fbid > 0 AND
389                                 fbid IN (SELECT fbid FROM forum_access WHERE gid IN (SELECT groups($1)))
390                         ) OR ft.ftid IN (SELECT ftid FROM forum_priv_access WHERE uid = $1)
391                 )
392         ) ft
393         JOIN forum_posts fp USING (ftid)
394 WHERE COALESCE(fp.time > ft.time, TRUE)
395 $_$;
396
397
398 ALTER FUNCTION public.unread_posts(uid integer, OUT unread integer, OUT new integer) OWNER TO ndawn;
399
400 --
401 -- Name: update_forum_post(); Type: FUNCTION; Schema: public; Owner: ndawn
402 --
403
404 CREATE FUNCTION update_forum_post() RETURNS trigger
405     LANGUAGE plpgsql
406     AS $$
407 DECLARE
408     rec RECORD;
409 BEGIN
410     SELECT setweight(to_tsvector(coalesce(ft.subject,'')), 'A')
411             || setweight(to_tsvector(coalesce(u.username,'')), 'B') AS ts
412         INTO STRICT rec
413         FROM forum_threads ft, users u
414         WHERE NEW.ftid = ft.ftid AND u.uid = NEW.uid;
415     NEW.textsearch := rec.ts
416         || setweight(to_tsvector(coalesce(NEW.message,'')), 'D');
417     return NEW;
418 END;
419 $$;
420
421
422 ALTER FUNCTION public.update_forum_post() OWNER TO ndawn;
423
424 --
425 -- Name: update_forum_thread_posts(); Type: FUNCTION; Schema: public; Owner: ndawn
426 --
427
428 CREATE FUNCTION update_forum_thread_posts() RETURNS trigger
429     LANGUAGE plpgsql
430     AS $$
431 BEGIN
432
433         IF TG_OP = 'INSERT' THEN
434                 UPDATE forum_threads SET posts = posts + 1, mtime = GREATEST(NEW.time,mtime)
435                         WHERE ftid = NEW.ftid;
436         ELSIF TG_OP = 'DELETE' THEN
437                 UPDATE forum_threads SET posts = posts - 1 WHERE ftid = OLD.ftid;
438         ELSIF TG_OP = 'UPDATE' AND NEW.ftid <> OLD.ftid THEN
439                 UPDATE forum_threads SET posts = posts - 1 WHERE ftid = OLD.ftid;
440                 UPDATE forum_threads SET posts = posts + 1, mtime = GREATEST(NEW.time,mtime)
441                         WHERE ftid = NEW.ftid;
442         END IF;
443
444         return NEW;
445 END;
446 $$;
447
448
449 ALTER FUNCTION public.update_forum_thread_posts() OWNER TO ndawn;
450
451 --
452 -- Name: update_user_planet(); Type: FUNCTION; Schema: public; Owner: ndawn
453 --
454
455 CREATE FUNCTION update_user_planet() RETURNS trigger
456     LANGUAGE plpgsql
457     AS $$
458 BEGIN
459         IF COALESCE(NEW.pid <> OLD.pid,TRUE) OR NEW.username <> OLD.username THEN
460                 UPDATE planets SET nick = NULL WHERE pid = OLD.pid;
461                 UPDATE planets SET nick = NEW.username WHERE pid = NEW.pid;
462         END IF;
463
464         IF COALESCE(NEW.pid <> OLD.pid,TRUE)
465                         AND (SELECT TRUE FROM groupmembers WHERE gid = 'M' AND uid = NEW.uid) THEN
466                 UPDATE planets SET alliance = NULL WHERE pid = OLD.pid;
467                 UPDATE planets SET alliance = 'NewDawn' WHERE pid = NEW.pid;
468         END IF;
469         RETURN NEW;
470 END;
471 $$;
472
473
474 ALTER FUNCTION public.update_user_planet() OWNER TO ndawn;
475
476 --
477 -- Name: update_wiki_page(); Type: FUNCTION; Schema: public; Owner: ndawn
478 --
479
480 CREATE FUNCTION update_wiki_page() RETURNS trigger
481     LANGUAGE plpgsql
482     AS $$
483 DECLARE
484     rec RECORD;
485 BEGIN
486     SELECT setweight(to_tsvector(wpr.text), 'D') AS ts
487         INTO STRICT rec
488         FROM wiki_page_revisions wpr
489         WHERE NEW.wprev = wpr.wprev;
490     NEW.textsearch := rec.ts
491         || setweight(to_tsvector(NEW.namespace || ':' || NEW.name), 'A');
492     NEW.time = NOW();
493     return NEW;
494 END;
495 $$;
496
497
498 ALTER FUNCTION public.update_wiki_page() OWNER TO ndawn;
499
500 --
501 -- Name: updated_claim(); Type: FUNCTION; Schema: public; Owner: ndawn
502 --
503
504 CREATE FUNCTION updated_claim() RETURNS trigger
505     LANGUAGE plpgsql
506     AS $$
507 DECLARE
508         target INTEGER;
509 BEGIN
510         CASE TG_OP
511         WHEN 'INSERT' THEN
512                 target := NEW.target;
513         WHEN 'UPDATE' THEN
514                 target := NEW.target;
515                 IF NEW.launched AND NOT OLD.launched THEN
516                         UPDATE users
517                         SET attack_points = attack_points + 1
518                         WHERE uid = OLD.uid;
519
520                         INSERT INTO forum_posts (ftid,uid,message)
521                         VALUES((SELECT ftid FROM users WHERE uid = NEW.uid),NEW.uid
522                                 ,'Gave attack point for confirmation of attack on target '
523                                         || NEW.target || ', wave ' || NEW.wave
524                                 );
525                 END IF;
526         WHEN 'DELETE' THEN
527                 target := OLD.target;
528
529                 IF OLD.launched THEN
530                         UPDATE users
531                         SET attack_points = attack_points - 1
532                         WHERE uid = OLD.uid;
533                 END IF;
534         END CASE;
535         UPDATE raid_targets SET modified = NOW() WHERE id = target;
536         RETURN NEW;
537 END;
538 $$;
539
540
541 ALTER FUNCTION public.updated_claim() OWNER TO ndawn;
542
543 --
544 -- Name: concat(text); Type: AGGREGATE; Schema: public; Owner: ndawn
545 --
546
547 CREATE AGGREGATE concat(text) (
548     SFUNC = textcat,
549     STYPE = text,
550     INITCOND = ''
551 );
552
553
554 ALTER AGGREGATE public.concat(text) OWNER TO ndawn;
555
556 SET default_tablespace = '';
557
558 SET default_with_oids = false;
559
560 --
561 -- Name: alliance_stats; Type: TABLE; Schema: public; Owner: ndawn
562 --
563
564 CREATE TABLE alliance_stats (
565     aid integer NOT NULL,
566     tick integer NOT NULL,
567     size integer NOT NULL,
568     members integer NOT NULL,
569     score integer NOT NULL,
570     sizerank integer NOT NULL,
571     scorerank integer NOT NULL,
572     size_gain integer NOT NULL,
573     score_gain integer NOT NULL,
574     sizerank_gain integer NOT NULL,
575     scorerank_gain integer NOT NULL,
576     size_gain_day integer NOT NULL,
577     score_gain_day integer NOT NULL,
578     sizerank_gain_day integer NOT NULL,
579     scorerank_gain_day integer NOT NULL,
580     members_gain integer NOT NULL,
581     members_gain_day integer NOT NULL
582 );
583
584
585 ALTER TABLE alliance_stats OWNER TO ndawn;
586
587 --
588 -- Name: alliances; Type: TABLE; Schema: public; Owner: ndawn
589 --
590
591 CREATE TABLE alliances (
592     aid integer NOT NULL,
593     alliance text NOT NULL,
594     relationship ead_status DEFAULT ''::ead_status NOT NULL
595 );
596
597
598 ALTER TABLE alliances OWNER TO ndawn;
599
600 --
601 -- Name: development_scans; Type: TABLE; Schema: public; Owner: ndawn
602 --
603
604 CREATE TABLE development_scans (
605     id integer NOT NULL,
606     pid integer NOT NULL,
607     tick integer NOT NULL,
608     light_fac integer NOT NULL,
609     medium_fac integer NOT NULL,
610     heavy_fac integer NOT NULL,
611     amps integer NOT NULL,
612     distorters integer NOT NULL,
613     metal_ref integer NOT NULL,
614     crystal_ref integer NOT NULL,
615     eonium_ref integer NOT NULL,
616     reslabs integer NOT NULL,
617     fincents integer NOT NULL,
618     seccents integer NOT NULL,
619     total integer NOT NULL,
620     travel integer NOT NULL,
621     infra integer NOT NULL,
622     hulls integer NOT NULL,
623     waves integer NOT NULL,
624     extraction integer NOT NULL,
625     covert integer NOT NULL,
626     mining integer NOT NULL,
627     milcents integer NOT NULL,
628     structdefs integer NOT NULL
629 );
630
631
632 ALTER TABLE development_scans OWNER TO ndawn;
633
634 --
635 -- Name: current_development_scans; Type: VIEW; Schema: public; Owner: ndawn
636 --
637
638 CREATE VIEW current_development_scans AS
639  SELECT DISTINCT ON (ds.pid) ds.id,
640     ds.pid,
641     ds.tick,
642     ds.light_fac,
643     ds.medium_fac,
644     ds.heavy_fac,
645     ds.amps,
646     ds.distorters,
647     ds.metal_ref,
648     ds.crystal_ref,
649     ds.eonium_ref,
650     ds.reslabs,
651     ds.fincents,
652     ds.seccents,
653     ds.total,
654     ds.travel,
655     ds.infra,
656     ds.hulls,
657     ds.waves,
658     ds.extraction,
659     ds.covert,
660     ds.mining
661    FROM development_scans ds
662   ORDER BY ds.pid, ds.tick DESC, ds.id DESC;
663
664
665 ALTER TABLE current_development_scans OWNER TO ndawn;
666
667 --
668 -- Name: planet_scans; Type: TABLE; Schema: public; Owner: ndawn
669 --
670
671 CREATE TABLE planet_scans (
672     id integer NOT NULL,
673     pid integer NOT NULL,
674     tick integer NOT NULL,
675     metal bigint NOT NULL,
676     crystal bigint NOT NULL,
677     eonium bigint NOT NULL,
678     hidden bigint NOT NULL,
679     metal_roids integer NOT NULL,
680     crystal_roids integer NOT NULL,
681     eonium_roids integer NOT NULL,
682     agents integer NOT NULL,
683     guards integer NOT NULL,
684     light text NOT NULL,
685     medium text NOT NULL,
686     heavy text NOT NULL
687 );
688
689
690 ALTER TABLE planet_scans OWNER TO ndawn;
691
692 --
693 -- Name: current_planet_scans; Type: VIEW; Schema: public; Owner: ndawn
694 --
695
696 CREATE VIEW current_planet_scans AS
697  SELECT DISTINCT ON (ps.pid) ps.id,
698     ps.pid,
699     ps.tick,
700     ps.metal,
701     ps.crystal,
702     ps.eonium,
703     ps.hidden,
704     ps.metal_roids,
705     ps.crystal_roids,
706     ps.eonium_roids,
707     ps.agents,
708     ps.guards,
709     ps.light,
710     ps.medium,
711     ps.heavy
712    FROM planet_scans ps
713   ORDER BY ps.pid, ps.tick DESC, ps.id DESC;
714
715
716 ALTER TABLE current_planet_scans OWNER TO ndawn;
717
718 --
719 -- Name: planet_stats; Type: TABLE; Schema: public; Owner: ndawn
720 --
721
722 CREATE TABLE planet_stats (
723     pid integer NOT NULL,
724     tick integer NOT NULL,
725     x integer NOT NULL,
726     y integer NOT NULL,
727     z integer NOT NULL,
728     size integer NOT NULL,
729     score integer NOT NULL,
730     value integer NOT NULL,
731     xp integer NOT NULL,
732     sizerank integer NOT NULL,
733     scorerank integer NOT NULL,
734     valuerank integer NOT NULL,
735     xprank integer NOT NULL,
736     size_gain integer NOT NULL,
737     score_gain integer NOT NULL,
738     value_gain integer NOT NULL,
739     xp_gain integer NOT NULL,
740     sizerank_gain integer NOT NULL,
741     scorerank_gain integer NOT NULL,
742     valuerank_gain integer NOT NULL,
743     xprank_gain integer NOT NULL,
744     size_gain_day integer NOT NULL,
745     score_gain_day integer NOT NULL,
746     value_gain_day integer NOT NULL,
747     xp_gain_day integer NOT NULL,
748     sizerank_gain_day integer NOT NULL,
749     scorerank_gain_day integer NOT NULL,
750     valuerank_gain_day integer NOT NULL,
751     xprank_gain_day integer NOT NULL
752 );
753
754
755 ALTER TABLE planet_stats OWNER TO ndawn;
756
757 --
758 -- Name: planets; Type: TABLE; Schema: public; Owner: ndawn
759 --
760
761 CREATE TABLE planets (
762     pid integer NOT NULL,
763     ruler text NOT NULL,
764     planet text NOT NULL,
765     race race NOT NULL,
766     nick citext,
767     planet_status ead_status DEFAULT ''::ead_status NOT NULL,
768     hit_us integer DEFAULT 0 NOT NULL,
769     alliance text,
770     channel citext,
771     ftid integer NOT NULL,
772     gov governments DEFAULT ''::governments NOT NULL
773 )
774 WITH (fillfactor='50');
775
776 ALTER TABLE planets ADD COLUMN id text UNIQUE NOT NULL;
777
778
779 ALTER TABLE planets OWNER TO ndawn;
780
781 --
782 -- Name: current_planet_stats; Type: VIEW; Schema: public; Owner: ndawn
783 --
784
785 CREATE VIEW current_planet_stats AS
786  SELECT p.pid,
787     p.nick,
788     p.planet_status,
789     p.hit_us,
790     ps.x,
791     ps.y,
792     ps.z,
793     p.ruler,
794     p.planet,
795     p.race,
796     p.alliance,
797     a.relationship,
798     a.aid,
799     p.channel,
800     p.ftid,
801     p.gov,
802     ps.size,
803     ps.score,
804     ps.value,
805     ps.xp,
806     ps.sizerank,
807     ps.scorerank,
808     ps.valuerank,
809     ps.xprank
810    FROM ((( SELECT planet_stats.pid,
811             planet_stats.tick,
812             planet_stats.x,
813             planet_stats.y,
814             planet_stats.z,
815             planet_stats.size,
816             planet_stats.score,
817             planet_stats.value,
818             planet_stats.xp,
819             planet_stats.sizerank,
820             planet_stats.scorerank,
821             planet_stats.valuerank,
822             planet_stats.xprank
823            FROM planet_stats
824           WHERE (planet_stats.tick = ( SELECT max(planet_stats_1.tick) AS max
825                    FROM planet_stats planet_stats_1))) ps
826      JOIN planets p USING (pid))
827      LEFT JOIN alliances a USING (alliance));
828
829
830 ALTER TABLE current_planet_stats OWNER TO ndawn;
831
832 --
833 -- Name: alliance_resources; Type: VIEW; Schema: public; Owner: ndawn
834 --
835
836 CREATE VIEW alliance_resources AS
837  WITH planet_estimates AS (
838          SELECT ps.tick,
839             p.alliance,
840             ps.hidden,
841             p.size,
842             p.score,
843             ((ps.metal + ps.crystal) + ps.eonium) AS resources,
844             ((p.score + (((ps.metal + ps.crystal) + ps.eonium) / 300)) + (ps.hidden / 100)) AS nscore2,
845             ((((p.score + (((ps.metal + ps.crystal) + ps.eonium) / 300)) + (ps.hidden / 100)))::numeric + (((((endtick() - tick()) * (((250 * p.size) + (COALESCE(((ds.metal_ref + ds.crystal_ref) + ds.eonium_ref), 7) * 1000)) +
846                 CASE ds.extraction
847                     WHEN 0 THEN 3000
848                     WHEN 1 THEN 11500
849                     ELSE ((COALESCE(ds.extraction, 3) * 3000) * 3)
850                 END)))::numeric * (1.35 + (0.005 * (COALESCE(ds.fincents, 20))::numeric))) / (100)::numeric)) AS nscore3
851            FROM ((current_planet_stats p
852              JOIN current_planet_scans ps USING (pid))
853              LEFT JOIN current_development_scans ds USING (pid))
854         ), planet_ranks AS (
855          SELECT planet_estimates.tick,
856             planet_estimates.alliance,
857             planet_estimates.hidden,
858             planet_estimates.size,
859             planet_estimates.score,
860             planet_estimates.resources,
861             planet_estimates.nscore2,
862             planet_estimates.nscore3,
863             rank() OVER (PARTITION BY planet_estimates.alliance ORDER BY planet_estimates.score DESC) AS rank
864            FROM planet_estimates
865         ), top_planets AS (
866          SELECT planet_ranks.alliance,
867             sum(planet_ranks.resources) AS resources,
868             sum(planet_ranks.hidden) AS hidden,
869             (sum(planet_ranks.nscore2))::bigint AS nscore2,
870             (sum(planet_ranks.nscore3))::bigint AS nscore3,
871             count(*) AS planets,
872             sum(planet_ranks.score) AS score,
873             sum(planet_ranks.size) AS size,
874             (avg(planet_ranks.tick))::integer AS avgtick
875            FROM planet_ranks
876           WHERE (planet_ranks.rank <= 60)
877           GROUP BY planet_ranks.alliance
878         )
879  SELECT a.aid,
880     a.alliance,
881     a.relationship,
882     s.members,
883     r.planets,
884     s.score,
885     r.score AS topscore,
886     s.size,
887     r.size AS topsize,
888     r.resources,
889     r.hidden,
890     ((((s.score)::numeric + (r.resources / (300)::numeric)) + (r.hidden / (100)::numeric)))::bigint AS nscore,
891     r.nscore2,
892     r.nscore3,
893     r.avgtick
894    FROM ((alliances a
895      JOIN top_planets r USING (alliance))
896      LEFT JOIN ( SELECT alliance_stats.aid,
897             alliance_stats.score,
898             alliance_stats.size,
899             alliance_stats.members
900            FROM alliance_stats
901           WHERE (alliance_stats.tick = ( SELECT max(alliance_stats_1.tick) AS max
902                    FROM alliance_stats alliance_stats_1))) s USING (aid));
903
904
905 ALTER TABLE alliance_resources OWNER TO ndawn;
906
907 --
908 -- Name: alliances_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
909 --
910
911 CREATE SEQUENCE alliances_id_seq
912     START WITH 1
913     INCREMENT BY 1
914     NO MINVALUE
915     NO MAXVALUE
916     CACHE 1;
917
918
919 ALTER TABLE alliances_id_seq OWNER TO ndawn;
920
921 --
922 -- Name: alliances_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
923 --
924
925 ALTER SEQUENCE alliances_id_seq OWNED BY alliances.aid;
926
927
928 --
929 -- Name: available_planet_tags; Type: TABLE; Schema: public; Owner: ndawn
930 --
931
932 CREATE TABLE available_planet_tags (
933     tag citext NOT NULL
934 );
935
936
937 ALTER TABLE available_planet_tags OWNER TO ndawn;
938
939 --
940 -- Name: fleet_ships; Type: TABLE; Schema: public; Owner: ndawn
941 --
942
943 CREATE TABLE fleet_ships (
944     fid integer NOT NULL,
945     ship text NOT NULL,
946     amount integer NOT NULL,
947     num integer NOT NULL
948 );
949
950
951 ALTER TABLE fleet_ships OWNER TO ndawn;
952
953 --
954 -- Name: fleets; Type: TABLE; Schema: public; Owner: ndawn
955 --
956
957 CREATE TABLE fleets (
958     mission text NOT NULL,
959     tick integer NOT NULL,
960     fid integer NOT NULL,
961     pid integer NOT NULL,
962     amount integer NOT NULL,
963     name text NOT NULL
964 );
965
966
967 ALTER TABLE fleets OWNER TO ndawn;
968
969 --
970 -- Name: launch_confirmations; Type: TABLE; Schema: public; Owner: ndawn
971 --
972
973 CREATE TABLE launch_confirmations (
974     fid integer NOT NULL,
975     uid integer NOT NULL,
976     pid integer NOT NULL,
977     landing_tick integer NOT NULL,
978     eta integer NOT NULL,
979     back integer NOT NULL,
980     num integer NOT NULL
981 )
982 WITH (fillfactor='75');
983
984
985 ALTER TABLE launch_confirmations OWNER TO ndawn;
986
987 --
988 -- Name: ticks; Type: TABLE; Schema: public; Owner: ndawn
989 --
990
991 CREATE TABLE ticks (
992     t integer NOT NULL
993 );
994
995
996 ALTER TABLE ticks OWNER TO ndawn;
997
998 --
999 -- Name: users; Type: TABLE; Schema: public; Owner: ndawn
1000 --
1001
1002 CREATE TABLE users (
1003     uid integer NOT NULL,
1004     username citext NOT NULL,
1005     pid integer,
1006     password text,
1007     attack_points numeric(3,0) DEFAULT 0 NOT NULL,
1008     defense_points numeric(4,1) DEFAULT 0 NOT NULL,
1009     scan_points numeric(5,0) DEFAULT 0 NOT NULL,
1010     humor_points numeric(3,0) DEFAULT 0 NOT NULL,
1011     hostmask citext NOT NULL,
1012     sms text,
1013     rank integer,
1014     laston timestamp with time zone,
1015     ftid integer NOT NULL,
1016     css text,
1017     email text,
1018     pnick citext NOT NULL,
1019     info text,
1020     birthday date,
1021     timezone text DEFAULT 'GMT'::text NOT NULL,
1022     call_if_needed boolean DEFAULT false NOT NULL,
1023     sms_note text DEFAULT ''::text NOT NULL
1024 )
1025 WITH (fillfactor='50');
1026
1027
1028 ALTER TABLE users OWNER TO ndawn;
1029
1030 --
1031 -- Name: ships_home; Type: VIEW; Schema: public; Owner: ndawn
1032 --
1033
1034 CREATE VIEW ships_home AS
1035  SELECT f.tick,
1036     u.uid,
1037     u.username,
1038     u.pid,
1039     f.ship,
1040     COALESCE((f.amount - o.amount), (f.amount)::bigint) AS amount,
1041     COALESCE(o.fleets, (3)::bigint) AS fleets
1042    FROM ((users u
1043      JOIN ( SELECT f_1.t AS tick,
1044             f_1.pid,
1045             fs.ship,
1046             fs.amount
1047            FROM (( SELECT DISTINCT ON (ticks.t, f_2.pid, f_2.mission) ticks.t,
1048                     f_2.pid,
1049                     f_2.mission,
1050                     f_2.fid
1051                    FROM (ticks
1052                      CROSS JOIN fleets f_2)
1053                   WHERE ((f_2.tick <= ticks.t) AND (f_2.name = ANY (ARRAY['Main'::text, 'Advanced Unit'::text])) AND (f_2.mission = 'Full fleet'::text))
1054                   ORDER BY ticks.t, f_2.pid, f_2.mission, f_2.tick DESC, f_2.fid DESC) f_1
1055              JOIN fleet_ships fs USING (fid))) f USING (pid))
1056      LEFT JOIN ( SELECT ticks.t AS tick,
1057             f_1.pid,
1058             fs.ship,
1059             sum(fs.amount) AS amount,
1060             (3 - count(DISTINCT f_1.fid)) AS fleets
1061            FROM (((ticks
1062              CROSS JOIN fleets f_1)
1063              JOIN ( SELECT launch_confirmations.landing_tick,
1064                     launch_confirmations.fid,
1065                     launch_confirmations.back,
1066                     launch_confirmations.eta
1067                    FROM launch_confirmations) lc USING (fid))
1068              JOIN fleet_ships fs USING (fid))
1069           WHERE ((lc.back > ticks.t) AND (((lc.landing_tick - lc.eta) - 12) < ticks.t))
1070           GROUP BY ticks.t, f_1.pid, fs.ship) o USING (tick, pid, ship))
1071   WHERE (COALESCE((f.amount - o.amount), (f.amount)::bigint) > 0);
1072
1073
1074 ALTER TABLE ships_home OWNER TO ndawn;
1075
1076 --
1077 -- Name: available_ships; Type: VIEW; Schema: public; Owner: ndawn
1078 --
1079
1080 CREATE VIEW available_ships AS
1081  SELECT ships_home.uid,
1082     ships_home.username,
1083     ships_home.pid,
1084     ships_home.ship,
1085     ships_home.amount,
1086     ships_home.fleets
1087    FROM ships_home
1088   WHERE (ships_home.tick = tick());
1089
1090
1091 ALTER TABLE available_ships OWNER TO ndawn;
1092
1093 --
1094 -- Name: call_statuses; Type: TABLE; Schema: public; Owner: ndawn
1095 --
1096
1097 CREATE TABLE call_statuses (
1098     status text NOT NULL
1099 );
1100
1101
1102 ALTER TABLE call_statuses OWNER TO ndawn;
1103
1104 --
1105 -- Name: calls; Type: TABLE; Schema: public; Owner: ndawn
1106 --
1107
1108 CREATE TABLE calls (
1109     call integer NOT NULL,
1110     uid integer NOT NULL,
1111     dc integer,
1112     landing_tick integer NOT NULL,
1113     info text NOT NULL,
1114     ftid integer NOT NULL,
1115     calc text DEFAULT ''::text NOT NULL,
1116     status text DEFAULT 'Open'::text NOT NULL
1117 );
1118
1119
1120 ALTER TABLE calls OWNER TO ndawn;
1121
1122 --
1123 -- Name: calls_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1124 --
1125
1126 CREATE SEQUENCE calls_id_seq
1127     START WITH 1
1128     INCREMENT BY 1
1129     NO MINVALUE
1130     NO MAXVALUE
1131     CACHE 1;
1132
1133
1134 ALTER TABLE calls_id_seq OWNER TO ndawn;
1135
1136 --
1137 -- Name: calls_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
1138 --
1139
1140 ALTER SEQUENCE calls_id_seq OWNED BY calls.call;
1141
1142
1143 --
1144 -- Name: channel_flags; Type: TABLE; Schema: public; Owner: ndawn
1145 --
1146
1147 CREATE TABLE channel_flags (
1148     name text NOT NULL,
1149     flag character(1) NOT NULL
1150 );
1151
1152
1153 ALTER TABLE channel_flags OWNER TO ndawn;
1154
1155 --
1156 -- Name: channel_group_flags; Type: TABLE; Schema: public; Owner: ndawn
1157 --
1158
1159 CREATE TABLE channel_group_flags (
1160     channel citext NOT NULL,
1161     gid character(1) NOT NULL,
1162     flag character(1) NOT NULL
1163 );
1164
1165
1166 ALTER TABLE channel_group_flags OWNER TO ndawn;
1167
1168 --
1169 -- Name: channels; Type: TABLE; Schema: public; Owner: ndawn
1170 --
1171
1172 CREATE TABLE channels (
1173     channel citext NOT NULL,
1174     description text NOT NULL
1175 );
1176
1177
1178 ALTER TABLE channels OWNER TO ndawn;
1179
1180 --
1181 -- Name: clickatell; Type: TABLE; Schema: public; Owner: ndawn
1182 --
1183
1184 CREATE TABLE clickatell (
1185     api_id text NOT NULL,
1186     username text NOT NULL,
1187     password text NOT NULL
1188 );
1189
1190
1191 ALTER TABLE clickatell OWNER TO ndawn;
1192
1193 --
1194 -- Name: covop_attacks; Type: TABLE; Schema: public; Owner: ndawn
1195 --
1196
1197 CREATE TABLE covop_attacks (
1198     uid integer NOT NULL,
1199     tick integer NOT NULL,
1200     pid integer NOT NULL
1201 );
1202
1203
1204 ALTER TABLE covop_attacks OWNER TO ndawn;
1205
1206 --
1207 -- Name: current_planet_stats_full; Type: VIEW; Schema: public; Owner: ndawn
1208 --
1209
1210 CREATE VIEW current_planet_stats_full AS
1211  SELECT p.alliance,
1212     p.pid,
1213     p.ruler,
1214     p.planet,
1215     p.race,
1216     p.nick,
1217     p.planet_status,
1218     p.hit_us,
1219     p.channel,
1220     p.ftid,
1221     p.gov,
1222     ps.tick,
1223     ps.x,
1224     ps.y,
1225     ps.z,
1226     ps.size,
1227     ps.score,
1228     ps.value,
1229     ps.xp,
1230     ps.sizerank,
1231     ps.scorerank,
1232     ps.valuerank,
1233     ps.xprank,
1234     ps.size_gain,
1235     ps.score_gain,
1236     ps.value_gain,
1237     ps.xp_gain,
1238     ps.sizerank_gain,
1239     ps.scorerank_gain,
1240     ps.valuerank_gain,
1241     ps.xprank_gain,
1242     ps.size_gain_day,
1243     ps.score_gain_day,
1244     ps.value_gain_day,
1245     ps.xp_gain_day,
1246     ps.sizerank_gain_day,
1247     ps.scorerank_gain_day,
1248     ps.valuerank_gain_day,
1249     ps.xprank_gain_day,
1250     alliances.aid,
1251     alliances.relationship
1252    FROM ((planets p
1253      JOIN ( SELECT planet_stats.pid,
1254             planet_stats.tick,
1255             planet_stats.x,
1256             planet_stats.y,
1257             planet_stats.z,
1258             planet_stats.size,
1259             planet_stats.score,
1260             planet_stats.value,
1261             planet_stats.xp,
1262             planet_stats.sizerank,
1263             planet_stats.scorerank,
1264             planet_stats.valuerank,
1265             planet_stats.xprank,
1266             planet_stats.size_gain,
1267             planet_stats.score_gain,
1268             planet_stats.value_gain,
1269             planet_stats.xp_gain,
1270             planet_stats.sizerank_gain,
1271             planet_stats.scorerank_gain,
1272             planet_stats.valuerank_gain,
1273             planet_stats.xprank_gain,
1274             planet_stats.size_gain_day,
1275             planet_stats.score_gain_day,
1276             planet_stats.value_gain_day,
1277             planet_stats.xp_gain_day,
1278             planet_stats.sizerank_gain_day,
1279             planet_stats.scorerank_gain_day,
1280             planet_stats.valuerank_gain_day,
1281             planet_stats.xprank_gain_day
1282            FROM planet_stats
1283           WHERE (planet_stats.tick = ( SELECT max(planet_stats_1.tick) AS max
1284                    FROM planet_stats planet_stats_1))) ps USING (pid))
1285      LEFT JOIN alliances USING (alliance));
1286
1287
1288 ALTER TABLE current_planet_stats_full OWNER TO ndawn;
1289
1290 --
1291 -- Name: ship_stats; Type: TABLE; Schema: public; Owner: ndawn
1292 --
1293
1294 CREATE TABLE ship_stats (
1295     ship text NOT NULL,
1296     class text NOT NULL,
1297     t1 text NOT NULL,
1298     type text NOT NULL,
1299     init integer NOT NULL,
1300     armor integer NOT NULL,
1301     damage integer NOT NULL,
1302     metal integer NOT NULL,
1303     crystal integer NOT NULL,
1304     eonium integer NOT NULL,
1305     race text NOT NULL,
1306     guns integer DEFAULT 0 NOT NULL,
1307     eres integer DEFAULT 0 NOT NULL,
1308     t2 text,
1309     t3 text,
1310     id integer NOT NULL
1311 );
1312
1313
1314 ALTER TABLE ship_stats OWNER TO ndawn;
1315
1316 --
1317 -- Name: def_leeches; Type: VIEW; Schema: public; Owner: ndawn
1318 --
1319
1320 CREATE VIEW def_leeches AS
1321  WITH f AS (
1322          SELECT lc.uid,
1323             lc.fid,
1324             lc.pid,
1325             f.pid AS fpid,
1326             lc.landing_tick,
1327             lc.eta,
1328             lc.back,
1329             sum((((fs.amount * ((s.metal + s.crystal) + s.eonium)))::numeric / 100.0)) AS value
1330            FROM (((launch_confirmations lc
1331              JOIN fleets f USING (fid))
1332              JOIN fleet_ships fs USING (fid))
1333              JOIN ship_stats s ON ((fs.ship = s.ship)))
1334           WHERE (f.mission = 'Defend'::text)
1335           GROUP BY lc.uid, lc.fid, lc.pid, f.pid, lc.landing_tick, lc.eta, lc.back
1336         ), f2 AS (
1337          SELECT f.uid,
1338             sum((f.value / (COALESCE(p.value, ( SELECT planet_stats.value
1339                    FROM planet_stats
1340                   WHERE ((planet_stats.pid = f.fpid) AND (planet_stats.tick = (c.landing_tick - f.eta)))
1341                   ORDER BY planet_stats.tick DESC
1342                  LIMIT 1)))::numeric)) AS sent_value
1343            FROM (((calls c
1344              JOIN users u USING (uid))
1345              JOIN f USING (pid, landing_tick))
1346              LEFT JOIN ( SELECT planet_stats.pid AS fpid,
1347                     planet_stats.value,
1348                     planet_stats.tick AS landing_tick
1349                    FROM planet_stats) p USING (fpid, landing_tick))
1350           GROUP BY f.uid
1351         )
1352  SELECT d.uid,
1353     d.username,
1354     d.defense_points,
1355     count(d.call) AS calls,
1356     sum(d.fleets) AS fleets,
1357     sum(d.recalled) AS recalled,
1358     count(NULLIF(d.fleets, 0)) AS defended_calls,
1359     (sum(d.value))::numeric(4,2) AS value,
1360     (f2.sent_value)::numeric(4,2) AS sent_value
1361    FROM (( SELECT u.uid,
1362             u.username,
1363             u.defense_points,
1364             c.call,
1365             count(f.back) AS fleets,
1366             count(NULLIF((((f.landing_tick + f.eta) - 1) = f.back), true)) AS recalled,
1367             sum((f.value / (COALESCE(p.value, ( SELECT planet_stats.value
1368                    FROM planet_stats
1369                   WHERE ((planet_stats.pid = f.pid) AND (planet_stats.tick = (c.landing_tick - f.eta)))
1370                   ORDER BY planet_stats.tick DESC
1371                  LIMIT 1)))::numeric)) AS value
1372            FROM (((users u
1373              JOIN calls c USING (uid))
1374              LEFT JOIN f USING (pid, landing_tick))
1375              LEFT JOIN ( SELECT planet_stats.pid,
1376                     planet_stats.value,
1377                     planet_stats.tick AS landing_tick
1378                    FROM planet_stats) p USING (pid, landing_tick))
1379           GROUP BY u.uid, u.username, u.defense_points, c.call) d
1380      LEFT JOIN f2 USING (uid))
1381   GROUP BY d.uid, d.username, d.defense_points, f2.sent_value;
1382
1383
1384 ALTER TABLE def_leeches OWNER TO ndawn;
1385
1386 --
1387 -- Name: incomings; Type: TABLE; Schema: public; Owner: ndawn
1388 --
1389
1390 CREATE TABLE incomings (
1391     call integer NOT NULL,
1392     pid integer NOT NULL,
1393     eta integer NOT NULL,
1394     amount integer NOT NULL,
1395     fleet text NOT NULL,
1396     shiptype text DEFAULT '?'::text NOT NULL,
1397     inc integer NOT NULL
1398 );
1399
1400
1401 ALTER TABLE incomings OWNER TO ndawn;
1402
1403 --
1404 -- Name: defcalls; Type: VIEW; Schema: public; Owner: ndawn
1405 --
1406
1407 CREATE VIEW defcalls AS
1408  SELECT c.call,
1409     c.status,
1410     c.uid,
1411     c.landing_tick,
1412     dc.username AS dc,
1413     (c.landing_tick - tick()) AS curreta,
1414     array_agg(COALESCE((p2.race)::text, ''::text)) AS race,
1415     array_agg(COALESCE(i.amount, 0)) AS amount,
1416     array_agg(COALESCE(i.eta, 0)) AS eta,
1417     array_agg(COALESCE(i.shiptype, ''::text)) AS shiptype,
1418     array_agg(COALESCE(p2.alliance, '?'::text)) AS alliance,
1419     array_agg(coords(p2.x, p2.y, p2.z)) AS attackers
1420    FROM (((calls c
1421      LEFT JOIN incomings i USING (call))
1422      LEFT JOIN current_planet_stats p2 USING (pid))
1423      LEFT JOIN users dc ON ((c.dc = dc.uid)))
1424   GROUP BY c.call, c.uid, dc.username, c.landing_tick, c.status;
1425
1426
1427 ALTER TABLE defcalls OWNER TO ndawn;
1428
1429 --
1430 -- Name: defense_missions; Type: TABLE; Schema: public; Owner: ndawn
1431 --
1432
1433 CREATE TABLE defense_missions (
1434     call integer NOT NULL,
1435     fleet integer NOT NULL,
1436     announced boolean DEFAULT false NOT NULL,
1437     pointed boolean DEFAULT false NOT NULL
1438 );
1439
1440
1441 ALTER TABLE defense_missions OWNER TO ndawn;
1442
1443 --
1444 -- Name: dumps; Type: TABLE; Schema: public; Owner: ndawn
1445 --
1446
1447 CREATE TABLE dumps (
1448     tick integer NOT NULL,
1449     type text NOT NULL,
1450     dump text NOT NULL,
1451     modified integer DEFAULT 0 NOT NULL
1452 );
1453
1454
1455 ALTER TABLE dumps OWNER TO ndawn;
1456
1457 --
1458 -- Name: email_change; Type: TABLE; Schema: public; Owner: ndawn
1459 --
1460
1461 CREATE TABLE email_change (
1462     id text DEFAULT md5(((now() + (random() * '100 years'::interval)))::text) NOT NULL,
1463     uid integer NOT NULL,
1464     email text NOT NULL,
1465     confirmed boolean DEFAULT false NOT NULL
1466 );
1467
1468
1469 ALTER TABLE email_change OWNER TO ndawn;
1470
1471 --
1472 -- Name: fleet_scans; Type: TABLE; Schema: public; Owner: ndawn
1473 --
1474
1475 CREATE TABLE fleet_scans (
1476     fid integer NOT NULL,
1477     id integer NOT NULL
1478 );
1479
1480
1481 ALTER TABLE fleet_scans OWNER TO ndawn;
1482
1483 --
1484 -- Name: fleet_ships_num_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1485 --
1486
1487 CREATE SEQUENCE fleet_ships_num_seq
1488     START WITH 1
1489     INCREMENT BY 1
1490     NO MINVALUE
1491     NO MAXVALUE
1492     CACHE 1;
1493
1494
1495 ALTER TABLE fleet_ships_num_seq OWNER TO ndawn;
1496
1497 --
1498 -- Name: fleet_ships_num_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
1499 --
1500
1501 ALTER SEQUENCE fleet_ships_num_seq OWNED BY fleet_ships.num;
1502
1503
1504 --
1505 -- Name: fleets_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1506 --
1507
1508 CREATE SEQUENCE fleets_id_seq
1509     START WITH 1
1510     INCREMENT BY 1
1511     NO MINVALUE
1512     NO MAXVALUE
1513     CACHE 1;
1514
1515
1516 ALTER TABLE fleets_id_seq OWNER TO ndawn;
1517
1518 --
1519 -- Name: fleets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
1520 --
1521
1522 ALTER SEQUENCE fleets_id_seq OWNED BY fleets.fid;
1523
1524
1525 --
1526 -- Name: forum_access; Type: TABLE; Schema: public; Owner: ndawn
1527 --
1528
1529 CREATE TABLE forum_access (
1530     fbid integer NOT NULL,
1531     gid character(1) NOT NULL,
1532     post boolean DEFAULT false NOT NULL,
1533     moderate boolean DEFAULT false NOT NULL
1534 );
1535
1536
1537 ALTER TABLE forum_access OWNER TO ndawn;
1538
1539 --
1540 -- Name: forum_boards; Type: TABLE; Schema: public; Owner: ndawn
1541 --
1542
1543 CREATE TABLE forum_boards (
1544     fbid integer NOT NULL,
1545     fcid integer NOT NULL,
1546     board text NOT NULL
1547 );
1548
1549
1550 ALTER TABLE forum_boards OWNER TO ndawn;
1551
1552 --
1553 -- Name: forum_boards_fbid_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1554 --
1555
1556 CREATE SEQUENCE forum_boards_fbid_seq
1557     START WITH 1
1558     INCREMENT BY 1
1559     NO MINVALUE
1560     NO MAXVALUE
1561     CACHE 1;
1562
1563
1564 ALTER TABLE forum_boards_fbid_seq OWNER TO ndawn;
1565
1566 --
1567 -- Name: forum_boards_fbid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
1568 --
1569
1570 ALTER SEQUENCE forum_boards_fbid_seq OWNED BY forum_boards.fbid;
1571
1572
1573 --
1574 -- Name: forum_categories; Type: TABLE; Schema: public; Owner: ndawn
1575 --
1576
1577 CREATE TABLE forum_categories (
1578     fcid integer NOT NULL,
1579     category text NOT NULL
1580 );
1581
1582
1583 ALTER TABLE forum_categories OWNER TO ndawn;
1584
1585 --
1586 -- Name: forum_categories_fcid_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1587 --
1588
1589 CREATE SEQUENCE forum_categories_fcid_seq
1590     START WITH 1
1591     INCREMENT BY 1
1592     NO MINVALUE
1593     NO MAXVALUE
1594     CACHE 1;
1595
1596
1597 ALTER TABLE forum_categories_fcid_seq OWNER TO ndawn;
1598
1599 --
1600 -- Name: forum_categories_fcid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
1601 --
1602
1603 ALTER SEQUENCE forum_categories_fcid_seq OWNED BY forum_categories.fcid;
1604
1605
1606 --
1607 -- Name: forum_posts; Type: TABLE; Schema: public; Owner: ndawn
1608 --
1609
1610 CREATE TABLE forum_posts (
1611     fpid integer NOT NULL,
1612     ftid integer NOT NULL,
1613     message text NOT NULL,
1614     "time" timestamp with time zone DEFAULT now() NOT NULL,
1615     uid integer NOT NULL,
1616     textsearch tsvector NOT NULL
1617 );
1618
1619
1620 ALTER TABLE forum_posts OWNER TO ndawn;
1621
1622 --
1623 -- Name: forum_posts_fpid_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1624 --
1625
1626 CREATE SEQUENCE forum_posts_fpid_seq
1627     START WITH 1
1628     INCREMENT BY 1
1629     NO MINVALUE
1630     NO MAXVALUE
1631     CACHE 1;
1632
1633
1634 ALTER TABLE forum_posts_fpid_seq OWNER TO ndawn;
1635
1636 --
1637 -- Name: forum_posts_fpid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
1638 --
1639
1640 ALTER SEQUENCE forum_posts_fpid_seq OWNED BY forum_posts.fpid;
1641
1642
1643 --
1644 -- Name: forum_priv_access; Type: TABLE; Schema: public; Owner: ndawn
1645 --
1646
1647 CREATE TABLE forum_priv_access (
1648     uid integer NOT NULL,
1649     ftid integer NOT NULL
1650 );
1651
1652
1653 ALTER TABLE forum_priv_access OWNER TO ndawn;
1654
1655 --
1656 -- Name: forum_thread_visits; Type: TABLE; Schema: public; Owner: ndawn
1657 --
1658
1659 CREATE TABLE forum_thread_visits (
1660     uid integer NOT NULL,
1661     ftid integer NOT NULL,
1662     "time" timestamp with time zone DEFAULT now() NOT NULL
1663 )
1664 WITH (fillfactor='50');
1665
1666
1667 ALTER TABLE forum_thread_visits OWNER TO ndawn;
1668
1669 --
1670 -- Name: forum_threads; Type: TABLE; Schema: public; Owner: ndawn
1671 --
1672
1673 CREATE TABLE forum_threads (
1674     ftid integer NOT NULL,
1675     fbid integer NOT NULL,
1676     subject text NOT NULL,
1677     sticky boolean DEFAULT false NOT NULL,
1678     uid integer NOT NULL,
1679     posts integer DEFAULT 0 NOT NULL,
1680     mtime timestamp with time zone DEFAULT now() NOT NULL,
1681     ctime timestamp with time zone DEFAULT now() NOT NULL
1682 )
1683 WITH (fillfactor='50');
1684
1685
1686 ALTER TABLE forum_threads OWNER TO ndawn;
1687
1688 --
1689 -- Name: forum_threads_ftid_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1690 --
1691
1692 CREATE SEQUENCE forum_threads_ftid_seq
1693     START WITH 1
1694     INCREMENT BY 1
1695     NO MINVALUE
1696     NO MAXVALUE
1697     CACHE 1;
1698
1699
1700 ALTER TABLE forum_threads_ftid_seq OWNER TO ndawn;
1701
1702 --
1703 -- Name: forum_threads_ftid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
1704 --
1705
1706 ALTER SEQUENCE forum_threads_ftid_seq OWNED BY forum_threads.ftid;
1707
1708
1709 --
1710 -- Name: groupmembers; Type: TABLE; Schema: public; Owner: ndawn
1711 --
1712
1713 CREATE TABLE groupmembers (
1714     gid character(1) NOT NULL,
1715     uid integer NOT NULL
1716 );
1717
1718
1719 ALTER TABLE groupmembers OWNER TO ndawn;
1720
1721 --
1722 -- Name: users_defprio; Type: VIEW; Schema: public; Owner: ndawn
1723 --
1724
1725 CREATE VIEW users_defprio AS
1726  SELECT u.uid,
1727     u.username,
1728     u.pid,
1729     u.password,
1730     u.attack_points,
1731     u.defense_points,
1732     u.scan_points,
1733     u.humor_points,
1734     u.hostmask,
1735     u.sms,
1736     u.rank,
1737     u.laston,
1738     u.ftid,
1739     u.css,
1740     u.email,
1741     u.pnick,
1742     u.info,
1743     u.birthday,
1744     u.timezone,
1745     u.call_if_needed,
1746     u.sms_note,
1747     ((((((0.2 * (u.attack_points / GREATEST(a.attack, (1)::numeric))) + (0.4 * (u.defense_points / GREATEST(a.defense, (1)::numeric)))) + (0.2 * ((p.size)::numeric / a.size))) + (0.05 * ((p.score)::numeric / a.score))) + (0.15 * ((p.value)::numeric / a.value))))::numeric(3,2) AS defprio
1748    FROM (users u
1749      LEFT JOIN current_planet_stats p USING (pid)),
1750     ( SELECT avg(u_1.attack_points) AS attack,
1751             avg(u_1.defense_points) AS defense,
1752             avg(p_1.size) AS size,
1753             avg(p_1.score) AS score,
1754             avg(p_1.value) AS value
1755            FROM (users u_1
1756              JOIN current_planet_stats p_1 USING (pid))
1757           WHERE (u_1.uid IN ( SELECT groupmembers.uid
1758                    FROM groupmembers
1759                   WHERE (groupmembers.gid = 'M'::bpchar)))) a;
1760
1761
1762 ALTER TABLE users_defprio OWNER TO ndawn;
1763
1764 --
1765 -- Name: full_defcalls; Type: VIEW; Schema: public; Owner: ndawn
1766 --
1767
1768 CREATE VIEW full_defcalls AS
1769  SELECT c.call,
1770     c.status,
1771     p.x,
1772     p.y,
1773     p.z,
1774     u.pid,
1775     c.landing_tick,
1776     c.dc,
1777     c.curreta,
1778     u.defprio,
1779     c.race,
1780     c.amount,
1781     c.eta,
1782     c.shiptype,
1783     c.alliance,
1784     c.attackers,
1785     count(NULLIF((f.back = ((f.landing_tick + f.eta) - 1)), false)) AS fleets
1786    FROM (((users_defprio u
1787      JOIN current_planet_stats p USING (pid))
1788      JOIN defcalls c USING (uid))
1789      LEFT JOIN launch_confirmations f USING (pid, landing_tick))
1790   GROUP BY c.call, p.x, p.y, p.z, u.pid, c.landing_tick, c.dc, c.curreta, u.defprio, c.race, c.amount, c.eta, c.shiptype, c.alliance, c.attackers, c.status;
1791
1792
1793 ALTER TABLE full_defcalls OWNER TO ndawn;
1794
1795 --
1796 -- Name: full_fleets; Type: TABLE; Schema: public; Owner: ndawn
1797 --
1798
1799 CREATE TABLE full_fleets (
1800     fid integer NOT NULL,
1801     uid integer NOT NULL
1802 );
1803
1804
1805 ALTER TABLE full_fleets OWNER TO ndawn;
1806
1807 --
1808 -- Name: intel; Type: TABLE; Schema: public; Owner: ndawn
1809 --
1810
1811 CREATE TABLE intel (
1812     id integer NOT NULL,
1813     uid integer NOT NULL,
1814     sender integer NOT NULL,
1815     target integer NOT NULL,
1816     mission text NOT NULL,
1817     name text NOT NULL,
1818     amount integer,
1819     tick integer NOT NULL,
1820     eta integer NOT NULL,
1821     back integer,
1822     ingal boolean NOT NULL
1823 );
1824
1825
1826 ALTER TABLE intel OWNER TO ndawn;
1827
1828 --
1829 -- Name: full_intel; Type: VIEW; Schema: public; Owner: ndawn
1830 --
1831
1832 CREATE VIEW full_intel AS
1833  SELECT s.alliance AS salliance,
1834     coords(s.x, s.y, s.z) AS scoords,
1835     i.sender,
1836     s.nick AS snick,
1837     t.alliance AS talliance,
1838     coords(t.x, t.y, t.z) AS tcoords,
1839     i.target,
1840     t.nick AS tnick,
1841     i.mission,
1842     i.tick,
1843     min(i.eta) AS eta,
1844     i.amount,
1845     i.ingal,
1846     i.uid,
1847     u.username
1848    FROM (((intel i
1849      JOIN users u USING (uid))
1850      JOIN current_planet_stats t ON ((i.target = t.pid)))
1851      JOIN current_planet_stats s ON ((i.sender = s.pid)))
1852   GROUP BY i.tick, i.mission, t.x, t.y, t.z, s.x, s.y, s.z, i.amount, i.ingal, u.username, i.uid, t.alliance, s.alliance, t.nick, s.nick, i.sender, i.target;
1853
1854
1855 ALTER TABLE full_intel OWNER TO ndawn;
1856
1857 --
1858 -- Name: galaxies; Type: TABLE; Schema: public; Owner: ndawn
1859 --
1860
1861 CREATE TABLE galaxies (
1862     x integer NOT NULL,
1863     y integer NOT NULL,
1864     tick integer NOT NULL,
1865     size integer NOT NULL,
1866     score integer NOT NULL,
1867     value integer NOT NULL,
1868     xp integer NOT NULL,
1869     planets integer NOT NULL,
1870     sizerank integer NOT NULL,
1871     scorerank integer NOT NULL,
1872     valuerank integer NOT NULL,
1873     xprank integer NOT NULL,
1874     size_gain integer NOT NULL,
1875     score_gain integer NOT NULL,
1876     value_gain integer NOT NULL,
1877     xp_gain integer NOT NULL,
1878     planets_gain integer NOT NULL,
1879     sizerank_gain integer NOT NULL,
1880     scorerank_gain integer NOT NULL,
1881     valuerank_gain integer NOT NULL,
1882     xprank_gain integer NOT NULL,
1883     size_gain_day integer NOT NULL,
1884     score_gain_day integer NOT NULL,
1885     value_gain_day integer NOT NULL,
1886     xp_gain_day integer NOT NULL,
1887     planets_gain_day integer NOT NULL,
1888     sizerank_gain_day integer NOT NULL,
1889     scorerank_gain_day integer NOT NULL,
1890     valuerank_gain_day integer NOT NULL,
1891     xprank_gain_day integer NOT NULL
1892 );
1893
1894
1895 ALTER TABLE galaxies OWNER TO ndawn;
1896
1897 --
1898 -- Name: group_roles; Type: TABLE; Schema: public; Owner: ndawn
1899 --
1900
1901 CREATE TABLE group_roles (
1902     gid character(1) NOT NULL,
1903     role character varying(32) NOT NULL
1904 );
1905
1906
1907 ALTER TABLE group_roles OWNER TO ndawn;
1908
1909 --
1910 -- Name: groups; Type: TABLE; Schema: public; Owner: ndawn
1911 --
1912
1913 CREATE TABLE groups (
1914     groupname text NOT NULL,
1915     gid character(1) NOT NULL
1916 );
1917
1918
1919 ALTER TABLE groups OWNER TO ndawn;
1920
1921 --
1922 -- Name: incomings_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1923 --
1924
1925 CREATE SEQUENCE incomings_id_seq
1926     START WITH 1
1927     INCREMENT BY 1
1928     NO MINVALUE
1929     NO MAXVALUE
1930     CACHE 1;
1931
1932
1933 ALTER TABLE incomings_id_seq OWNER TO ndawn;
1934
1935 --
1936 -- Name: incomings_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
1937 --
1938
1939 ALTER SEQUENCE incomings_id_seq OWNED BY incomings.inc;
1940
1941
1942 --
1943 -- Name: intel_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1944 --
1945
1946 CREATE SEQUENCE intel_id_seq
1947     START WITH 1
1948     INCREMENT BY 1
1949     NO MINVALUE
1950     NO MAXVALUE
1951     CACHE 1;
1952
1953
1954 ALTER TABLE intel_id_seq OWNER TO ndawn;
1955
1956 --
1957 -- Name: intel_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
1958 --
1959
1960 ALTER SEQUENCE intel_id_seq OWNED BY intel.id;
1961
1962
1963 --
1964 -- Name: intel_scans; Type: TABLE; Schema: public; Owner: ndawn
1965 --
1966
1967 CREATE TABLE intel_scans (
1968     id integer NOT NULL,
1969     intel integer NOT NULL
1970 );
1971
1972
1973 ALTER TABLE intel_scans OWNER TO ndawn;
1974
1975 --
1976 -- Name: irc_requests; Type: TABLE; Schema: public; Owner: ndawn
1977 --
1978
1979 CREATE TABLE irc_requests (
1980     id integer NOT NULL,
1981     channel text NOT NULL,
1982     message text NOT NULL,
1983     sent boolean DEFAULT false NOT NULL,
1984     uid integer NOT NULL
1985 );
1986
1987
1988 ALTER TABLE irc_requests OWNER TO ndawn;
1989
1990 --
1991 -- Name: irc_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
1992 --
1993
1994 CREATE SEQUENCE irc_requests_id_seq
1995     START WITH 1
1996     INCREMENT BY 1
1997     NO MINVALUE
1998     NO MAXVALUE
1999     CACHE 1;
2000
2001
2002 ALTER TABLE irc_requests_id_seq OWNER TO ndawn;
2003
2004 --
2005 -- Name: irc_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2006 --
2007
2008 ALTER SEQUENCE irc_requests_id_seq OWNED BY irc_requests.id;
2009
2010
2011 --
2012 -- Name: last_smokes; Type: TABLE; Schema: public; Owner: ndawn
2013 --
2014
2015 CREATE TABLE last_smokes (
2016     nick citext NOT NULL,
2017     "time" timestamp with time zone NOT NULL
2018 );
2019
2020
2021 ALTER TABLE last_smokes OWNER TO ndawn;
2022
2023 --
2024 -- Name: misc; Type: TABLE; Schema: public; Owner: ndawn
2025 --
2026
2027 CREATE TABLE misc (
2028     id text NOT NULL,
2029     value text
2030 );
2031
2032
2033 ALTER TABLE misc OWNER TO ndawn;
2034
2035 --
2036 -- Name: planet_tags; Type: TABLE; Schema: public; Owner: ndawn
2037 --
2038
2039 CREATE TABLE planet_tags (
2040     pid integer NOT NULL,
2041     tag citext NOT NULL,
2042     uid integer NOT NULL,
2043     "time" timestamp with time zone DEFAULT now() NOT NULL
2044 );
2045
2046
2047 ALTER TABLE planet_tags OWNER TO ndawn;
2048
2049 --
2050 -- Name: planets_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2051 --
2052
2053 CREATE SEQUENCE planets_id_seq
2054     START WITH 1
2055     INCREMENT BY 1
2056     NO MINVALUE
2057     NO MAXVALUE
2058     CACHE 1;
2059
2060
2061 ALTER TABLE planets_id_seq OWNER TO ndawn;
2062
2063 --
2064 -- Name: planets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2065 --
2066
2067 ALTER SEQUENCE planets_id_seq OWNED BY planets.pid;
2068
2069
2070 --
2071 -- Name: raid_access; Type: TABLE; Schema: public; Owner: ndawn
2072 --
2073
2074 CREATE TABLE raid_access (
2075     raid integer NOT NULL,
2076     gid character(1) NOT NULL
2077 );
2078
2079
2080 ALTER TABLE raid_access OWNER TO ndawn;
2081
2082 --
2083 -- Name: raid_claims; Type: TABLE; Schema: public; Owner: ndawn
2084 --
2085
2086 CREATE TABLE raid_claims (
2087     target integer NOT NULL,
2088     uid integer NOT NULL,
2089     wave integer NOT NULL,
2090     joinable boolean DEFAULT false NOT NULL,
2091     launched boolean DEFAULT false NOT NULL,
2092     "timestamp" timestamp with time zone DEFAULT now() NOT NULL
2093 )
2094 WITH (fillfactor='50');
2095
2096
2097 ALTER TABLE raid_claims OWNER TO ndawn;
2098
2099 --
2100 -- Name: raid_targets; Type: TABLE; Schema: public; Owner: ndawn
2101 --
2102
2103 CREATE TABLE raid_targets (
2104     id integer NOT NULL,
2105     raid integer NOT NULL,
2106     pid integer NOT NULL,
2107     comment text,
2108     modified timestamp with time zone DEFAULT now() NOT NULL
2109 )
2110 WITH (fillfactor='50');
2111
2112
2113 ALTER TABLE raid_targets OWNER TO ndawn;
2114
2115 --
2116 -- Name: raid_targets_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2117 --
2118
2119 CREATE SEQUENCE raid_targets_id_seq
2120     START WITH 1
2121     INCREMENT BY 1
2122     NO MINVALUE
2123     NO MAXVALUE
2124     CACHE 1;
2125
2126
2127 ALTER TABLE raid_targets_id_seq OWNER TO ndawn;
2128
2129 --
2130 -- Name: raid_targets_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2131 --
2132
2133 ALTER SEQUENCE raid_targets_id_seq OWNED BY raid_targets.id;
2134
2135
2136 --
2137 -- Name: raids; Type: TABLE; Schema: public; Owner: ndawn
2138 --
2139
2140 CREATE TABLE raids (
2141     id integer NOT NULL,
2142     tick integer NOT NULL,
2143     open boolean DEFAULT false NOT NULL,
2144     waves integer DEFAULT 3 NOT NULL,
2145     message text NOT NULL,
2146     removed boolean DEFAULT false NOT NULL,
2147     released_coords boolean DEFAULT false NOT NULL,
2148     ftid integer NOT NULL
2149 );
2150
2151
2152 ALTER TABLE raids OWNER TO ndawn;
2153
2154 --
2155 -- Name: raids_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2156 --
2157
2158 CREATE SEQUENCE raids_id_seq
2159     START WITH 1
2160     INCREMENT BY 1
2161     NO MINVALUE
2162     NO MAXVALUE
2163     CACHE 1;
2164
2165
2166 ALTER TABLE raids_id_seq OWNER TO ndawn;
2167
2168 --
2169 -- Name: raids_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2170 --
2171
2172 ALTER SEQUENCE raids_id_seq OWNED BY raids.id;
2173
2174
2175 --
2176 -- Name: roles; Type: TABLE; Schema: public; Owner: ndawn
2177 --
2178
2179 CREATE TABLE roles (
2180     role character varying(32) NOT NULL
2181 );
2182
2183
2184 ALTER TABLE roles OWNER TO ndawn;
2185
2186 --
2187 -- Name: scan_requests; Type: TABLE; Schema: public; Owner: ndawn
2188 --
2189
2190 CREATE TABLE scan_requests (
2191     id integer NOT NULL,
2192     uid integer NOT NULL,
2193     pid integer NOT NULL,
2194     type text NOT NULL,
2195     nick text NOT NULL,
2196     tick integer DEFAULT tick() NOT NULL,
2197     "time" timestamp with time zone DEFAULT now() NOT NULL,
2198     sent boolean DEFAULT false NOT NULL
2199 );
2200
2201
2202 ALTER TABLE scan_requests OWNER TO ndawn;
2203
2204 --
2205 -- Name: scan_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2206 --
2207
2208 CREATE SEQUENCE scan_requests_id_seq
2209     START WITH 1
2210     INCREMENT BY 1
2211     NO MINVALUE
2212     NO MAXVALUE
2213     CACHE 1;
2214
2215
2216 ALTER TABLE scan_requests_id_seq OWNER TO ndawn;
2217
2218 --
2219 -- Name: scan_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2220 --
2221
2222 ALTER SEQUENCE scan_requests_id_seq OWNED BY scan_requests.id;
2223
2224
2225 --
2226 -- Name: scans; Type: TABLE; Schema: public; Owner: ndawn
2227 --
2228
2229 CREATE TABLE scans (
2230     tick integer NOT NULL,
2231     scan_id text NOT NULL,
2232     pid integer,
2233     type text,
2234     uid integer DEFAULT '-1'::integer NOT NULL,
2235     groupscan boolean DEFAULT false NOT NULL,
2236     parsed boolean DEFAULT false NOT NULL,
2237     id integer NOT NULL
2238 );
2239
2240
2241 ALTER TABLE scans OWNER TO ndawn;
2242
2243 --
2244 -- Name: scans_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2245 --
2246
2247 CREATE SEQUENCE scans_id_seq
2248     START WITH 1
2249     INCREMENT BY 1
2250     NO MINVALUE
2251     NO MAXVALUE
2252     CACHE 1;
2253
2254
2255 ALTER TABLE scans_id_seq OWNER TO ndawn;
2256
2257 --
2258 -- Name: scans_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2259 --
2260
2261 ALTER SEQUENCE scans_id_seq OWNED BY scans.id;
2262
2263
2264 --
2265 -- Name: session_log; Type: TABLE; Schema: public; Owner: ndawn
2266 --
2267
2268 CREATE TABLE session_log (
2269     uid integer NOT NULL,
2270     "time" timestamp with time zone NOT NULL,
2271     ip inet NOT NULL,
2272     country character(2) NOT NULL,
2273     session text NOT NULL,
2274     remember boolean NOT NULL
2275 );
2276
2277
2278 ALTER TABLE session_log OWNER TO ndawn;
2279
2280 --
2281 -- Name: ship_stats_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2282 --
2283
2284 CREATE SEQUENCE ship_stats_id_seq
2285     START WITH 0
2286     INCREMENT BY 1
2287     MINVALUE 0
2288     NO MAXVALUE
2289     CACHE 1;
2290
2291
2292 ALTER TABLE ship_stats_id_seq OWNER TO ndawn;
2293
2294 --
2295 -- Name: ship_stats_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2296 --
2297
2298 ALTER SEQUENCE ship_stats_id_seq OWNED BY ship_stats.id;
2299
2300
2301 --
2302 -- Name: sms; Type: TABLE; Schema: public; Owner: ndawn
2303 --
2304
2305 CREATE TABLE sms (
2306     id integer NOT NULL,
2307     msgid text,
2308     uid integer NOT NULL,
2309     status text DEFAULT 'Waiting'::text NOT NULL,
2310     number text NOT NULL,
2311     message character varying(140) NOT NULL,
2312     cost numeric(4,2) DEFAULT 0 NOT NULL,
2313     "time" timestamp with time zone DEFAULT now() NOT NULL
2314 );
2315
2316
2317 ALTER TABLE sms OWNER TO ndawn;
2318
2319 --
2320 -- Name: sms_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2321 --
2322
2323 CREATE SEQUENCE sms_id_seq
2324     START WITH 1
2325     INCREMENT BY 1
2326     NO MINVALUE
2327     NO MAXVALUE
2328     CACHE 1;
2329
2330
2331 ALTER TABLE sms_id_seq OWNER TO ndawn;
2332
2333 --
2334 -- Name: sms_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2335 --
2336
2337 ALTER SEQUENCE sms_id_seq OWNED BY sms.id;
2338
2339
2340 --
2341 -- Name: smslist; Type: TABLE; Schema: public; Owner: ndawn
2342 --
2343
2344 CREATE TABLE smslist (
2345     nick text NOT NULL,
2346     sms text NOT NULL,
2347     info text
2348 );
2349
2350
2351 ALTER TABLE smslist OWNER TO ndawn;
2352
2353 --
2354 -- Name: table_updates; Type: VIEW; Schema: public; Owner: ndawn
2355 --
2356
2357 CREATE VIEW table_updates AS
2358  SELECT t.schemaname,
2359     t.relname,
2360     c.reloptions,
2361     t.n_tup_upd,
2362     t.n_tup_hot_upd,
2363         CASE
2364             WHEN (t.n_tup_upd > 0) THEN ((((t.n_tup_hot_upd)::numeric / (t.n_tup_upd)::numeric) * 100.0))::numeric(5,2)
2365             ELSE NULL::numeric
2366         END AS hot_ratio
2367    FROM (pg_stat_all_tables t
2368      JOIN (pg_class c
2369      JOIN pg_namespace n ON ((c.relnamespace = n.oid))) ON (((n.nspname = t.schemaname) AND (c.relname = t.relname) AND (t.n_tup_upd > 0))));
2370
2371
2372 ALTER TABLE table_updates OWNER TO ndawn;
2373
2374 --
2375 -- Name: users_uid_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2376 --
2377
2378 CREATE SEQUENCE users_uid_seq
2379     START WITH 1
2380     INCREMENT BY 1
2381     NO MINVALUE
2382     NO MAXVALUE
2383     CACHE 1;
2384
2385
2386 ALTER TABLE users_uid_seq OWNER TO ndawn;
2387
2388 --
2389 -- Name: users_uid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2390 --
2391
2392 ALTER SEQUENCE users_uid_seq OWNED BY users.uid;
2393
2394
2395 --
2396 -- Name: wiki_namespace_access; Type: TABLE; Schema: public; Owner: ndawn
2397 --
2398
2399 CREATE TABLE wiki_namespace_access (
2400     namespace text NOT NULL,
2401     gid character(1) NOT NULL,
2402     edit boolean DEFAULT false NOT NULL,
2403     post boolean DEFAULT false NOT NULL,
2404     moderate boolean DEFAULT false NOT NULL
2405 );
2406
2407
2408 ALTER TABLE wiki_namespace_access OWNER TO ndawn;
2409
2410 --
2411 -- Name: wiki_namespaces; Type: TABLE; Schema: public; Owner: ndawn
2412 --
2413
2414 CREATE TABLE wiki_namespaces (
2415     namespace character varying(16) NOT NULL
2416 );
2417
2418
2419 ALTER TABLE wiki_namespaces OWNER TO ndawn;
2420
2421 --
2422 -- Name: wiki_page_access; Type: TABLE; Schema: public; Owner: ndawn
2423 --
2424
2425 CREATE TABLE wiki_page_access (
2426     wpid integer NOT NULL,
2427     uid integer NOT NULL,
2428     edit boolean DEFAULT false NOT NULL,
2429     moderate boolean DEFAULT false NOT NULL
2430 );
2431
2432
2433 ALTER TABLE wiki_page_access OWNER TO ndawn;
2434
2435 --
2436 -- Name: wiki_page_revisions; Type: TABLE; Schema: public; Owner: ndawn
2437 --
2438
2439 CREATE TABLE wiki_page_revisions (
2440     wpid integer,
2441     wprev integer NOT NULL,
2442     parent integer,
2443     text text NOT NULL,
2444     comment text NOT NULL,
2445     "time" timestamp with time zone DEFAULT now() NOT NULL,
2446     uid integer
2447 );
2448
2449
2450 ALTER TABLE wiki_page_revisions OWNER TO ndawn;
2451
2452 --
2453 -- Name: wiki_page_revisions_wprev_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2454 --
2455
2456 CREATE SEQUENCE wiki_page_revisions_wprev_seq
2457     START WITH 1
2458     INCREMENT BY 1
2459     NO MINVALUE
2460     NO MAXVALUE
2461     CACHE 1;
2462
2463
2464 ALTER TABLE wiki_page_revisions_wprev_seq OWNER TO ndawn;
2465
2466 --
2467 -- Name: wiki_page_revisions_wprev_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2468 --
2469
2470 ALTER SEQUENCE wiki_page_revisions_wprev_seq OWNED BY wiki_page_revisions.wprev;
2471
2472
2473 --
2474 -- Name: wiki_pages; Type: TABLE; Schema: public; Owner: ndawn
2475 --
2476
2477 CREATE TABLE wiki_pages (
2478     wpid integer NOT NULL,
2479     name character varying(255) NOT NULL,
2480     namespace text DEFAULT ''::text NOT NULL,
2481     textsearch tsvector DEFAULT to_tsvector(''::text) NOT NULL,
2482     wprev integer,
2483     "time" timestamp with time zone DEFAULT now() NOT NULL
2484 );
2485
2486
2487 ALTER TABLE wiki_pages OWNER TO ndawn;
2488
2489 --
2490 -- Name: wiki_pages_wpid_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2491 --
2492
2493 CREATE SEQUENCE wiki_pages_wpid_seq
2494     START WITH 1
2495     INCREMENT BY 1
2496     NO MINVALUE
2497     NO MAXVALUE
2498     CACHE 1;
2499
2500
2501 ALTER TABLE wiki_pages_wpid_seq OWNER TO ndawn;
2502
2503 --
2504 -- Name: wiki_pages_wpid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2505 --
2506
2507 ALTER SEQUENCE wiki_pages_wpid_seq OWNED BY wiki_pages.wpid;
2508
2509
2510 --
2511 -- Name: aid; Type: DEFAULT; Schema: public; Owner: ndawn
2512 --
2513
2514 ALTER TABLE ONLY alliances ALTER COLUMN aid SET DEFAULT nextval('alliances_id_seq'::regclass);
2515
2516
2517 --
2518 -- Name: call; Type: DEFAULT; Schema: public; Owner: ndawn
2519 --
2520
2521 ALTER TABLE ONLY calls ALTER COLUMN call SET DEFAULT nextval('calls_id_seq'::regclass);
2522
2523
2524 --
2525 -- Name: num; Type: DEFAULT; Schema: public; Owner: ndawn
2526 --
2527
2528 ALTER TABLE ONLY fleet_ships ALTER COLUMN num SET DEFAULT nextval('fleet_ships_num_seq'::regclass);
2529
2530
2531 --
2532 -- Name: fid; Type: DEFAULT; Schema: public; Owner: ndawn
2533 --
2534
2535 ALTER TABLE ONLY fleets ALTER COLUMN fid SET DEFAULT nextval('fleets_id_seq'::regclass);
2536
2537
2538 --
2539 -- Name: fbid; Type: DEFAULT; Schema: public; Owner: ndawn
2540 --
2541
2542 ALTER TABLE ONLY forum_boards ALTER COLUMN fbid SET DEFAULT nextval('forum_boards_fbid_seq'::regclass);
2543
2544
2545 --
2546 -- Name: fcid; Type: DEFAULT; Schema: public; Owner: ndawn
2547 --
2548
2549 ALTER TABLE ONLY forum_categories ALTER COLUMN fcid SET DEFAULT nextval('forum_categories_fcid_seq'::regclass);
2550
2551
2552 --
2553 -- Name: fpid; Type: DEFAULT; Schema: public; Owner: ndawn
2554 --
2555
2556 ALTER TABLE ONLY forum_posts ALTER COLUMN fpid SET DEFAULT nextval('forum_posts_fpid_seq'::regclass);
2557
2558
2559 --
2560 -- Name: ftid; Type: DEFAULT; Schema: public; Owner: ndawn
2561 --
2562
2563 ALTER TABLE ONLY forum_threads ALTER COLUMN ftid SET DEFAULT nextval('forum_threads_ftid_seq'::regclass);
2564
2565
2566 --
2567 -- Name: inc; Type: DEFAULT; Schema: public; Owner: ndawn
2568 --
2569
2570 ALTER TABLE ONLY incomings ALTER COLUMN inc SET DEFAULT nextval('incomings_id_seq'::regclass);
2571
2572
2573 --
2574 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2575 --
2576
2577 ALTER TABLE ONLY intel ALTER COLUMN id SET DEFAULT nextval('intel_id_seq'::regclass);
2578
2579
2580 --
2581 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2582 --
2583
2584 ALTER TABLE ONLY irc_requests ALTER COLUMN id SET DEFAULT nextval('irc_requests_id_seq'::regclass);
2585
2586
2587 --
2588 -- Name: pid; Type: DEFAULT; Schema: public; Owner: ndawn
2589 --
2590
2591 ALTER TABLE ONLY planets ALTER COLUMN pid SET DEFAULT nextval('planets_id_seq'::regclass);
2592
2593
2594 --
2595 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2596 --
2597
2598 ALTER TABLE ONLY raid_targets ALTER COLUMN id SET DEFAULT nextval('raid_targets_id_seq'::regclass);
2599
2600
2601 --
2602 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2603 --
2604
2605 ALTER TABLE ONLY raids ALTER COLUMN id SET DEFAULT nextval('raids_id_seq'::regclass);
2606
2607
2608 --
2609 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2610 --
2611
2612 ALTER TABLE ONLY scan_requests ALTER COLUMN id SET DEFAULT nextval('scan_requests_id_seq'::regclass);
2613
2614
2615 --
2616 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2617 --
2618
2619 ALTER TABLE ONLY scans ALTER COLUMN id SET DEFAULT nextval('scans_id_seq'::regclass);
2620
2621
2622 --
2623 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2624 --
2625
2626 ALTER TABLE ONLY ship_stats ALTER COLUMN id SET DEFAULT nextval('ship_stats_id_seq'::regclass);
2627
2628
2629 --
2630 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2631 --
2632
2633 ALTER TABLE ONLY sms ALTER COLUMN id SET DEFAULT nextval('sms_id_seq'::regclass);
2634
2635
2636 --
2637 -- Name: uid; Type: DEFAULT; Schema: public; Owner: ndawn
2638 --
2639
2640 ALTER TABLE ONLY users ALTER COLUMN uid SET DEFAULT nextval('users_uid_seq'::regclass);
2641
2642
2643 --
2644 -- Name: wprev; Type: DEFAULT; Schema: public; Owner: ndawn
2645 --
2646
2647 ALTER TABLE ONLY wiki_page_revisions ALTER COLUMN wprev SET DEFAULT nextval('wiki_page_revisions_wprev_seq'::regclass);
2648
2649
2650 --
2651 -- Name: wpid; Type: DEFAULT; Schema: public; Owner: ndawn
2652 --
2653
2654 ALTER TABLE ONLY wiki_pages ALTER COLUMN wpid SET DEFAULT nextval('wiki_pages_wpid_seq'::regclass);
2655
2656
2657 --
2658 -- Name: accounts_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2659 --
2660
2661 ALTER TABLE ONLY users
2662     ADD CONSTRAINT accounts_pkey PRIMARY KEY (uid);
2663
2664
2665 --
2666 -- Name: alliance_stats_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2667 --
2668
2669 ALTER TABLE ONLY alliance_stats
2670     ADD CONSTRAINT alliance_stats_pkey PRIMARY KEY (aid, tick);
2671
2672
2673 --
2674 -- Name: alliances_name_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2675 --
2676
2677 ALTER TABLE ONLY alliances
2678     ADD CONSTRAINT alliances_name_key UNIQUE (alliance);
2679
2680
2681 --
2682 -- Name: alliances_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2683 --
2684
2685 ALTER TABLE ONLY alliances
2686     ADD CONSTRAINT alliances_pkey PRIMARY KEY (aid);
2687
2688
2689 --
2690 -- Name: available_planet_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2691 --
2692
2693 ALTER TABLE ONLY available_planet_tags
2694     ADD CONSTRAINT available_planet_tags_pkey PRIMARY KEY (tag);
2695
2696
2697 --
2698 -- Name: call_statuses_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2699 --
2700
2701 ALTER TABLE ONLY call_statuses
2702     ADD CONSTRAINT call_statuses_pkey PRIMARY KEY (status);
2703
2704
2705 --
2706 -- Name: calls_member_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2707 --
2708
2709 ALTER TABLE ONLY calls
2710     ADD CONSTRAINT calls_member_key UNIQUE (uid, landing_tick);
2711
2712
2713 --
2714 -- Name: calls_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2715 --
2716
2717 ALTER TABLE ONLY calls
2718     ADD CONSTRAINT calls_pkey PRIMARY KEY (call);
2719
2720
2721 --
2722 -- Name: channel_flags_name_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2723 --
2724
2725 ALTER TABLE ONLY channel_flags
2726     ADD CONSTRAINT channel_flags_name_key UNIQUE (name);
2727
2728
2729 --
2730 -- Name: channel_flags_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2731 --
2732
2733 ALTER TABLE ONLY channel_flags
2734     ADD CONSTRAINT channel_flags_pkey PRIMARY KEY (flag);
2735
2736
2737 --
2738 -- Name: channel_group_flags_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2739 --
2740
2741 ALTER TABLE ONLY channel_group_flags
2742     ADD CONSTRAINT channel_group_flags_pkey PRIMARY KEY (channel, gid, flag);
2743
2744
2745 --
2746 -- Name: channels_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2747 --
2748
2749 ALTER TABLE ONLY channels
2750     ADD CONSTRAINT channels_pkey PRIMARY KEY (channel);
2751
2752
2753 --
2754 -- Name: clickatell_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2755 --
2756
2757 ALTER TABLE ONLY clickatell
2758     ADD CONSTRAINT clickatell_pkey PRIMARY KEY (api_id, username);
2759
2760
2761 --
2762 -- Name: covop_attacks_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2763 --
2764
2765 ALTER TABLE ONLY covop_attacks
2766     ADD CONSTRAINT covop_attacks_pkey PRIMARY KEY (pid, tick, uid);
2767
2768
2769 --
2770 -- Name: defense_missions_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2771 --
2772
2773 ALTER TABLE ONLY defense_missions
2774     ADD CONSTRAINT defense_missions_pkey PRIMARY KEY (fleet);
2775
2776
2777 --
2778 -- Name: development_scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2779 --
2780
2781 ALTER TABLE ONLY development_scans
2782     ADD CONSTRAINT development_scans_pkey PRIMARY KEY (id);
2783
2784
2785 --
2786 -- Name: dumps_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2787 --
2788
2789 ALTER TABLE ONLY dumps
2790     ADD CONSTRAINT dumps_pkey PRIMARY KEY (tick, type, modified);
2791
2792
2793 --
2794 -- Name: email_change_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2795 --
2796
2797 ALTER TABLE ONLY email_change
2798     ADD CONSTRAINT email_change_pkey PRIMARY KEY (id);
2799
2800
2801 --
2802 -- Name: fleet_scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2803 --
2804
2805 ALTER TABLE ONLY fleet_scans
2806     ADD CONSTRAINT fleet_scans_pkey PRIMARY KEY (fid);
2807
2808
2809 --
2810 -- Name: fleet_ships_num_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2811 --
2812
2813 ALTER TABLE ONLY fleet_ships
2814     ADD CONSTRAINT fleet_ships_num_key UNIQUE (num);
2815
2816
2817 --
2818 -- Name: fleet_ships_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2819 --
2820
2821 ALTER TABLE ONLY fleet_ships
2822     ADD CONSTRAINT fleet_ships_pkey PRIMARY KEY (fid, ship);
2823
2824
2825 --
2826 -- Name: fleets_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2827 --
2828
2829 ALTER TABLE ONLY fleets
2830     ADD CONSTRAINT fleets_pkey PRIMARY KEY (fid);
2831
2832
2833 --
2834 -- Name: forum_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2835 --
2836
2837 ALTER TABLE ONLY forum_access
2838     ADD CONSTRAINT forum_access_pkey PRIMARY KEY (fbid, gid);
2839
2840
2841 --
2842 -- Name: forum_boards_fcid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2843 --
2844
2845 ALTER TABLE ONLY forum_boards
2846     ADD CONSTRAINT forum_boards_fcid_key UNIQUE (fcid, board);
2847
2848
2849 --
2850 -- Name: forum_boards_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2851 --
2852
2853 ALTER TABLE ONLY forum_boards
2854     ADD CONSTRAINT forum_boards_pkey PRIMARY KEY (fbid);
2855
2856
2857 --
2858 -- Name: forum_categories_category_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2859 --
2860
2861 ALTER TABLE ONLY forum_categories
2862     ADD CONSTRAINT forum_categories_category_key UNIQUE (category);
2863
2864
2865 --
2866 -- Name: forum_categories_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2867 --
2868
2869 ALTER TABLE ONLY forum_categories
2870     ADD CONSTRAINT forum_categories_pkey PRIMARY KEY (fcid);
2871
2872
2873 --
2874 -- Name: forum_posts_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2875 --
2876
2877 ALTER TABLE ONLY forum_posts
2878     ADD CONSTRAINT forum_posts_pkey PRIMARY KEY (fpid);
2879
2880
2881 --
2882 -- Name: forum_priv_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2883 --
2884
2885 ALTER TABLE ONLY forum_priv_access
2886     ADD CONSTRAINT forum_priv_access_pkey PRIMARY KEY (uid, ftid);
2887
2888
2889 --
2890 -- Name: forum_thread_visits_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2891 --
2892
2893 ALTER TABLE ONLY forum_thread_visits
2894     ADD CONSTRAINT forum_thread_visits_pkey PRIMARY KEY (uid, ftid);
2895
2896
2897 --
2898 -- Name: forum_threads_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2899 --
2900
2901 ALTER TABLE ONLY forum_threads
2902     ADD CONSTRAINT forum_threads_pkey PRIMARY KEY (ftid);
2903
2904
2905 --
2906 -- Name: full_fleets_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2907 --
2908
2909 ALTER TABLE ONLY full_fleets
2910     ADD CONSTRAINT full_fleets_pkey PRIMARY KEY (fid);
2911
2912
2913 --
2914 -- Name: galaxies_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2915 --
2916
2917 ALTER TABLE ONLY galaxies
2918     ADD CONSTRAINT galaxies_pkey PRIMARY KEY (tick, x, y);
2919
2920
2921 --
2922 -- Name: group_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2923 --
2924
2925 ALTER TABLE ONLY group_roles
2926     ADD CONSTRAINT group_roles_pkey PRIMARY KEY (gid, role);
2927
2928
2929 --
2930 -- Name: groupmembers_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2931 --
2932
2933 ALTER TABLE ONLY groupmembers
2934     ADD CONSTRAINT groupmembers_pkey PRIMARY KEY (gid, uid);
2935
2936
2937 --
2938 -- Name: groups_groupname_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2939 --
2940
2941 ALTER TABLE ONLY groups
2942     ADD CONSTRAINT groups_groupname_key UNIQUE (groupname);
2943
2944
2945 --
2946 -- Name: groups_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2947 --
2948
2949 ALTER TABLE ONLY groups
2950     ADD CONSTRAINT groups_pkey PRIMARY KEY (gid);
2951
2952
2953 --
2954 -- Name: incomings_call_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2955 --
2956
2957 ALTER TABLE ONLY incomings
2958     ADD CONSTRAINT incomings_call_key UNIQUE (call, pid, fleet);
2959
2960
2961 --
2962 -- Name: incomings_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2963 --
2964
2965 ALTER TABLE ONLY incomings
2966     ADD CONSTRAINT incomings_pkey PRIMARY KEY (inc);
2967
2968
2969 --
2970 -- Name: intel_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2971 --
2972
2973 ALTER TABLE ONLY intel
2974     ADD CONSTRAINT intel_pkey PRIMARY KEY (id);
2975
2976
2977 --
2978 -- Name: intel_scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2979 --
2980
2981 ALTER TABLE ONLY intel_scans
2982     ADD CONSTRAINT intel_scans_pkey PRIMARY KEY (id, intel);
2983
2984
2985 --
2986 -- Name: irc_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2987 --
2988
2989 ALTER TABLE ONLY irc_requests
2990     ADD CONSTRAINT irc_requests_pkey PRIMARY KEY (id);
2991
2992
2993 --
2994 -- Name: last_smokes_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2995 --
2996
2997 ALTER TABLE ONLY last_smokes
2998     ADD CONSTRAINT last_smokes_pkey PRIMARY KEY (nick);
2999
3000
3001 --
3002 -- Name: launch_confirmations_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3003 --
3004
3005 ALTER TABLE ONLY launch_confirmations
3006     ADD CONSTRAINT launch_confirmations_pkey PRIMARY KEY (fid);
3007
3008
3009 --
3010 -- Name: misc_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3011 --
3012
3013 ALTER TABLE ONLY misc
3014     ADD CONSTRAINT misc_pkey PRIMARY KEY (id);
3015
3016
3017 --
3018 -- Name: planet_scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3019 --
3020
3021 ALTER TABLE ONLY planet_scans
3022     ADD CONSTRAINT planet_scans_pkey PRIMARY KEY (id);
3023
3024
3025 --
3026 -- Name: planet_stats_id_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3027 --
3028
3029 ALTER TABLE ONLY planet_stats
3030     ADD CONSTRAINT planet_stats_id_key UNIQUE (pid, tick);
3031
3032
3033 --
3034 -- Name: planet_stats_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3035 --
3036
3037 ALTER TABLE ONLY planet_stats
3038     ADD CONSTRAINT planet_stats_pkey PRIMARY KEY (tick, x, y, z);
3039
3040
3041 --
3042 -- Name: planet_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3043 --
3044
3045 ALTER TABLE ONLY planet_tags
3046     ADD CONSTRAINT planet_tags_pkey PRIMARY KEY (pid, uid, tag);
3047
3048
3049 --
3050 -- Name: planets_ftid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3051 --
3052
3053 ALTER TABLE ONLY planets
3054     ADD CONSTRAINT planets_ftid_key UNIQUE (ftid);
3055
3056
3057 --
3058 -- Name: planets_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3059 --
3060
3061 ALTER TABLE ONLY planets
3062     ADD CONSTRAINT planets_pkey PRIMARY KEY (pid);
3063
3064
3065 --
3066 -- Name: raid_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3067 --
3068
3069 ALTER TABLE ONLY raid_access
3070     ADD CONSTRAINT raid_access_pkey PRIMARY KEY (raid, gid);
3071
3072
3073 --
3074 -- Name: raid_claims_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3075 --
3076
3077 ALTER TABLE ONLY raid_claims
3078     ADD CONSTRAINT raid_claims_pkey PRIMARY KEY (target, uid, wave);
3079
3080
3081 --
3082 -- Name: raid_targets_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3083 --
3084
3085 ALTER TABLE ONLY raid_targets
3086     ADD CONSTRAINT raid_targets_pkey PRIMARY KEY (id);
3087
3088
3089 --
3090 -- Name: raid_targets_raid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3091 --
3092
3093 ALTER TABLE ONLY raid_targets
3094     ADD CONSTRAINT raid_targets_raid_key UNIQUE (raid, pid);
3095
3096
3097 --
3098 -- Name: raids_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3099 --
3100
3101 ALTER TABLE ONLY raids
3102     ADD CONSTRAINT raids_pkey PRIMARY KEY (id);
3103
3104
3105 --
3106 -- Name: roles_role_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3107 --
3108
3109 ALTER TABLE ONLY roles
3110     ADD CONSTRAINT roles_role_key UNIQUE (role);
3111
3112
3113 --
3114 -- Name: scan_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3115 --
3116
3117 ALTER TABLE ONLY scan_requests
3118     ADD CONSTRAINT scan_requests_pkey PRIMARY KEY (id);
3119
3120
3121 --
3122 -- Name: scan_requests_tick_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3123 --
3124
3125 ALTER TABLE ONLY scan_requests
3126     ADD CONSTRAINT scan_requests_tick_key UNIQUE (tick, pid, type, uid);
3127
3128
3129 --
3130 -- Name: scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3131 --
3132
3133 ALTER TABLE ONLY scans
3134     ADD CONSTRAINT scans_pkey PRIMARY KEY (id);
3135
3136
3137 --
3138 -- Name: scans_scan_id_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3139 --
3140
3141 ALTER TABLE ONLY scans
3142     ADD CONSTRAINT scans_scan_id_key UNIQUE (scan_id, tick, groupscan);
3143
3144
3145 --
3146 -- Name: session_log_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3147 --
3148
3149 ALTER TABLE ONLY session_log
3150     ADD CONSTRAINT session_log_pkey PRIMARY KEY (uid, "time", ip);
3151
3152
3153 --
3154 -- Name: ship_stats_id_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3155 --
3156
3157 ALTER TABLE ONLY ship_stats
3158     ADD CONSTRAINT ship_stats_id_key UNIQUE (id);
3159
3160 ALTER TABLE ship_stats CLUSTER ON ship_stats_id_key;
3161
3162
3163 --
3164 -- Name: ship_stats_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3165 --
3166
3167 ALTER TABLE ONLY ship_stats
3168     ADD CONSTRAINT ship_stats_pkey PRIMARY KEY (ship);
3169
3170
3171 --
3172 -- Name: sms_msgid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3173 --
3174
3175 ALTER TABLE ONLY sms
3176     ADD CONSTRAINT sms_msgid_key UNIQUE (msgid);
3177
3178
3179 --
3180 -- Name: sms_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3181 --
3182
3183 ALTER TABLE ONLY sms
3184     ADD CONSTRAINT sms_pkey PRIMARY KEY (id);
3185
3186
3187 --
3188 -- Name: smslist_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3189 --
3190
3191 ALTER TABLE ONLY smslist
3192     ADD CONSTRAINT smslist_pkey PRIMARY KEY (sms);
3193
3194
3195 --
3196 -- Name: ticks_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3197 --
3198
3199 ALTER TABLE ONLY ticks
3200     ADD CONSTRAINT ticks_pkey PRIMARY KEY (t);
3201
3202
3203 --
3204 -- Name: users_hostmask_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3205 --
3206
3207 ALTER TABLE ONLY users
3208     ADD CONSTRAINT users_hostmask_key UNIQUE (hostmask);
3209
3210
3211 --
3212 -- Name: users_planet_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3213 --
3214
3215 ALTER TABLE ONLY users
3216     ADD CONSTRAINT users_planet_key UNIQUE (pid);
3217
3218
3219 --
3220 -- Name: users_pnick_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3221 --
3222
3223 ALTER TABLE ONLY users
3224     ADD CONSTRAINT users_pnick_key UNIQUE (pnick);
3225
3226
3227 --
3228 -- Name: users_tfid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3229 --
3230
3231 ALTER TABLE ONLY users
3232     ADD CONSTRAINT users_tfid_key UNIQUE (ftid);
3233
3234
3235 --
3236 -- Name: users_username_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3237 --
3238
3239 ALTER TABLE ONLY users
3240     ADD CONSTRAINT users_username_key UNIQUE (username);
3241
3242
3243 --
3244 -- Name: wiki_namespace_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3245 --
3246
3247 ALTER TABLE ONLY wiki_namespace_access
3248     ADD CONSTRAINT wiki_namespace_access_pkey PRIMARY KEY (gid, namespace);
3249
3250
3251 --
3252 -- Name: wiki_namespaces_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3253 --
3254
3255 ALTER TABLE ONLY wiki_namespaces
3256     ADD CONSTRAINT wiki_namespaces_pkey PRIMARY KEY (namespace);
3257
3258
3259 --
3260 -- Name: wiki_page_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3261 --
3262
3263 ALTER TABLE ONLY wiki_page_access
3264     ADD CONSTRAINT wiki_page_access_pkey PRIMARY KEY (uid, wpid);
3265
3266
3267 --
3268 -- Name: wiki_page_revisions_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3269 --
3270
3271 ALTER TABLE ONLY wiki_page_revisions
3272     ADD CONSTRAINT wiki_page_revisions_pkey PRIMARY KEY (wprev);
3273
3274
3275 --
3276 -- Name: wiki_pages_namespace_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3277 --
3278
3279 ALTER TABLE ONLY wiki_pages
3280     ADD CONSTRAINT wiki_pages_namespace_key UNIQUE (namespace, name);
3281
3282
3283 --
3284 -- Name: wiki_pages_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3285 --
3286
3287 ALTER TABLE ONLY wiki_pages
3288     ADD CONSTRAINT wiki_pages_pkey PRIMARY KEY (wpid);
3289
3290
3291 --
3292 -- Name: development_scans_planet_index; Type: INDEX; Schema: public; Owner: ndawn
3293 --
3294
3295 CREATE INDEX development_scans_planet_index ON development_scans USING btree (pid, tick);
3296
3297
3298 --
3299 -- Name: fleets_sender_index; Type: INDEX; Schema: public; Owner: ndawn
3300 --
3301
3302 CREATE INDEX fleets_sender_index ON fleets USING btree (pid);
3303
3304
3305 --
3306 -- Name: forum_posts_ftid_index; Type: INDEX; Schema: public; Owner: ndawn
3307 --
3308
3309 CREATE INDEX forum_posts_ftid_index ON forum_posts USING btree (ftid);
3310
3311
3312 --
3313 -- Name: forum_posts_textsearch_index; Type: INDEX; Schema: public; Owner: ndawn
3314 --
3315
3316 CREATE INDEX forum_posts_textsearch_index ON forum_posts USING gin (textsearch);
3317
3318
3319 --
3320 -- Name: groupmembers_uid_key; Type: INDEX; Schema: public; Owner: ndawn
3321 --
3322
3323 CREATE INDEX groupmembers_uid_key ON groupmembers USING btree (uid);
3324
3325
3326 --
3327 -- Name: intel_tick_index; Type: INDEX; Schema: public; Owner: ndawn
3328 --
3329
3330 CREATE INDEX intel_tick_index ON intel USING btree (tick);
3331
3332
3333 --
3334 -- Name: planet_scans_planet_index; Type: INDEX; Schema: public; Owner: ndawn
3335 --
3336
3337 CREATE INDEX planet_scans_planet_index ON planet_scans USING btree (pid, tick);
3338
3339
3340 --
3341 -- Name: planet_stats_scorerank_index; Type: INDEX; Schema: public; Owner: ndawn
3342 --
3343
3344 CREATE INDEX planet_stats_scorerank_index ON planet_stats USING btree (tick, scorerank);
3345
3346
3347 --
3348 -- Name: planet_stats_sizerank_index; Type: INDEX; Schema: public; Owner: ndawn
3349 --
3350
3351 CREATE INDEX planet_stats_sizerank_index ON planet_stats USING btree (tick, sizerank);
3352
3353
3354 --
3355 -- Name: planet_stats_valuerank_index; Type: INDEX; Schema: public; Owner: ndawn
3356 --
3357
3358 CREATE INDEX planet_stats_valuerank_index ON planet_stats USING btree (tick, valuerank);
3359
3360
3361 --
3362 -- Name: planet_stats_xprank_index; Type: INDEX; Schema: public; Owner: ndawn
3363 --
3364
3365 CREATE INDEX planet_stats_xprank_index ON planet_stats USING btree (tick, xprank);
3366
3367
3368 --
3369 -- Name: planets_alliance_id_index; Type: INDEX; Schema: public; Owner: ndawn
3370 --
3371
3372 CREATE INDEX planets_alliance_id_index ON planets USING btree (alliance);
3373
3374
3375 --
3376 -- Name: scan_requests_time_not_sent_index; Type: INDEX; Schema: public; Owner: ndawn
3377 --
3378
3379 CREATE INDEX scan_requests_time_not_sent_index ON scan_requests USING btree ("time") WHERE (NOT sent);
3380
3381
3382 --
3383 -- Name: scans_not_parsed_index; Type: INDEX; Schema: public; Owner: ndawn
3384 --
3385
3386 CREATE INDEX scans_not_parsed_index ON scans USING btree (groupscan) WHERE (NOT parsed);
3387
3388
3389 --
3390 -- Name: scans_planet_index; Type: INDEX; Schema: public; Owner: ndawn
3391 --
3392
3393 CREATE INDEX scans_planet_index ON scans USING btree (pid, type, tick);
3394
3395
3396 --
3397 -- Name: sms_status_msgid_idx; Type: INDEX; Schema: public; Owner: ndawn
3398 --
3399
3400 CREATE INDEX sms_status_msgid_idx ON sms USING btree (status) WHERE (msgid IS NULL);
3401
3402
3403 --
3404 -- Name: smslist_nick_key; Type: INDEX; Schema: public; Owner: ndawn
3405 --
3406
3407 CREATE UNIQUE INDEX smslist_nick_key ON smslist USING btree (lower(nick));
3408
3409
3410 --
3411 -- Name: users_birthday_index; Type: INDEX; Schema: public; Owner: ndawn
3412 --
3413
3414 CREATE INDEX users_birthday_index ON users USING btree (mmdd(birthday)) WHERE (birthday IS NOT NULL);
3415
3416
3417 --
3418 -- Name: wiki_pages_textsearch_index; Type: INDEX; Schema: public; Owner: ndawn
3419 --
3420
3421 CREATE INDEX wiki_pages_textsearch_index ON wiki_pages USING gin (textsearch);
3422
3423
3424 --
3425 -- Name: add_call; Type: TRIGGER; Schema: public; Owner: ndawn
3426 --
3427
3428 CREATE TRIGGER add_call BEFORE INSERT ON calls FOR EACH ROW EXECUTE PROCEDURE add_call();
3429
3430
3431 --
3432 -- Name: add_raid; Type: TRIGGER; Schema: public; Owner: ndawn
3433 --
3434
3435 CREATE TRIGGER add_raid BEFORE INSERT ON raids FOR EACH ROW EXECUTE PROCEDURE add_raid();
3436
3437
3438 --
3439 -- Name: add_remove_member; Type: TRIGGER; Schema: public; Owner: ndawn
3440 --
3441
3442 CREATE TRIGGER add_remove_member AFTER INSERT OR DELETE ON groupmembers FOR EACH ROW EXECUTE PROCEDURE change_member();
3443
3444
3445 --
3446 -- Name: add_user; Type: TRIGGER; Schema: public; Owner: ndawn
3447 --
3448
3449 CREATE TRIGGER add_user BEFORE INSERT ON users FOR EACH ROW EXECUTE PROCEDURE add_user();
3450
3451
3452 --
3453 -- Name: update_forum_post; Type: TRIGGER; Schema: public; Owner: ndawn
3454 --
3455
3456 CREATE TRIGGER update_forum_post BEFORE INSERT OR UPDATE ON forum_posts FOR EACH ROW EXECUTE PROCEDURE update_forum_post();
3457
3458
3459 --
3460 -- Name: update_forum_thread_posts; Type: TRIGGER; Schema: public; Owner: ndawn
3461 --
3462
3463 CREATE TRIGGER update_forum_thread_posts AFTER INSERT OR DELETE OR UPDATE ON forum_posts FOR EACH ROW EXECUTE PROCEDURE update_forum_thread_posts();
3464
3465
3466 --
3467 -- Name: update_planet; Type: TRIGGER; Schema: public; Owner: ndawn
3468 --
3469
3470 CREATE TRIGGER update_planet AFTER UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE update_user_planet();
3471
3472
3473 --
3474 -- Name: update_wiki_page; Type: TRIGGER; Schema: public; Owner: ndawn
3475 --
3476
3477 CREATE TRIGGER update_wiki_page BEFORE UPDATE ON wiki_pages FOR EACH ROW EXECUTE PROCEDURE update_wiki_page();
3478
3479
3480 --
3481 -- Name: updated_claim; Type: TRIGGER; Schema: public; Owner: ndawn
3482 --
3483
3484 CREATE TRIGGER updated_claim AFTER INSERT OR DELETE OR UPDATE ON raid_claims FOR EACH ROW EXECUTE PROCEDURE updated_claim();
3485
3486
3487 --
3488 -- Name: alliance_stats_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3489 --
3490
3491 ALTER TABLE ONLY alliance_stats
3492     ADD CONSTRAINT alliance_stats_id_fkey FOREIGN KEY (aid) REFERENCES alliances(aid);
3493
3494
3495 --
3496 -- Name: calls_dc_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3497 --
3498
3499 ALTER TABLE ONLY calls
3500     ADD CONSTRAINT calls_dc_fkey FOREIGN KEY (dc) REFERENCES users(uid) ON UPDATE SET NULL ON DELETE SET NULL;
3501
3502
3503 --
3504 -- Name: calls_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3505 --
3506
3507 ALTER TABLE ONLY calls
3508     ADD CONSTRAINT calls_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid);
3509
3510
3511 --
3512 -- Name: calls_member_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3513 --
3514
3515 ALTER TABLE ONLY calls
3516     ADD CONSTRAINT calls_member_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3517
3518
3519 --
3520 -- Name: calls_status_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3521 --
3522
3523 ALTER TABLE ONLY calls
3524     ADD CONSTRAINT calls_status_fkey FOREIGN KEY (status) REFERENCES call_statuses(status);
3525
3526
3527 --
3528 -- Name: channel_group_flags_channel_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3529 --
3530
3531 ALTER TABLE ONLY channel_group_flags
3532     ADD CONSTRAINT channel_group_flags_channel_fkey FOREIGN KEY (channel) REFERENCES channels(channel) ON UPDATE CASCADE ON DELETE CASCADE;
3533
3534
3535 --
3536 -- Name: channel_group_flags_flag_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3537 --
3538
3539 ALTER TABLE ONLY channel_group_flags
3540     ADD CONSTRAINT channel_group_flags_flag_fkey FOREIGN KEY (flag) REFERENCES channel_flags(flag) ON UPDATE CASCADE ON DELETE CASCADE;
3541
3542
3543 --
3544 -- Name: channel_group_flags_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3545 --
3546
3547 ALTER TABLE ONLY channel_group_flags
3548     ADD CONSTRAINT channel_group_flags_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3549
3550
3551 --
3552 -- Name: covop_attacks_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3553 --
3554
3555 ALTER TABLE ONLY covop_attacks
3556     ADD CONSTRAINT covop_attacks_id_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3557
3558
3559 --
3560 -- Name: covop_attacks_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3561 --
3562
3563 ALTER TABLE ONLY covop_attacks
3564     ADD CONSTRAINT covop_attacks_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3565
3566
3567 --
3568 -- Name: defense_missions_call_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3569 --
3570
3571 ALTER TABLE ONLY defense_missions
3572     ADD CONSTRAINT defense_missions_call_fkey FOREIGN KEY (call) REFERENCES calls(call) ON UPDATE CASCADE ON DELETE CASCADE;
3573
3574
3575 --
3576 -- Name: defense_missions_fleet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3577 --
3578
3579 ALTER TABLE ONLY defense_missions
3580     ADD CONSTRAINT defense_missions_fleet_fkey FOREIGN KEY (fleet) REFERENCES fleets(fid) ON UPDATE CASCADE ON DELETE CASCADE;
3581
3582
3583 --
3584 -- Name: development_scans_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3585 --
3586
3587 ALTER TABLE ONLY development_scans
3588     ADD CONSTRAINT development_scans_id_fkey FOREIGN KEY (id) REFERENCES scans(id);
3589
3590
3591 --
3592 -- Name: development_scans_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3593 --
3594
3595 ALTER TABLE ONLY development_scans
3596     ADD CONSTRAINT development_scans_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3597
3598
3599 --
3600 -- Name: email_change_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3601 --
3602
3603 ALTER TABLE ONLY email_change
3604     ADD CONSTRAINT email_change_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3605
3606
3607 --
3608 -- Name: fleet_scans_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3609 --
3610
3611 ALTER TABLE ONLY fleet_scans
3612     ADD CONSTRAINT fleet_scans_id_fkey FOREIGN KEY (fid) REFERENCES fleets(fid) ON DELETE CASCADE;
3613
3614
3615 --
3616 -- Name: fleet_scans_scan_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3617 --
3618
3619 ALTER TABLE ONLY fleet_scans
3620     ADD CONSTRAINT fleet_scans_scan_fkey FOREIGN KEY (id) REFERENCES scans(id);
3621
3622
3623 --
3624 -- Name: fleet_ships_fleet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3625 --
3626
3627 ALTER TABLE ONLY fleet_ships
3628     ADD CONSTRAINT fleet_ships_fleet_fkey FOREIGN KEY (fid) REFERENCES fleets(fid) ON UPDATE CASCADE ON DELETE CASCADE;
3629
3630
3631 --
3632 -- Name: fleet_ships_ship_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3633 --
3634
3635 ALTER TABLE ONLY fleet_ships
3636     ADD CONSTRAINT fleet_ships_ship_fkey FOREIGN KEY (ship) REFERENCES ship_stats(ship);
3637
3638
3639 --
3640 -- Name: fleets_sender_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3641 --
3642
3643 ALTER TABLE ONLY fleets
3644     ADD CONSTRAINT fleets_sender_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
3645
3646
3647 --
3648 -- Name: forum_access_fbid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3649 --
3650
3651 ALTER TABLE ONLY forum_access
3652     ADD CONSTRAINT forum_access_fbid_fkey FOREIGN KEY (fbid) REFERENCES forum_boards(fbid) ON UPDATE CASCADE ON DELETE CASCADE;
3653
3654
3655 --
3656 -- Name: forum_access_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3657 --
3658
3659 ALTER TABLE ONLY forum_access
3660     ADD CONSTRAINT forum_access_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3661
3662
3663 --
3664 -- Name: forum_boards_fcid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3665 --
3666
3667 ALTER TABLE ONLY forum_boards
3668     ADD CONSTRAINT forum_boards_fcid_fkey FOREIGN KEY (fcid) REFERENCES forum_categories(fcid) ON UPDATE CASCADE ON DELETE CASCADE;
3669
3670
3671 --
3672 -- Name: forum_posts_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3673 --
3674
3675 ALTER TABLE ONLY forum_posts
3676     ADD CONSTRAINT forum_posts_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE CASCADE ON DELETE CASCADE;
3677
3678
3679 --
3680 -- Name: forum_posts_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3681 --
3682
3683 ALTER TABLE ONLY forum_posts
3684     ADD CONSTRAINT forum_posts_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3685
3686
3687 --
3688 -- Name: forum_priv_access_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3689 --
3690
3691 ALTER TABLE ONLY forum_priv_access
3692     ADD CONSTRAINT forum_priv_access_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON DELETE CASCADE;
3693
3694
3695 --
3696 -- Name: forum_priv_access_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3697 --
3698
3699 ALTER TABLE ONLY forum_priv_access
3700     ADD CONSTRAINT forum_priv_access_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3701
3702
3703 --
3704 -- Name: forum_thread_visits_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3705 --
3706
3707 ALTER TABLE ONLY forum_thread_visits
3708     ADD CONSTRAINT forum_thread_visits_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE CASCADE ON DELETE CASCADE;
3709
3710
3711 --
3712 -- Name: forum_thread_visits_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3713 --
3714
3715 ALTER TABLE ONLY forum_thread_visits
3716     ADD CONSTRAINT forum_thread_visits_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3717
3718
3719 --
3720 -- Name: forum_threads_fbid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3721 --
3722
3723 ALTER TABLE ONLY forum_threads
3724     ADD CONSTRAINT forum_threads_fbid_fkey FOREIGN KEY (fbid) REFERENCES forum_boards(fbid) ON UPDATE CASCADE ON DELETE CASCADE;
3725
3726
3727 --
3728 -- Name: forum_threads_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3729 --
3730
3731 ALTER TABLE ONLY forum_threads
3732     ADD CONSTRAINT forum_threads_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE RESTRICT;
3733
3734
3735 --
3736 -- Name: full_fleets_fid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3737 --
3738
3739 ALTER TABLE ONLY full_fleets
3740     ADD CONSTRAINT full_fleets_fid_fkey FOREIGN KEY (fid) REFERENCES fleets(fid);
3741
3742
3743 --
3744 -- Name: full_fleets_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3745 --
3746
3747 ALTER TABLE ONLY full_fleets
3748     ADD CONSTRAINT full_fleets_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3749
3750
3751 --
3752 -- Name: group_roles_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3753 --
3754
3755 ALTER TABLE ONLY group_roles
3756     ADD CONSTRAINT group_roles_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3757
3758
3759 --
3760 -- Name: group_roles_role_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3761 --
3762
3763 ALTER TABLE ONLY group_roles
3764     ADD CONSTRAINT group_roles_role_fkey FOREIGN KEY (role) REFERENCES roles(role);
3765
3766
3767 --
3768 -- Name: groupmembers_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3769 --
3770
3771 ALTER TABLE ONLY groupmembers
3772     ADD CONSTRAINT groupmembers_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3773
3774
3775 --
3776 -- Name: groupmembers_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3777 --
3778
3779 ALTER TABLE ONLY groupmembers
3780     ADD CONSTRAINT groupmembers_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3781
3782
3783 --
3784 -- Name: incomings_call_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3785 --
3786
3787 ALTER TABLE ONLY incomings
3788     ADD CONSTRAINT incomings_call_fkey FOREIGN KEY (call) REFERENCES calls(call) ON UPDATE CASCADE ON DELETE CASCADE;
3789
3790
3791 --
3792 -- Name: incomings_sender_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3793 --
3794
3795 ALTER TABLE ONLY incomings
3796     ADD CONSTRAINT incomings_sender_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
3797
3798
3799 --
3800 -- Name: intel_scans_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3801 --
3802
3803 ALTER TABLE ONLY intel_scans
3804     ADD CONSTRAINT intel_scans_id_fkey FOREIGN KEY (id) REFERENCES scans(id);
3805
3806
3807 --
3808 -- Name: intel_scans_intel_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3809 --
3810
3811 ALTER TABLE ONLY intel_scans
3812     ADD CONSTRAINT intel_scans_intel_fkey FOREIGN KEY (intel) REFERENCES intel(id) ON DELETE CASCADE;
3813
3814
3815 --
3816 -- Name: intel_sender_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3817 --
3818
3819 ALTER TABLE ONLY intel
3820     ADD CONSTRAINT intel_sender_fkey FOREIGN KEY (sender) REFERENCES planets(pid);
3821
3822
3823 --
3824 -- Name: intel_target_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3825 --
3826
3827 ALTER TABLE ONLY intel
3828     ADD CONSTRAINT intel_target_fkey FOREIGN KEY (target) REFERENCES planets(pid);
3829
3830
3831 --
3832 -- Name: intel_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3833 --
3834
3835 ALTER TABLE ONLY intel
3836     ADD CONSTRAINT intel_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3837
3838
3839 --
3840 -- Name: irc_requests_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3841 --
3842
3843 ALTER TABLE ONLY irc_requests
3844     ADD CONSTRAINT irc_requests_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3845
3846
3847 --
3848 -- Name: launch_confirmations_fid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3849 --
3850
3851 ALTER TABLE ONLY launch_confirmations
3852     ADD CONSTRAINT launch_confirmations_fid_fkey FOREIGN KEY (fid) REFERENCES fleets(fid);
3853
3854
3855 --
3856 -- Name: launch_confirmations_target_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3857 --
3858
3859 ALTER TABLE ONLY launch_confirmations
3860     ADD CONSTRAINT launch_confirmations_target_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3861
3862
3863 --
3864 -- Name: launch_confirmations_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3865 --
3866
3867 ALTER TABLE ONLY launch_confirmations
3868     ADD CONSTRAINT launch_confirmations_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3869
3870
3871 --
3872 -- Name: planet_scans_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3873 --
3874
3875 ALTER TABLE ONLY planet_scans
3876     ADD CONSTRAINT planet_scans_id_fkey FOREIGN KEY (id) REFERENCES scans(id);
3877
3878
3879 --
3880 -- Name: planet_scans_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3881 --
3882
3883 ALTER TABLE ONLY planet_scans
3884     ADD CONSTRAINT planet_scans_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3885
3886
3887 --
3888 -- Name: planet_stats_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3889 --
3890
3891 ALTER TABLE ONLY planet_stats
3892     ADD CONSTRAINT planet_stats_id_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
3893
3894
3895 --
3896 -- Name: planet_tags_pid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3897 --
3898
3899 ALTER TABLE ONLY planet_tags
3900     ADD CONSTRAINT planet_tags_pid_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3901
3902
3903 --
3904 -- Name: planet_tags_tag_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3905 --
3906
3907 ALTER TABLE ONLY planet_tags
3908     ADD CONSTRAINT planet_tags_tag_fkey FOREIGN KEY (tag) REFERENCES available_planet_tags(tag);
3909
3910
3911 --
3912 -- Name: planet_tags_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3913 --
3914
3915 ALTER TABLE ONLY planet_tags
3916     ADD CONSTRAINT planet_tags_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3917
3918
3919 --
3920 -- Name: planets_alliance_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3921 --
3922
3923 ALTER TABLE ONLY planets
3924     ADD CONSTRAINT planets_alliance_fkey FOREIGN KEY (alliance) REFERENCES alliances(alliance) ON UPDATE CASCADE ON DELETE SET NULL;
3925
3926
3927 --
3928 -- Name: planets_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3929 --
3930
3931 ALTER TABLE ONLY planets
3932     ADD CONSTRAINT planets_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE RESTRICT ON DELETE RESTRICT;
3933
3934
3935 --
3936 -- Name: raid_access_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3937 --
3938
3939 ALTER TABLE ONLY raid_access
3940     ADD CONSTRAINT raid_access_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3941
3942
3943 --
3944 -- Name: raid_access_raid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3945 --
3946
3947 ALTER TABLE ONLY raid_access
3948     ADD CONSTRAINT raid_access_raid_fkey FOREIGN KEY (raid) REFERENCES raids(id) ON UPDATE CASCADE ON DELETE CASCADE;
3949
3950
3951 --
3952 -- Name: raid_claims_target_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3953 --
3954
3955 ALTER TABLE ONLY raid_claims
3956     ADD CONSTRAINT raid_claims_target_fkey FOREIGN KEY (target) REFERENCES raid_targets(id) ON UPDATE CASCADE ON DELETE CASCADE;
3957
3958
3959 --
3960 -- Name: raid_claims_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3961 --
3962
3963 ALTER TABLE ONLY raid_claims
3964     ADD CONSTRAINT raid_claims_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3965
3966
3967 --
3968 -- Name: raid_targets_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3969 --
3970
3971 ALTER TABLE ONLY raid_targets
3972     ADD CONSTRAINT raid_targets_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
3973
3974
3975 --
3976 -- Name: raid_targets_raid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3977 --
3978
3979 ALTER TABLE ONLY raid_targets
3980     ADD CONSTRAINT raid_targets_raid_fkey FOREIGN KEY (raid) REFERENCES raids(id) ON UPDATE CASCADE ON DELETE CASCADE;
3981
3982
3983 --
3984 -- Name: scan_requests_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3985 --
3986
3987 ALTER TABLE ONLY scan_requests
3988     ADD CONSTRAINT scan_requests_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3989
3990
3991 --
3992 -- Name: scan_requests_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3993 --
3994
3995 ALTER TABLE ONLY scan_requests
3996     ADD CONSTRAINT scan_requests_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3997
3998
3999 --
4000 -- Name: scans_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4001 --
4002
4003 ALTER TABLE ONLY scans
4004     ADD CONSTRAINT scans_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
4005
4006
4007 --
4008 -- Name: scans_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4009 --
4010
4011 ALTER TABLE ONLY scans
4012     ADD CONSTRAINT scans_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE RESTRICT ON DELETE RESTRICT;
4013
4014
4015 --
4016 -- Name: session_log_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4017 --
4018
4019 ALTER TABLE ONLY session_log
4020     ADD CONSTRAINT session_log_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
4021
4022
4023 --
4024 -- Name: sms_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4025 --
4026
4027 ALTER TABLE ONLY sms
4028     ADD CONSTRAINT sms_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
4029
4030
4031 --
4032 -- Name: users_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4033 --
4034
4035 ALTER TABLE ONLY users
4036     ADD CONSTRAINT users_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE SET NULL ON DELETE SET NULL;
4037
4038
4039 --
4040 -- Name: users_tfid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4041 --
4042
4043 ALTER TABLE ONLY users
4044     ADD CONSTRAINT users_tfid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE SET NULL ON DELETE SET NULL;
4045
4046
4047 --
4048 -- Name: wiki_namespace_access_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4049 --
4050
4051 ALTER TABLE ONLY wiki_namespace_access
4052     ADD CONSTRAINT wiki_namespace_access_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
4053
4054
4055 --
4056 -- Name: wiki_namespace_access_namespace_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4057 --
4058
4059 ALTER TABLE ONLY wiki_namespace_access
4060     ADD CONSTRAINT wiki_namespace_access_namespace_fkey FOREIGN KEY (namespace) REFERENCES wiki_namespaces(namespace);
4061
4062
4063 --
4064 -- Name: wiki_page_access_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4065 --
4066
4067 ALTER TABLE ONLY wiki_page_access
4068     ADD CONSTRAINT wiki_page_access_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
4069
4070
4071 --
4072 -- Name: wiki_page_access_wpid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4073 --
4074
4075 ALTER TABLE ONLY wiki_page_access
4076     ADD CONSTRAINT wiki_page_access_wpid_fkey FOREIGN KEY (wpid) REFERENCES wiki_pages(wpid);
4077
4078
4079 --
4080 -- Name: wiki_page_revisions_parent_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4081 --
4082
4083 ALTER TABLE ONLY wiki_page_revisions
4084     ADD CONSTRAINT wiki_page_revisions_parent_fkey FOREIGN KEY (parent) REFERENCES wiki_page_revisions(wprev);
4085
4086
4087 --
4088 -- Name: wiki_page_revisions_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4089 --
4090
4091 ALTER TABLE ONLY wiki_page_revisions
4092     ADD CONSTRAINT wiki_page_revisions_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
4093
4094
4095 --
4096 -- Name: wiki_page_revisions_wpid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4097 --
4098
4099 ALTER TABLE ONLY wiki_page_revisions
4100     ADD CONSTRAINT wiki_page_revisions_wpid_fkey FOREIGN KEY (wpid) REFERENCES wiki_pages(wpid);
4101
4102
4103 --
4104 -- Name: wiki_pages_namespace_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4105 --
4106
4107 ALTER TABLE ONLY wiki_pages
4108     ADD CONSTRAINT wiki_pages_namespace_fkey FOREIGN KEY (namespace) REFERENCES wiki_namespaces(namespace);
4109
4110
4111 --
4112 -- Name: wiki_pages_wprev_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4113 --
4114
4115 ALTER TABLE ONLY wiki_pages
4116     ADD CONSTRAINT wiki_pages_wprev_fkey FOREIGN KEY (wprev) REFERENCES wiki_page_revisions(wprev);
4117
4118
4119 --
4120 -- Name: public; Type: ACL; Schema: -; Owner: postgres
4121 --
4122
4123 REVOKE ALL ON SCHEMA public FROM PUBLIC;
4124 REVOKE ALL ON SCHEMA public FROM postgres;
4125 GRANT ALL ON SCHEMA public TO postgres;
4126 GRANT ALL ON SCHEMA public TO PUBLIC;
4127
4128
4129 --
4130 -- Name: coords(integer, integer, integer); Type: ACL; Schema: public; Owner: ndawn
4131 --
4132
4133 REVOKE ALL ON FUNCTION coords(x integer, y integer, z integer) FROM PUBLIC;
4134 REVOKE ALL ON FUNCTION coords(x integer, y integer, z integer) FROM ndawn;
4135 GRANT ALL ON FUNCTION coords(x integer, y integer, z integer) TO ndawn;
4136 GRANT ALL ON FUNCTION coords(x integer, y integer, z integer) TO PUBLIC;
4137 GRANT ALL ON FUNCTION coords(x integer, y integer, z integer) TO intel;
4138
4139
4140 --
4141 -- Name: endtick(); Type: ACL; Schema: public; Owner: ndawn
4142 --
4143
4144 REVOKE ALL ON FUNCTION endtick() FROM PUBLIC;
4145 REVOKE ALL ON FUNCTION endtick() FROM ndawn;
4146 GRANT ALL ON FUNCTION endtick() TO ndawn;
4147 GRANT ALL ON FUNCTION endtick() TO PUBLIC;
4148 GRANT ALL ON FUNCTION endtick() TO intel;
4149
4150
4151 --
4152 -- Name: planetcoords(integer, integer); Type: ACL; Schema: public; Owner: ndawn
4153 --
4154
4155 REVOKE ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) FROM PUBLIC;
4156 REVOKE ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) FROM ndawn;
4157 GRANT ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) TO ndawn;
4158 GRANT ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) TO PUBLIC;
4159 GRANT ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) TO intel;
4160
4161
4162 --
4163 -- Name: planetid(integer, integer, integer, integer); Type: ACL; Schema: public; Owner: ndawn
4164 --
4165
4166 REVOKE ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) FROM PUBLIC;
4167 REVOKE ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) FROM ndawn;
4168 GRANT ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) TO ndawn;
4169 GRANT ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) TO PUBLIC;
4170 GRANT ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) TO intel;
4171
4172
4173 --
4174 -- Name: tick(); Type: ACL; Schema: public; Owner: ndawn
4175 --
4176
4177 REVOKE ALL ON FUNCTION tick() FROM PUBLIC;
4178 REVOKE ALL ON FUNCTION tick() FROM ndawn;
4179 GRANT ALL ON FUNCTION tick() TO ndawn;
4180 GRANT ALL ON FUNCTION tick() TO PUBLIC;
4181 GRANT ALL ON FUNCTION tick() TO intel;
4182
4183
4184 --
4185 -- Name: alliance_stats; Type: ACL; Schema: public; Owner: ndawn
4186 --
4187
4188 REVOKE ALL ON TABLE alliance_stats FROM PUBLIC;
4189 REVOKE ALL ON TABLE alliance_stats FROM ndawn;
4190 GRANT ALL ON TABLE alliance_stats TO ndawn;
4191 GRANT SELECT ON TABLE alliance_stats TO intel;
4192
4193
4194 --
4195 -- Name: alliances; Type: ACL; Schema: public; Owner: ndawn
4196 --
4197
4198 REVOKE ALL ON TABLE alliances FROM PUBLIC;
4199 REVOKE ALL ON TABLE alliances FROM ndawn;
4200 GRANT ALL ON TABLE alliances TO ndawn;
4201 GRANT SELECT ON TABLE alliances TO intel;
4202
4203
4204 --
4205 -- Name: development_scans; Type: ACL; Schema: public; Owner: ndawn
4206 --
4207
4208 REVOKE ALL ON TABLE development_scans FROM PUBLIC;
4209 REVOKE ALL ON TABLE development_scans FROM ndawn;
4210 GRANT ALL ON TABLE development_scans TO ndawn;
4211 GRANT SELECT ON TABLE development_scans TO intel;
4212
4213
4214 --
4215 -- Name: current_development_scans; Type: ACL; Schema: public; Owner: ndawn
4216 --
4217
4218 REVOKE ALL ON TABLE current_development_scans FROM PUBLIC;
4219 REVOKE ALL ON TABLE current_development_scans FROM ndawn;
4220 GRANT ALL ON TABLE current_development_scans TO ndawn;
4221 GRANT SELECT ON TABLE current_development_scans TO intel;
4222
4223
4224 --
4225 -- Name: planet_scans; Type: ACL; Schema: public; Owner: ndawn
4226 --
4227
4228 REVOKE ALL ON TABLE planet_scans FROM PUBLIC;
4229 REVOKE ALL ON TABLE planet_scans FROM ndawn;
4230 GRANT ALL ON TABLE planet_scans TO ndawn;
4231 GRANT SELECT ON TABLE planet_scans TO intel;
4232
4233
4234 --
4235 -- Name: current_planet_scans; Type: ACL; Schema: public; Owner: ndawn
4236 --
4237
4238 REVOKE ALL ON TABLE current_planet_scans FROM PUBLIC;
4239 REVOKE ALL ON TABLE current_planet_scans FROM ndawn;
4240 GRANT ALL ON TABLE current_planet_scans TO ndawn;
4241 GRANT SELECT ON TABLE current_planet_scans TO intel;
4242
4243
4244 --
4245 -- Name: planet_stats; Type: ACL; Schema: public; Owner: ndawn
4246 --
4247
4248 REVOKE ALL ON TABLE planet_stats FROM PUBLIC;
4249 REVOKE ALL ON TABLE planet_stats FROM ndawn;
4250 GRANT ALL ON TABLE planet_stats TO ndawn;
4251 GRANT SELECT ON TABLE planet_stats TO intel;
4252
4253
4254 --
4255 -- Name: planets; Type: ACL; Schema: public; Owner: ndawn
4256 --
4257
4258 REVOKE ALL ON TABLE planets FROM PUBLIC;
4259 REVOKE ALL ON TABLE planets FROM ndawn;
4260 GRANT ALL ON TABLE planets TO ndawn;
4261 GRANT SELECT ON TABLE planets TO intel;
4262
4263
4264 --
4265 -- Name: current_planet_stats; Type: ACL; Schema: public; Owner: ndawn
4266 --
4267
4268 REVOKE ALL ON TABLE current_planet_stats FROM PUBLIC;
4269 REVOKE ALL ON TABLE current_planet_stats FROM ndawn;
4270 GRANT ALL ON TABLE current_planet_stats TO ndawn;
4271 GRANT SELECT ON TABLE current_planet_stats TO intel;
4272
4273
4274 --
4275 -- Name: alliance_resources; Type: ACL; Schema: public; Owner: ndawn
4276 --
4277
4278 REVOKE ALL ON TABLE alliance_resources FROM PUBLIC;
4279 REVOKE ALL ON TABLE alliance_resources FROM ndawn;
4280 GRANT ALL ON TABLE alliance_resources TO ndawn;
4281 GRANT SELECT ON TABLE alliance_resources TO intel;
4282
4283
4284 --
4285 -- Name: available_planet_tags; Type: ACL; Schema: public; Owner: ndawn
4286 --
4287
4288 REVOKE ALL ON TABLE available_planet_tags FROM PUBLIC;
4289 REVOKE ALL ON TABLE available_planet_tags FROM ndawn;
4290 GRANT ALL ON TABLE available_planet_tags TO ndawn;
4291 GRANT SELECT ON TABLE available_planet_tags TO intel;
4292
4293
4294 --
4295 -- Name: fleet_ships; Type: ACL; Schema: public; Owner: ndawn
4296 --
4297
4298 REVOKE ALL ON TABLE fleet_ships FROM PUBLIC;
4299 REVOKE ALL ON TABLE fleet_ships FROM ndawn;
4300 GRANT ALL ON TABLE fleet_ships TO ndawn;
4301 GRANT SELECT ON TABLE fleet_ships TO intel;
4302
4303
4304 --
4305 -- Name: fleets; Type: ACL; Schema: public; Owner: ndawn
4306 --
4307
4308 REVOKE ALL ON TABLE fleets FROM PUBLIC;
4309 REVOKE ALL ON TABLE fleets FROM ndawn;
4310 GRANT ALL ON TABLE fleets TO ndawn;
4311 GRANT SELECT ON TABLE fleets TO intel;
4312
4313
4314 --
4315 -- Name: launch_confirmations; Type: ACL; Schema: public; Owner: ndawn
4316 --
4317
4318 REVOKE ALL ON TABLE launch_confirmations FROM PUBLIC;
4319 REVOKE ALL ON TABLE launch_confirmations FROM ndawn;
4320 GRANT ALL ON TABLE launch_confirmations TO ndawn;
4321 GRANT SELECT ON TABLE launch_confirmations TO intel;
4322
4323
4324 --
4325 -- Name: current_planet_stats_full; Type: ACL; Schema: public; Owner: ndawn
4326 --
4327
4328 REVOKE ALL ON TABLE current_planet_stats_full FROM PUBLIC;
4329 REVOKE ALL ON TABLE current_planet_stats_full FROM ndawn;
4330 GRANT ALL ON TABLE current_planet_stats_full TO ndawn;
4331 GRANT SELECT ON TABLE current_planet_stats_full TO intel;
4332
4333
4334 --
4335 -- Name: fleet_scans; Type: ACL; Schema: public; Owner: ndawn
4336 --
4337
4338 REVOKE ALL ON TABLE fleet_scans FROM PUBLIC;
4339 REVOKE ALL ON TABLE fleet_scans FROM ndawn;
4340 GRANT ALL ON TABLE fleet_scans TO ndawn;
4341 GRANT SELECT ON TABLE fleet_scans TO intel;
4342
4343
4344 --
4345 -- Name: intel; Type: ACL; Schema: public; Owner: ndawn
4346 --
4347
4348 REVOKE ALL ON TABLE intel FROM PUBLIC;
4349 REVOKE ALL ON TABLE intel FROM ndawn;
4350 GRANT ALL ON TABLE intel TO ndawn;
4351 GRANT SELECT ON TABLE intel TO intel;
4352
4353
4354 --
4355 -- Name: full_intel; Type: ACL; Schema: public; Owner: ndawn
4356 --
4357
4358 REVOKE ALL ON TABLE full_intel FROM PUBLIC;
4359 REVOKE ALL ON TABLE full_intel FROM ndawn;
4360 GRANT ALL ON TABLE full_intel TO ndawn;
4361 GRANT SELECT ON TABLE full_intel TO intel;
4362
4363
4364 --
4365 -- Name: galaxies; Type: ACL; Schema: public; Owner: ndawn
4366 --
4367
4368 REVOKE ALL ON TABLE galaxies FROM PUBLIC;
4369 REVOKE ALL ON TABLE galaxies FROM ndawn;
4370 GRANT ALL ON TABLE galaxies TO ndawn;
4371 GRANT SELECT ON TABLE galaxies TO intel;
4372
4373
4374 --
4375 -- Name: intel_scans; Type: ACL; Schema: public; Owner: ndawn
4376 --
4377
4378 REVOKE ALL ON TABLE intel_scans FROM PUBLIC;
4379 REVOKE ALL ON TABLE intel_scans FROM ndawn;
4380 GRANT ALL ON TABLE intel_scans TO ndawn;
4381 GRANT SELECT ON TABLE intel_scans TO intel;
4382
4383
4384 --
4385 -- Name: planet_tags; Type: ACL; Schema: public; Owner: ndawn
4386 --
4387
4388 REVOKE ALL ON TABLE planet_tags FROM PUBLIC;
4389 REVOKE ALL ON TABLE planet_tags FROM ndawn;
4390 GRANT ALL ON TABLE planet_tags TO ndawn;
4391 GRANT SELECT ON TABLE planet_tags TO intel;
4392
4393
4394 --
4395 -- Name: scans; Type: ACL; Schema: public; Owner: ndawn
4396 --
4397
4398 REVOKE ALL ON TABLE scans FROM PUBLIC;
4399 REVOKE ALL ON TABLE scans FROM ndawn;
4400 GRANT ALL ON TABLE scans TO ndawn;
4401 GRANT SELECT ON TABLE scans TO intel;
4402
4403
4404 --
4405 -- PostgreSQL database dump complete
4406 --
4407