]> ruin.nu Git - ndwebbie.git/blob - database/ndawn.sql
Use new race infrastructure for members stats
[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     time timestamptz DEFAULT now()
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     open_tick integer,
2146     message text NOT NULL,
2147     removed boolean DEFAULT false NOT NULL,
2148     released_coords boolean DEFAULT false NOT NULL,
2149     ftid integer NOT NULL
2150 );
2151
2152
2153 ALTER TABLE raids OWNER TO ndawn;
2154
2155 --
2156 -- Name: raids_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2157 --
2158
2159 CREATE SEQUENCE raids_id_seq
2160     START WITH 1
2161     INCREMENT BY 1
2162     NO MINVALUE
2163     NO MAXVALUE
2164     CACHE 1;
2165
2166
2167 ALTER TABLE raids_id_seq OWNER TO ndawn;
2168
2169 --
2170 -- Name: raids_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2171 --
2172
2173 ALTER SEQUENCE raids_id_seq OWNED BY raids.id;
2174
2175
2176 --
2177 -- Name: roles; Type: TABLE; Schema: public; Owner: ndawn
2178 --
2179
2180 CREATE TABLE roles (
2181     role character varying(32) NOT NULL
2182 );
2183
2184
2185 ALTER TABLE roles OWNER TO ndawn;
2186
2187 --
2188 -- Name: scan_requests; Type: TABLE; Schema: public; Owner: ndawn
2189 --
2190
2191 CREATE TABLE scan_requests (
2192     id integer NOT NULL,
2193     uid integer NOT NULL,
2194     pid integer NOT NULL,
2195     type text NOT NULL,
2196     nick text NOT NULL,
2197     tick integer DEFAULT tick() NOT NULL,
2198     "time" timestamp with time zone DEFAULT now() NOT NULL,
2199     sent boolean DEFAULT false NOT NULL
2200 );
2201
2202
2203 ALTER TABLE scan_requests OWNER TO ndawn;
2204
2205 --
2206 -- Name: scan_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2207 --
2208
2209 CREATE SEQUENCE scan_requests_id_seq
2210     START WITH 1
2211     INCREMENT BY 1
2212     NO MINVALUE
2213     NO MAXVALUE
2214     CACHE 1;
2215
2216
2217 ALTER TABLE scan_requests_id_seq OWNER TO ndawn;
2218
2219 --
2220 -- Name: scan_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2221 --
2222
2223 ALTER SEQUENCE scan_requests_id_seq OWNED BY scan_requests.id;
2224
2225
2226 --
2227 -- Name: scans; Type: TABLE; Schema: public; Owner: ndawn
2228 --
2229
2230 CREATE TABLE scans (
2231     tick integer NOT NULL,
2232     scan_id text NOT NULL,
2233     pid integer,
2234     type text,
2235     uid integer DEFAULT '-1'::integer NOT NULL,
2236     groupscan boolean DEFAULT false NOT NULL,
2237     parsed boolean DEFAULT false NOT NULL,
2238     id integer NOT NULL
2239 );
2240
2241
2242 ALTER TABLE scans OWNER TO ndawn;
2243
2244 --
2245 -- Name: scans_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2246 --
2247
2248 CREATE SEQUENCE scans_id_seq
2249     START WITH 1
2250     INCREMENT BY 1
2251     NO MINVALUE
2252     NO MAXVALUE
2253     CACHE 1;
2254
2255
2256 ALTER TABLE scans_id_seq OWNER TO ndawn;
2257
2258 --
2259 -- Name: scans_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2260 --
2261
2262 ALTER SEQUENCE scans_id_seq OWNED BY scans.id;
2263
2264
2265 --
2266 -- Name: session_log; Type: TABLE; Schema: public; Owner: ndawn
2267 --
2268
2269 CREATE TABLE session_log (
2270     uid integer NOT NULL,
2271     "time" timestamp with time zone NOT NULL,
2272     ip inet NOT NULL,
2273     country character(2) NOT NULL,
2274     session text NOT NULL,
2275     remember boolean NOT NULL
2276 );
2277
2278
2279 ALTER TABLE session_log OWNER TO ndawn;
2280
2281 --
2282 -- Name: ship_stats_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2283 --
2284
2285 CREATE SEQUENCE ship_stats_id_seq
2286     START WITH 0
2287     INCREMENT BY 1
2288     MINVALUE 0
2289     NO MAXVALUE
2290     CACHE 1;
2291
2292
2293 ALTER TABLE ship_stats_id_seq OWNER TO ndawn;
2294
2295 --
2296 -- Name: ship_stats_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2297 --
2298
2299 ALTER SEQUENCE ship_stats_id_seq OWNED BY ship_stats.id;
2300
2301
2302 --
2303 -- Name: sms; Type: TABLE; Schema: public; Owner: ndawn
2304 --
2305
2306 CREATE TABLE sms (
2307     id integer NOT NULL,
2308     msgid text,
2309     uid integer NOT NULL,
2310     status text DEFAULT 'Waiting'::text NOT NULL,
2311     number text NOT NULL,
2312     message character varying(140) NOT NULL,
2313     cost numeric(4,2) DEFAULT 0 NOT NULL,
2314     "time" timestamp with time zone DEFAULT now() NOT NULL
2315 );
2316
2317
2318 ALTER TABLE sms OWNER TO ndawn;
2319
2320 --
2321 -- Name: sms_id_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2322 --
2323
2324 CREATE SEQUENCE sms_id_seq
2325     START WITH 1
2326     INCREMENT BY 1
2327     NO MINVALUE
2328     NO MAXVALUE
2329     CACHE 1;
2330
2331
2332 ALTER TABLE sms_id_seq OWNER TO ndawn;
2333
2334 --
2335 -- Name: sms_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2336 --
2337
2338 ALTER SEQUENCE sms_id_seq OWNED BY sms.id;
2339
2340
2341 --
2342 -- Name: smslist; Type: TABLE; Schema: public; Owner: ndawn
2343 --
2344
2345 CREATE TABLE smslist (
2346     nick text NOT NULL,
2347     sms text NOT NULL,
2348     info text
2349 );
2350
2351
2352 ALTER TABLE smslist OWNER TO ndawn;
2353
2354 --
2355 -- Name: table_updates; Type: VIEW; Schema: public; Owner: ndawn
2356 --
2357
2358 CREATE VIEW table_updates AS
2359  SELECT t.schemaname,
2360     t.relname,
2361     c.reloptions,
2362     t.n_tup_upd,
2363     t.n_tup_hot_upd,
2364         CASE
2365             WHEN (t.n_tup_upd > 0) THEN ((((t.n_tup_hot_upd)::numeric / (t.n_tup_upd)::numeric) * 100.0))::numeric(5,2)
2366             ELSE NULL::numeric
2367         END AS hot_ratio
2368    FROM (pg_stat_all_tables t
2369      JOIN (pg_class c
2370      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))));
2371
2372
2373 ALTER TABLE table_updates OWNER TO ndawn;
2374
2375 --
2376 -- Name: users_uid_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2377 --
2378
2379 CREATE SEQUENCE users_uid_seq
2380     START WITH 1
2381     INCREMENT BY 1
2382     NO MINVALUE
2383     NO MAXVALUE
2384     CACHE 1;
2385
2386
2387 ALTER TABLE users_uid_seq OWNER TO ndawn;
2388
2389 --
2390 -- Name: users_uid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2391 --
2392
2393 ALTER SEQUENCE users_uid_seq OWNED BY users.uid;
2394
2395
2396 --
2397 -- Name: wiki_namespace_access; Type: TABLE; Schema: public; Owner: ndawn
2398 --
2399
2400 CREATE TABLE wiki_namespace_access (
2401     namespace text NOT NULL,
2402     gid character(1) NOT NULL,
2403     edit boolean DEFAULT false NOT NULL,
2404     post boolean DEFAULT false NOT NULL,
2405     moderate boolean DEFAULT false NOT NULL
2406 );
2407
2408
2409 ALTER TABLE wiki_namespace_access OWNER TO ndawn;
2410
2411 --
2412 -- Name: wiki_namespaces; Type: TABLE; Schema: public; Owner: ndawn
2413 --
2414
2415 CREATE TABLE wiki_namespaces (
2416     namespace character varying(16) NOT NULL
2417 );
2418
2419
2420 ALTER TABLE wiki_namespaces OWNER TO ndawn;
2421
2422 --
2423 -- Name: wiki_page_access; Type: TABLE; Schema: public; Owner: ndawn
2424 --
2425
2426 CREATE TABLE wiki_page_access (
2427     wpid integer NOT NULL,
2428     uid integer NOT NULL,
2429     edit boolean DEFAULT false NOT NULL,
2430     moderate boolean DEFAULT false NOT NULL
2431 );
2432
2433
2434 ALTER TABLE wiki_page_access OWNER TO ndawn;
2435
2436 --
2437 -- Name: wiki_page_revisions; Type: TABLE; Schema: public; Owner: ndawn
2438 --
2439
2440 CREATE TABLE wiki_page_revisions (
2441     wpid integer,
2442     wprev integer NOT NULL,
2443     parent integer,
2444     text text NOT NULL,
2445     comment text NOT NULL,
2446     "time" timestamp with time zone DEFAULT now() NOT NULL,
2447     uid integer
2448 );
2449
2450
2451 ALTER TABLE wiki_page_revisions OWNER TO ndawn;
2452
2453 --
2454 -- Name: wiki_page_revisions_wprev_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2455 --
2456
2457 CREATE SEQUENCE wiki_page_revisions_wprev_seq
2458     START WITH 1
2459     INCREMENT BY 1
2460     NO MINVALUE
2461     NO MAXVALUE
2462     CACHE 1;
2463
2464
2465 ALTER TABLE wiki_page_revisions_wprev_seq OWNER TO ndawn;
2466
2467 --
2468 -- Name: wiki_page_revisions_wprev_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2469 --
2470
2471 ALTER SEQUENCE wiki_page_revisions_wprev_seq OWNED BY wiki_page_revisions.wprev;
2472
2473
2474 --
2475 -- Name: wiki_pages; Type: TABLE; Schema: public; Owner: ndawn
2476 --
2477
2478 CREATE TABLE wiki_pages (
2479     wpid integer NOT NULL,
2480     name character varying(255) NOT NULL,
2481     namespace text DEFAULT ''::text NOT NULL,
2482     textsearch tsvector DEFAULT to_tsvector(''::text) NOT NULL,
2483     wprev integer,
2484     "time" timestamp with time zone DEFAULT now() NOT NULL
2485 );
2486
2487
2488 ALTER TABLE wiki_pages OWNER TO ndawn;
2489
2490 --
2491 -- Name: wiki_pages_wpid_seq; Type: SEQUENCE; Schema: public; Owner: ndawn
2492 --
2493
2494 CREATE SEQUENCE wiki_pages_wpid_seq
2495     START WITH 1
2496     INCREMENT BY 1
2497     NO MINVALUE
2498     NO MAXVALUE
2499     CACHE 1;
2500
2501
2502 ALTER TABLE wiki_pages_wpid_seq OWNER TO ndawn;
2503
2504 --
2505 -- Name: wiki_pages_wpid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: ndawn
2506 --
2507
2508 ALTER SEQUENCE wiki_pages_wpid_seq OWNED BY wiki_pages.wpid;
2509
2510
2511 --
2512 -- Name: aid; Type: DEFAULT; Schema: public; Owner: ndawn
2513 --
2514
2515 ALTER TABLE ONLY alliances ALTER COLUMN aid SET DEFAULT nextval('alliances_id_seq'::regclass);
2516
2517
2518 --
2519 -- Name: call; Type: DEFAULT; Schema: public; Owner: ndawn
2520 --
2521
2522 ALTER TABLE ONLY calls ALTER COLUMN call SET DEFAULT nextval('calls_id_seq'::regclass);
2523
2524
2525 --
2526 -- Name: num; Type: DEFAULT; Schema: public; Owner: ndawn
2527 --
2528
2529 ALTER TABLE ONLY fleet_ships ALTER COLUMN num SET DEFAULT nextval('fleet_ships_num_seq'::regclass);
2530
2531
2532 --
2533 -- Name: fid; Type: DEFAULT; Schema: public; Owner: ndawn
2534 --
2535
2536 ALTER TABLE ONLY fleets ALTER COLUMN fid SET DEFAULT nextval('fleets_id_seq'::regclass);
2537
2538
2539 --
2540 -- Name: fbid; Type: DEFAULT; Schema: public; Owner: ndawn
2541 --
2542
2543 ALTER TABLE ONLY forum_boards ALTER COLUMN fbid SET DEFAULT nextval('forum_boards_fbid_seq'::regclass);
2544
2545
2546 --
2547 -- Name: fcid; Type: DEFAULT; Schema: public; Owner: ndawn
2548 --
2549
2550 ALTER TABLE ONLY forum_categories ALTER COLUMN fcid SET DEFAULT nextval('forum_categories_fcid_seq'::regclass);
2551
2552
2553 --
2554 -- Name: fpid; Type: DEFAULT; Schema: public; Owner: ndawn
2555 --
2556
2557 ALTER TABLE ONLY forum_posts ALTER COLUMN fpid SET DEFAULT nextval('forum_posts_fpid_seq'::regclass);
2558
2559
2560 --
2561 -- Name: ftid; Type: DEFAULT; Schema: public; Owner: ndawn
2562 --
2563
2564 ALTER TABLE ONLY forum_threads ALTER COLUMN ftid SET DEFAULT nextval('forum_threads_ftid_seq'::regclass);
2565
2566
2567 --
2568 -- Name: inc; Type: DEFAULT; Schema: public; Owner: ndawn
2569 --
2570
2571 ALTER TABLE ONLY incomings ALTER COLUMN inc SET DEFAULT nextval('incomings_id_seq'::regclass);
2572
2573
2574 --
2575 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2576 --
2577
2578 ALTER TABLE ONLY intel ALTER COLUMN id SET DEFAULT nextval('intel_id_seq'::regclass);
2579
2580
2581 --
2582 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2583 --
2584
2585 ALTER TABLE ONLY irc_requests ALTER COLUMN id SET DEFAULT nextval('irc_requests_id_seq'::regclass);
2586
2587
2588 --
2589 -- Name: pid; Type: DEFAULT; Schema: public; Owner: ndawn
2590 --
2591
2592 ALTER TABLE ONLY planets ALTER COLUMN pid SET DEFAULT nextval('planets_id_seq'::regclass);
2593
2594
2595 --
2596 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2597 --
2598
2599 ALTER TABLE ONLY raid_targets ALTER COLUMN id SET DEFAULT nextval('raid_targets_id_seq'::regclass);
2600
2601
2602 --
2603 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2604 --
2605
2606 ALTER TABLE ONLY raids ALTER COLUMN id SET DEFAULT nextval('raids_id_seq'::regclass);
2607
2608
2609 --
2610 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2611 --
2612
2613 ALTER TABLE ONLY scan_requests ALTER COLUMN id SET DEFAULT nextval('scan_requests_id_seq'::regclass);
2614
2615
2616 --
2617 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2618 --
2619
2620 ALTER TABLE ONLY scans ALTER COLUMN id SET DEFAULT nextval('scans_id_seq'::regclass);
2621
2622
2623 --
2624 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2625 --
2626
2627 ALTER TABLE ONLY ship_stats ALTER COLUMN id SET DEFAULT nextval('ship_stats_id_seq'::regclass);
2628
2629
2630 --
2631 -- Name: id; Type: DEFAULT; Schema: public; Owner: ndawn
2632 --
2633
2634 ALTER TABLE ONLY sms ALTER COLUMN id SET DEFAULT nextval('sms_id_seq'::regclass);
2635
2636
2637 --
2638 -- Name: uid; Type: DEFAULT; Schema: public; Owner: ndawn
2639 --
2640
2641 ALTER TABLE ONLY users ALTER COLUMN uid SET DEFAULT nextval('users_uid_seq'::regclass);
2642
2643
2644 --
2645 -- Name: wprev; Type: DEFAULT; Schema: public; Owner: ndawn
2646 --
2647
2648 ALTER TABLE ONLY wiki_page_revisions ALTER COLUMN wprev SET DEFAULT nextval('wiki_page_revisions_wprev_seq'::regclass);
2649
2650
2651 --
2652 -- Name: wpid; Type: DEFAULT; Schema: public; Owner: ndawn
2653 --
2654
2655 ALTER TABLE ONLY wiki_pages ALTER COLUMN wpid SET DEFAULT nextval('wiki_pages_wpid_seq'::regclass);
2656
2657
2658 --
2659 -- Name: accounts_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2660 --
2661
2662 ALTER TABLE ONLY users
2663     ADD CONSTRAINT accounts_pkey PRIMARY KEY (uid);
2664
2665
2666 --
2667 -- Name: alliance_stats_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2668 --
2669
2670 ALTER TABLE ONLY alliance_stats
2671     ADD CONSTRAINT alliance_stats_pkey PRIMARY KEY (aid, tick);
2672
2673
2674 --
2675 -- Name: alliances_name_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2676 --
2677
2678 ALTER TABLE ONLY alliances
2679     ADD CONSTRAINT alliances_name_key UNIQUE (alliance);
2680
2681
2682 --
2683 -- Name: alliances_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2684 --
2685
2686 ALTER TABLE ONLY alliances
2687     ADD CONSTRAINT alliances_pkey PRIMARY KEY (aid);
2688
2689
2690 --
2691 -- Name: available_planet_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2692 --
2693
2694 ALTER TABLE ONLY available_planet_tags
2695     ADD CONSTRAINT available_planet_tags_pkey PRIMARY KEY (tag);
2696
2697
2698 --
2699 -- Name: call_statuses_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2700 --
2701
2702 ALTER TABLE ONLY call_statuses
2703     ADD CONSTRAINT call_statuses_pkey PRIMARY KEY (status);
2704
2705
2706 --
2707 -- Name: calls_member_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2708 --
2709
2710 ALTER TABLE ONLY calls
2711     ADD CONSTRAINT calls_member_key UNIQUE (uid, landing_tick);
2712
2713
2714 --
2715 -- Name: calls_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2716 --
2717
2718 ALTER TABLE ONLY calls
2719     ADD CONSTRAINT calls_pkey PRIMARY KEY (call);
2720
2721
2722 --
2723 -- Name: channel_flags_name_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2724 --
2725
2726 ALTER TABLE ONLY channel_flags
2727     ADD CONSTRAINT channel_flags_name_key UNIQUE (name);
2728
2729
2730 --
2731 -- Name: channel_flags_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2732 --
2733
2734 ALTER TABLE ONLY channel_flags
2735     ADD CONSTRAINT channel_flags_pkey PRIMARY KEY (flag);
2736
2737
2738 --
2739 -- Name: channel_group_flags_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2740 --
2741
2742 ALTER TABLE ONLY channel_group_flags
2743     ADD CONSTRAINT channel_group_flags_pkey PRIMARY KEY (channel, gid, flag);
2744
2745
2746 --
2747 -- Name: channels_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2748 --
2749
2750 ALTER TABLE ONLY channels
2751     ADD CONSTRAINT channels_pkey PRIMARY KEY (channel);
2752
2753
2754 --
2755 -- Name: clickatell_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2756 --
2757
2758 ALTER TABLE ONLY clickatell
2759     ADD CONSTRAINT clickatell_pkey PRIMARY KEY (api_id, username);
2760
2761
2762 --
2763 -- Name: covop_attacks_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2764 --
2765
2766 ALTER TABLE ONLY covop_attacks
2767     ADD CONSTRAINT covop_attacks_pkey PRIMARY KEY (pid, tick, uid);
2768
2769
2770 --
2771 -- Name: defense_missions_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2772 --
2773
2774 ALTER TABLE ONLY defense_missions
2775     ADD CONSTRAINT defense_missions_pkey PRIMARY KEY (fleet);
2776
2777
2778 --
2779 -- Name: development_scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2780 --
2781
2782 ALTER TABLE ONLY development_scans
2783     ADD CONSTRAINT development_scans_pkey PRIMARY KEY (id);
2784
2785
2786 --
2787 -- Name: dumps_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2788 --
2789
2790 ALTER TABLE ONLY dumps
2791     ADD CONSTRAINT dumps_pkey PRIMARY KEY (tick, type, modified);
2792
2793
2794 --
2795 -- Name: email_change_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2796 --
2797
2798 ALTER TABLE ONLY email_change
2799     ADD CONSTRAINT email_change_pkey PRIMARY KEY (id);
2800
2801
2802 --
2803 -- Name: fleet_scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2804 --
2805
2806 ALTER TABLE ONLY fleet_scans
2807     ADD CONSTRAINT fleet_scans_pkey PRIMARY KEY (fid);
2808
2809
2810 --
2811 -- Name: fleet_ships_num_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2812 --
2813
2814 ALTER TABLE ONLY fleet_ships
2815     ADD CONSTRAINT fleet_ships_num_key UNIQUE (num);
2816
2817
2818 --
2819 -- Name: fleet_ships_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2820 --
2821
2822 ALTER TABLE ONLY fleet_ships
2823     ADD CONSTRAINT fleet_ships_pkey PRIMARY KEY (fid, ship);
2824
2825
2826 --
2827 -- Name: fleets_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2828 --
2829
2830 ALTER TABLE ONLY fleets
2831     ADD CONSTRAINT fleets_pkey PRIMARY KEY (fid);
2832
2833
2834 --
2835 -- Name: forum_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2836 --
2837
2838 ALTER TABLE ONLY forum_access
2839     ADD CONSTRAINT forum_access_pkey PRIMARY KEY (fbid, gid);
2840
2841
2842 --
2843 -- Name: forum_boards_fcid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2844 --
2845
2846 ALTER TABLE ONLY forum_boards
2847     ADD CONSTRAINT forum_boards_fcid_key UNIQUE (fcid, board);
2848
2849
2850 --
2851 -- Name: forum_boards_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2852 --
2853
2854 ALTER TABLE ONLY forum_boards
2855     ADD CONSTRAINT forum_boards_pkey PRIMARY KEY (fbid);
2856
2857
2858 --
2859 -- Name: forum_categories_category_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2860 --
2861
2862 ALTER TABLE ONLY forum_categories
2863     ADD CONSTRAINT forum_categories_category_key UNIQUE (category);
2864
2865
2866 --
2867 -- Name: forum_categories_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2868 --
2869
2870 ALTER TABLE ONLY forum_categories
2871     ADD CONSTRAINT forum_categories_pkey PRIMARY KEY (fcid);
2872
2873
2874 --
2875 -- Name: forum_posts_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2876 --
2877
2878 ALTER TABLE ONLY forum_posts
2879     ADD CONSTRAINT forum_posts_pkey PRIMARY KEY (fpid);
2880
2881
2882 --
2883 -- Name: forum_priv_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2884 --
2885
2886 ALTER TABLE ONLY forum_priv_access
2887     ADD CONSTRAINT forum_priv_access_pkey PRIMARY KEY (uid, ftid);
2888
2889
2890 --
2891 -- Name: forum_thread_visits_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2892 --
2893
2894 ALTER TABLE ONLY forum_thread_visits
2895     ADD CONSTRAINT forum_thread_visits_pkey PRIMARY KEY (uid, ftid);
2896
2897
2898 --
2899 -- Name: forum_threads_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2900 --
2901
2902 ALTER TABLE ONLY forum_threads
2903     ADD CONSTRAINT forum_threads_pkey PRIMARY KEY (ftid);
2904
2905
2906 --
2907 -- Name: full_fleets_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2908 --
2909
2910 ALTER TABLE ONLY full_fleets
2911     ADD CONSTRAINT full_fleets_pkey PRIMARY KEY (fid);
2912
2913
2914 --
2915 -- Name: galaxies_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2916 --
2917
2918 ALTER TABLE ONLY galaxies
2919     ADD CONSTRAINT galaxies_pkey PRIMARY KEY (tick, x, y);
2920
2921
2922 --
2923 -- Name: group_roles_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2924 --
2925
2926 ALTER TABLE ONLY group_roles
2927     ADD CONSTRAINT group_roles_pkey PRIMARY KEY (gid, role);
2928
2929
2930 --
2931 -- Name: groupmembers_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2932 --
2933
2934 ALTER TABLE ONLY groupmembers
2935     ADD CONSTRAINT groupmembers_pkey PRIMARY KEY (gid, uid);
2936
2937
2938 --
2939 -- Name: groups_groupname_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2940 --
2941
2942 ALTER TABLE ONLY groups
2943     ADD CONSTRAINT groups_groupname_key UNIQUE (groupname);
2944
2945
2946 --
2947 -- Name: groups_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2948 --
2949
2950 ALTER TABLE ONLY groups
2951     ADD CONSTRAINT groups_pkey PRIMARY KEY (gid);
2952
2953
2954 --
2955 -- Name: incomings_call_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
2956 --
2957
2958 ALTER TABLE ONLY incomings
2959     ADD CONSTRAINT incomings_call_key UNIQUE (call, pid, fleet);
2960
2961
2962 --
2963 -- Name: incomings_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2964 --
2965
2966 ALTER TABLE ONLY incomings
2967     ADD CONSTRAINT incomings_pkey PRIMARY KEY (inc);
2968
2969
2970 --
2971 -- Name: intel_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2972 --
2973
2974 ALTER TABLE ONLY intel
2975     ADD CONSTRAINT intel_pkey PRIMARY KEY (id);
2976
2977
2978 --
2979 -- Name: intel_scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2980 --
2981
2982 ALTER TABLE ONLY intel_scans
2983     ADD CONSTRAINT intel_scans_pkey PRIMARY KEY (id, intel);
2984
2985
2986 --
2987 -- Name: irc_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2988 --
2989
2990 ALTER TABLE ONLY irc_requests
2991     ADD CONSTRAINT irc_requests_pkey PRIMARY KEY (id);
2992
2993
2994 --
2995 -- Name: last_smokes_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
2996 --
2997
2998 ALTER TABLE ONLY last_smokes
2999     ADD CONSTRAINT last_smokes_pkey PRIMARY KEY (nick);
3000
3001
3002 --
3003 -- Name: launch_confirmations_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3004 --
3005
3006 ALTER TABLE ONLY launch_confirmations
3007     ADD CONSTRAINT launch_confirmations_pkey PRIMARY KEY (fid);
3008
3009
3010 --
3011 -- Name: misc_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3012 --
3013
3014 ALTER TABLE ONLY misc
3015     ADD CONSTRAINT misc_pkey PRIMARY KEY (id);
3016
3017
3018 --
3019 -- Name: planet_scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3020 --
3021
3022 ALTER TABLE ONLY planet_scans
3023     ADD CONSTRAINT planet_scans_pkey PRIMARY KEY (id);
3024
3025
3026 --
3027 -- Name: planet_stats_id_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3028 --
3029
3030 ALTER TABLE ONLY planet_stats
3031     ADD CONSTRAINT planet_stats_id_key UNIQUE (pid, tick);
3032
3033
3034 --
3035 -- Name: planet_stats_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3036 --
3037
3038 ALTER TABLE ONLY planet_stats
3039     ADD CONSTRAINT planet_stats_pkey PRIMARY KEY (tick, x, y, z);
3040
3041
3042 --
3043 -- Name: planet_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3044 --
3045
3046 ALTER TABLE ONLY planet_tags
3047     ADD CONSTRAINT planet_tags_pkey PRIMARY KEY (pid, uid, tag);
3048
3049
3050 --
3051 -- Name: planets_ftid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3052 --
3053
3054 ALTER TABLE ONLY planets
3055     ADD CONSTRAINT planets_ftid_key UNIQUE (ftid);
3056
3057
3058 --
3059 -- Name: planets_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3060 --
3061
3062 ALTER TABLE ONLY planets
3063     ADD CONSTRAINT planets_pkey PRIMARY KEY (pid);
3064
3065
3066 --
3067 -- Name: raid_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3068 --
3069
3070 ALTER TABLE ONLY raid_access
3071     ADD CONSTRAINT raid_access_pkey PRIMARY KEY (raid, gid);
3072
3073
3074 --
3075 -- Name: raid_claims_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3076 --
3077
3078 ALTER TABLE ONLY raid_claims
3079     ADD CONSTRAINT raid_claims_pkey PRIMARY KEY (target, uid, wave);
3080
3081
3082 --
3083 -- Name: raid_targets_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3084 --
3085
3086 ALTER TABLE ONLY raid_targets
3087     ADD CONSTRAINT raid_targets_pkey PRIMARY KEY (id);
3088
3089
3090 --
3091 -- Name: raid_targets_raid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3092 --
3093
3094 ALTER TABLE ONLY raid_targets
3095     ADD CONSTRAINT raid_targets_raid_key UNIQUE (raid, pid);
3096
3097
3098 --
3099 -- Name: raids_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3100 --
3101
3102 ALTER TABLE ONLY raids
3103     ADD CONSTRAINT raids_pkey PRIMARY KEY (id);
3104
3105
3106 --
3107 -- Name: roles_role_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3108 --
3109
3110 ALTER TABLE ONLY roles
3111     ADD CONSTRAINT roles_role_key UNIQUE (role);
3112
3113
3114 --
3115 -- Name: scan_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3116 --
3117
3118 ALTER TABLE ONLY scan_requests
3119     ADD CONSTRAINT scan_requests_pkey PRIMARY KEY (id);
3120
3121
3122 --
3123 -- Name: scan_requests_tick_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3124 --
3125
3126 ALTER TABLE ONLY scan_requests
3127     ADD CONSTRAINT scan_requests_tick_key UNIQUE (tick, pid, type, uid);
3128
3129
3130 --
3131 -- Name: scans_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3132 --
3133
3134 ALTER TABLE ONLY scans
3135     ADD CONSTRAINT scans_pkey PRIMARY KEY (id);
3136
3137
3138 --
3139 -- Name: scans_scan_id_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3140 --
3141
3142 ALTER TABLE ONLY scans
3143     ADD CONSTRAINT scans_scan_id_key UNIQUE (scan_id, tick, groupscan);
3144
3145
3146 --
3147 -- Name: session_log_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3148 --
3149
3150 ALTER TABLE ONLY session_log
3151     ADD CONSTRAINT session_log_pkey PRIMARY KEY (uid, "time", ip);
3152
3153
3154 --
3155 -- Name: ship_stats_id_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3156 --
3157
3158 ALTER TABLE ONLY ship_stats
3159     ADD CONSTRAINT ship_stats_id_key UNIQUE (id);
3160
3161 ALTER TABLE ship_stats CLUSTER ON ship_stats_id_key;
3162
3163
3164 --
3165 -- Name: ship_stats_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3166 --
3167
3168 ALTER TABLE ONLY ship_stats
3169     ADD CONSTRAINT ship_stats_pkey PRIMARY KEY (ship);
3170
3171
3172 --
3173 -- Name: sms_msgid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3174 --
3175
3176 ALTER TABLE ONLY sms
3177     ADD CONSTRAINT sms_msgid_key UNIQUE (msgid);
3178
3179
3180 --
3181 -- Name: sms_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3182 --
3183
3184 ALTER TABLE ONLY sms
3185     ADD CONSTRAINT sms_pkey PRIMARY KEY (id);
3186
3187
3188 --
3189 -- Name: smslist_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3190 --
3191
3192 ALTER TABLE ONLY smslist
3193     ADD CONSTRAINT smslist_pkey PRIMARY KEY (sms);
3194
3195
3196 --
3197 -- Name: ticks_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3198 --
3199
3200 ALTER TABLE ONLY ticks
3201     ADD CONSTRAINT ticks_pkey PRIMARY KEY (t);
3202
3203
3204 --
3205 -- Name: users_hostmask_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3206 --
3207
3208 ALTER TABLE ONLY users
3209     ADD CONSTRAINT users_hostmask_key UNIQUE (hostmask);
3210
3211
3212 --
3213 -- Name: users_planet_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3214 --
3215
3216 ALTER TABLE ONLY users
3217     ADD CONSTRAINT users_planet_key UNIQUE (pid);
3218
3219
3220 --
3221 -- Name: users_pnick_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3222 --
3223
3224 ALTER TABLE ONLY users
3225     ADD CONSTRAINT users_pnick_key UNIQUE (pnick);
3226
3227
3228 --
3229 -- Name: users_tfid_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3230 --
3231
3232 ALTER TABLE ONLY users
3233     ADD CONSTRAINT users_tfid_key UNIQUE (ftid);
3234
3235
3236 --
3237 -- Name: users_username_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3238 --
3239
3240 ALTER TABLE ONLY users
3241     ADD CONSTRAINT users_username_key UNIQUE (username);
3242
3243
3244 --
3245 -- Name: wiki_namespace_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3246 --
3247
3248 ALTER TABLE ONLY wiki_namespace_access
3249     ADD CONSTRAINT wiki_namespace_access_pkey PRIMARY KEY (gid, namespace);
3250
3251
3252 --
3253 -- Name: wiki_namespaces_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3254 --
3255
3256 ALTER TABLE ONLY wiki_namespaces
3257     ADD CONSTRAINT wiki_namespaces_pkey PRIMARY KEY (namespace);
3258
3259
3260 --
3261 -- Name: wiki_page_access_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3262 --
3263
3264 ALTER TABLE ONLY wiki_page_access
3265     ADD CONSTRAINT wiki_page_access_pkey PRIMARY KEY (uid, wpid);
3266
3267
3268 --
3269 -- Name: wiki_page_revisions_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3270 --
3271
3272 ALTER TABLE ONLY wiki_page_revisions
3273     ADD CONSTRAINT wiki_page_revisions_pkey PRIMARY KEY (wprev);
3274
3275
3276 --
3277 -- Name: wiki_pages_namespace_key; Type: CONSTRAINT; Schema: public; Owner: ndawn
3278 --
3279
3280 ALTER TABLE ONLY wiki_pages
3281     ADD CONSTRAINT wiki_pages_namespace_key UNIQUE (namespace, name);
3282
3283
3284 --
3285 -- Name: wiki_pages_pkey; Type: CONSTRAINT; Schema: public; Owner: ndawn
3286 --
3287
3288 ALTER TABLE ONLY wiki_pages
3289     ADD CONSTRAINT wiki_pages_pkey PRIMARY KEY (wpid);
3290
3291
3292 --
3293 -- Name: development_scans_planet_index; Type: INDEX; Schema: public; Owner: ndawn
3294 --
3295
3296 CREATE INDEX development_scans_planet_index ON development_scans USING btree (pid, tick);
3297
3298
3299 --
3300 -- Name: fleets_sender_index; Type: INDEX; Schema: public; Owner: ndawn
3301 --
3302
3303 CREATE INDEX fleets_sender_index ON fleets USING btree (pid);
3304
3305
3306 --
3307 -- Name: forum_posts_ftid_index; Type: INDEX; Schema: public; Owner: ndawn
3308 --
3309
3310 CREATE INDEX forum_posts_ftid_index ON forum_posts USING btree (ftid);
3311
3312
3313 --
3314 -- Name: forum_posts_textsearch_index; Type: INDEX; Schema: public; Owner: ndawn
3315 --
3316
3317 CREATE INDEX forum_posts_textsearch_index ON forum_posts USING gin (textsearch);
3318
3319
3320 CREATE INDEX forum_threads_mtime_index ON forum_threads USING btree (mtime);
3321
3322 --
3323 -- Name: groupmembers_uid_key; Type: INDEX; Schema: public; Owner: ndawn
3324 --
3325
3326 CREATE INDEX groupmembers_uid_key ON groupmembers USING btree (uid);
3327
3328
3329 --
3330 -- Name: intel_tick_index; Type: INDEX; Schema: public; Owner: ndawn
3331 --
3332
3333 CREATE INDEX intel_tick_index ON intel USING btree (tick);
3334
3335
3336 --
3337 -- Name: planet_scans_planet_index; Type: INDEX; Schema: public; Owner: ndawn
3338 --
3339
3340 CREATE INDEX planet_scans_planet_index ON planet_scans USING btree (pid, tick);
3341
3342
3343 --
3344 -- Name: planet_stats_scorerank_index; Type: INDEX; Schema: public; Owner: ndawn
3345 --
3346
3347 CREATE INDEX planet_stats_scorerank_index ON planet_stats USING btree (tick, scorerank);
3348
3349
3350 --
3351 -- Name: planet_stats_sizerank_index; Type: INDEX; Schema: public; Owner: ndawn
3352 --
3353
3354 CREATE INDEX planet_stats_sizerank_index ON planet_stats USING btree (tick, sizerank);
3355
3356
3357 --
3358 -- Name: planet_stats_valuerank_index; Type: INDEX; Schema: public; Owner: ndawn
3359 --
3360
3361 CREATE INDEX planet_stats_valuerank_index ON planet_stats USING btree (tick, valuerank);
3362
3363
3364 --
3365 -- Name: planet_stats_xprank_index; Type: INDEX; Schema: public; Owner: ndawn
3366 --
3367
3368 CREATE INDEX planet_stats_xprank_index ON planet_stats USING btree (tick, xprank);
3369
3370
3371 --
3372 -- Name: planets_alliance_id_index; Type: INDEX; Schema: public; Owner: ndawn
3373 --
3374
3375 CREATE INDEX planets_alliance_id_index ON planets USING btree (alliance);
3376
3377
3378 --
3379 -- Name: scan_requests_time_not_sent_index; Type: INDEX; Schema: public; Owner: ndawn
3380 --
3381
3382 CREATE INDEX scan_requests_time_not_sent_index ON scan_requests USING btree ("time") WHERE (NOT sent);
3383
3384
3385 --
3386 -- Name: scans_not_parsed_index; Type: INDEX; Schema: public; Owner: ndawn
3387 --
3388
3389 CREATE INDEX scans_not_parsed_index ON scans USING btree (groupscan) WHERE (NOT parsed);
3390
3391
3392 --
3393 -- Name: scans_planet_index; Type: INDEX; Schema: public; Owner: ndawn
3394 --
3395
3396 CREATE INDEX scans_planet_index ON scans USING btree (pid, type, tick);
3397
3398
3399 --
3400 -- Name: sms_status_msgid_idx; Type: INDEX; Schema: public; Owner: ndawn
3401 --
3402
3403 CREATE INDEX sms_status_msgid_idx ON sms USING btree (status) WHERE (msgid IS NULL);
3404
3405
3406 --
3407 -- Name: smslist_nick_key; Type: INDEX; Schema: public; Owner: ndawn
3408 --
3409
3410 CREATE UNIQUE INDEX smslist_nick_key ON smslist USING btree (lower(nick));
3411
3412
3413 --
3414 -- Name: users_birthday_index; Type: INDEX; Schema: public; Owner: ndawn
3415 --
3416
3417 CREATE INDEX users_birthday_index ON users USING btree (mmdd(birthday)) WHERE (birthday IS NOT NULL);
3418
3419
3420 --
3421 -- Name: wiki_pages_textsearch_index; Type: INDEX; Schema: public; Owner: ndawn
3422 --
3423
3424 CREATE INDEX wiki_pages_textsearch_index ON wiki_pages USING gin (textsearch);
3425
3426
3427 --
3428 -- Name: add_call; Type: TRIGGER; Schema: public; Owner: ndawn
3429 --
3430
3431 CREATE TRIGGER add_call BEFORE INSERT ON calls FOR EACH ROW EXECUTE PROCEDURE add_call();
3432
3433
3434 --
3435 -- Name: add_raid; Type: TRIGGER; Schema: public; Owner: ndawn
3436 --
3437
3438 CREATE TRIGGER add_raid BEFORE INSERT ON raids FOR EACH ROW EXECUTE PROCEDURE add_raid();
3439
3440
3441 --
3442 -- Name: add_remove_member; Type: TRIGGER; Schema: public; Owner: ndawn
3443 --
3444
3445 CREATE TRIGGER add_remove_member AFTER INSERT OR DELETE ON groupmembers FOR EACH ROW EXECUTE PROCEDURE change_member();
3446
3447
3448 --
3449 -- Name: add_user; Type: TRIGGER; Schema: public; Owner: ndawn
3450 --
3451
3452 CREATE TRIGGER add_user BEFORE INSERT ON users FOR EACH ROW EXECUTE PROCEDURE add_user();
3453
3454
3455 --
3456 -- Name: update_forum_post; Type: TRIGGER; Schema: public; Owner: ndawn
3457 --
3458
3459 CREATE TRIGGER update_forum_post BEFORE INSERT OR UPDATE ON forum_posts FOR EACH ROW EXECUTE PROCEDURE update_forum_post();
3460
3461
3462 --
3463 -- Name: update_forum_thread_posts; Type: TRIGGER; Schema: public; Owner: ndawn
3464 --
3465
3466 CREATE TRIGGER update_forum_thread_posts AFTER INSERT OR DELETE OR UPDATE ON forum_posts FOR EACH ROW EXECUTE PROCEDURE update_forum_thread_posts();
3467
3468
3469 --
3470 -- Name: update_planet; Type: TRIGGER; Schema: public; Owner: ndawn
3471 --
3472
3473 CREATE TRIGGER update_planet AFTER UPDATE ON users FOR EACH ROW EXECUTE PROCEDURE update_user_planet();
3474
3475 CREATE TRIGGER update_user_planet_check BEFORE UPDATE ON users FOR EACH ROW WHEN (NEW.pid IS NOT NULL AND OLD.pid IS NULL) EXECUTE PROCEDURE update_user_planet_check();
3476
3477
3478 --
3479 -- Name: update_wiki_page; Type: TRIGGER; Schema: public; Owner: ndawn
3480 --
3481
3482 CREATE TRIGGER update_wiki_page BEFORE UPDATE ON wiki_pages FOR EACH ROW EXECUTE PROCEDURE update_wiki_page();
3483
3484
3485 --
3486 -- Name: updated_claim; Type: TRIGGER; Schema: public; Owner: ndawn
3487 --
3488
3489 CREATE TRIGGER updated_claim AFTER INSERT OR DELETE OR UPDATE ON raid_claims FOR EACH ROW EXECUTE PROCEDURE updated_claim();
3490
3491
3492 --
3493 -- Name: alliance_stats_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3494 --
3495
3496 ALTER TABLE ONLY alliance_stats
3497     ADD CONSTRAINT alliance_stats_id_fkey FOREIGN KEY (aid) REFERENCES alliances(aid);
3498
3499
3500 --
3501 -- Name: calls_dc_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3502 --
3503
3504 ALTER TABLE ONLY calls
3505     ADD CONSTRAINT calls_dc_fkey FOREIGN KEY (dc) REFERENCES users(uid) ON UPDATE SET NULL ON DELETE SET NULL;
3506
3507
3508 --
3509 -- Name: calls_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3510 --
3511
3512 ALTER TABLE ONLY calls
3513     ADD CONSTRAINT calls_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid);
3514
3515
3516 --
3517 -- Name: calls_member_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3518 --
3519
3520 ALTER TABLE ONLY calls
3521     ADD CONSTRAINT calls_member_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3522
3523
3524 --
3525 -- Name: calls_status_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3526 --
3527
3528 ALTER TABLE ONLY calls
3529     ADD CONSTRAINT calls_status_fkey FOREIGN KEY (status) REFERENCES call_statuses(status);
3530
3531
3532 --
3533 -- Name: channel_group_flags_channel_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3534 --
3535
3536 ALTER TABLE ONLY channel_group_flags
3537     ADD CONSTRAINT channel_group_flags_channel_fkey FOREIGN KEY (channel) REFERENCES channels(channel) ON UPDATE CASCADE ON DELETE CASCADE;
3538
3539
3540 --
3541 -- Name: channel_group_flags_flag_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3542 --
3543
3544 ALTER TABLE ONLY channel_group_flags
3545     ADD CONSTRAINT channel_group_flags_flag_fkey FOREIGN KEY (flag) REFERENCES channel_flags(flag) ON UPDATE CASCADE ON DELETE CASCADE;
3546
3547
3548 --
3549 -- Name: channel_group_flags_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3550 --
3551
3552 ALTER TABLE ONLY channel_group_flags
3553     ADD CONSTRAINT channel_group_flags_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3554
3555
3556 --
3557 -- Name: covop_attacks_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3558 --
3559
3560 ALTER TABLE ONLY covop_attacks
3561     ADD CONSTRAINT covop_attacks_id_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3562
3563
3564 --
3565 -- Name: covop_attacks_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3566 --
3567
3568 ALTER TABLE ONLY covop_attacks
3569     ADD CONSTRAINT covop_attacks_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3570
3571
3572 --
3573 -- Name: defense_missions_call_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3574 --
3575
3576 ALTER TABLE ONLY defense_missions
3577     ADD CONSTRAINT defense_missions_call_fkey FOREIGN KEY (call) REFERENCES calls(call) ON UPDATE CASCADE ON DELETE CASCADE;
3578
3579
3580 --
3581 -- Name: defense_missions_fleet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3582 --
3583
3584 ALTER TABLE ONLY defense_missions
3585     ADD CONSTRAINT defense_missions_fleet_fkey FOREIGN KEY (fleet) REFERENCES fleets(fid) ON UPDATE CASCADE ON DELETE CASCADE;
3586
3587
3588 --
3589 -- Name: development_scans_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3590 --
3591
3592 ALTER TABLE ONLY development_scans
3593     ADD CONSTRAINT development_scans_id_fkey FOREIGN KEY (id) REFERENCES scans(id);
3594
3595
3596 --
3597 -- Name: development_scans_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3598 --
3599
3600 ALTER TABLE ONLY development_scans
3601     ADD CONSTRAINT development_scans_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3602
3603
3604 --
3605 -- Name: email_change_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3606 --
3607
3608 ALTER TABLE ONLY email_change
3609     ADD CONSTRAINT email_change_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3610
3611
3612 --
3613 -- Name: fleet_scans_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3614 --
3615
3616 ALTER TABLE ONLY fleet_scans
3617     ADD CONSTRAINT fleet_scans_id_fkey FOREIGN KEY (fid) REFERENCES fleets(fid) ON DELETE CASCADE;
3618
3619
3620 --
3621 -- Name: fleet_scans_scan_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3622 --
3623
3624 ALTER TABLE ONLY fleet_scans
3625     ADD CONSTRAINT fleet_scans_scan_fkey FOREIGN KEY (id) REFERENCES scans(id);
3626
3627
3628 --
3629 -- Name: fleet_ships_fleet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3630 --
3631
3632 ALTER TABLE ONLY fleet_ships
3633     ADD CONSTRAINT fleet_ships_fleet_fkey FOREIGN KEY (fid) REFERENCES fleets(fid) ON UPDATE CASCADE ON DELETE CASCADE;
3634
3635
3636 --
3637 -- Name: fleet_ships_ship_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3638 --
3639
3640 ALTER TABLE ONLY fleet_ships
3641     ADD CONSTRAINT fleet_ships_ship_fkey FOREIGN KEY (ship) REFERENCES ship_stats(ship);
3642
3643
3644 --
3645 -- Name: fleets_sender_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3646 --
3647
3648 ALTER TABLE ONLY fleets
3649     ADD CONSTRAINT fleets_sender_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
3650
3651
3652 --
3653 -- Name: forum_access_fbid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3654 --
3655
3656 ALTER TABLE ONLY forum_access
3657     ADD CONSTRAINT forum_access_fbid_fkey FOREIGN KEY (fbid) REFERENCES forum_boards(fbid) ON UPDATE CASCADE ON DELETE CASCADE;
3658
3659
3660 --
3661 -- Name: forum_access_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3662 --
3663
3664 ALTER TABLE ONLY forum_access
3665     ADD CONSTRAINT forum_access_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3666
3667
3668 --
3669 -- Name: forum_boards_fcid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3670 --
3671
3672 ALTER TABLE ONLY forum_boards
3673     ADD CONSTRAINT forum_boards_fcid_fkey FOREIGN KEY (fcid) REFERENCES forum_categories(fcid) ON UPDATE CASCADE ON DELETE CASCADE;
3674
3675
3676 --
3677 -- Name: forum_posts_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3678 --
3679
3680 ALTER TABLE ONLY forum_posts
3681     ADD CONSTRAINT forum_posts_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE CASCADE ON DELETE CASCADE;
3682
3683
3684 --
3685 -- Name: forum_posts_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3686 --
3687
3688 ALTER TABLE ONLY forum_posts
3689     ADD CONSTRAINT forum_posts_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3690
3691
3692 --
3693 -- Name: forum_priv_access_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3694 --
3695
3696 ALTER TABLE ONLY forum_priv_access
3697     ADD CONSTRAINT forum_priv_access_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON DELETE CASCADE;
3698
3699
3700 --
3701 -- Name: forum_priv_access_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3702 --
3703
3704 ALTER TABLE ONLY forum_priv_access
3705     ADD CONSTRAINT forum_priv_access_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3706
3707
3708 --
3709 -- Name: forum_thread_visits_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3710 --
3711
3712 ALTER TABLE ONLY forum_thread_visits
3713     ADD CONSTRAINT forum_thread_visits_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE CASCADE ON DELETE CASCADE;
3714
3715
3716 --
3717 -- Name: forum_thread_visits_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3718 --
3719
3720 ALTER TABLE ONLY forum_thread_visits
3721     ADD CONSTRAINT forum_thread_visits_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3722
3723
3724 --
3725 -- Name: forum_threads_fbid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3726 --
3727
3728 ALTER TABLE ONLY forum_threads
3729     ADD CONSTRAINT forum_threads_fbid_fkey FOREIGN KEY (fbid) REFERENCES forum_boards(fbid) ON UPDATE CASCADE ON DELETE CASCADE;
3730
3731
3732 --
3733 -- Name: forum_threads_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3734 --
3735
3736 ALTER TABLE ONLY forum_threads
3737     ADD CONSTRAINT forum_threads_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE RESTRICT;
3738
3739
3740 --
3741 -- Name: full_fleets_fid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3742 --
3743
3744 ALTER TABLE ONLY full_fleets
3745     ADD CONSTRAINT full_fleets_fid_fkey FOREIGN KEY (fid) REFERENCES fleets(fid);
3746
3747
3748 --
3749 -- Name: full_fleets_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3750 --
3751
3752 ALTER TABLE ONLY full_fleets
3753     ADD CONSTRAINT full_fleets_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3754
3755
3756 --
3757 -- Name: group_roles_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3758 --
3759
3760 ALTER TABLE ONLY group_roles
3761     ADD CONSTRAINT group_roles_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3762
3763
3764 --
3765 -- Name: group_roles_role_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3766 --
3767
3768 ALTER TABLE ONLY group_roles
3769     ADD CONSTRAINT group_roles_role_fkey FOREIGN KEY (role) REFERENCES roles(role);
3770
3771
3772 --
3773 -- Name: groupmembers_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3774 --
3775
3776 ALTER TABLE ONLY groupmembers
3777     ADD CONSTRAINT groupmembers_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3778
3779
3780 --
3781 -- Name: groupmembers_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3782 --
3783
3784 ALTER TABLE ONLY groupmembers
3785     ADD CONSTRAINT groupmembers_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3786
3787
3788 --
3789 -- Name: incomings_call_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3790 --
3791
3792 ALTER TABLE ONLY incomings
3793     ADD CONSTRAINT incomings_call_fkey FOREIGN KEY (call) REFERENCES calls(call) ON UPDATE CASCADE ON DELETE CASCADE;
3794
3795
3796 --
3797 -- Name: incomings_sender_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3798 --
3799
3800 ALTER TABLE ONLY incomings
3801     ADD CONSTRAINT incomings_sender_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
3802
3803
3804 --
3805 -- Name: intel_scans_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3806 --
3807
3808 ALTER TABLE ONLY intel_scans
3809     ADD CONSTRAINT intel_scans_id_fkey FOREIGN KEY (id) REFERENCES scans(id);
3810
3811
3812 --
3813 -- Name: intel_scans_intel_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3814 --
3815
3816 ALTER TABLE ONLY intel_scans
3817     ADD CONSTRAINT intel_scans_intel_fkey FOREIGN KEY (intel) REFERENCES intel(id) ON DELETE CASCADE;
3818
3819
3820 --
3821 -- Name: intel_sender_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3822 --
3823
3824 ALTER TABLE ONLY intel
3825     ADD CONSTRAINT intel_sender_fkey FOREIGN KEY (sender) REFERENCES planets(pid);
3826
3827
3828 --
3829 -- Name: intel_target_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3830 --
3831
3832 ALTER TABLE ONLY intel
3833     ADD CONSTRAINT intel_target_fkey FOREIGN KEY (target) REFERENCES planets(pid);
3834
3835
3836 --
3837 -- Name: intel_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3838 --
3839
3840 ALTER TABLE ONLY intel
3841     ADD CONSTRAINT intel_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3842
3843
3844 --
3845 -- Name: irc_requests_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3846 --
3847
3848 ALTER TABLE ONLY irc_requests
3849     ADD CONSTRAINT irc_requests_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3850
3851
3852 --
3853 -- Name: launch_confirmations_fid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3854 --
3855
3856 ALTER TABLE ONLY launch_confirmations
3857     ADD CONSTRAINT launch_confirmations_fid_fkey FOREIGN KEY (fid) REFERENCES fleets(fid);
3858
3859
3860 --
3861 -- Name: launch_confirmations_target_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3862 --
3863
3864 ALTER TABLE ONLY launch_confirmations
3865     ADD CONSTRAINT launch_confirmations_target_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3866
3867
3868 --
3869 -- Name: launch_confirmations_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3870 --
3871
3872 ALTER TABLE ONLY launch_confirmations
3873     ADD CONSTRAINT launch_confirmations_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3874
3875
3876 --
3877 -- Name: planet_scans_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3878 --
3879
3880 ALTER TABLE ONLY planet_scans
3881     ADD CONSTRAINT planet_scans_id_fkey FOREIGN KEY (id) REFERENCES scans(id);
3882
3883
3884 --
3885 -- Name: planet_scans_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3886 --
3887
3888 ALTER TABLE ONLY planet_scans
3889     ADD CONSTRAINT planet_scans_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3890
3891
3892 --
3893 -- Name: planet_stats_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3894 --
3895
3896 ALTER TABLE ONLY planet_stats
3897     ADD CONSTRAINT planet_stats_id_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
3898
3899
3900 --
3901 -- Name: planet_tags_pid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3902 --
3903
3904 ALTER TABLE ONLY planet_tags
3905     ADD CONSTRAINT planet_tags_pid_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3906
3907
3908 --
3909 -- Name: planet_tags_tag_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3910 --
3911
3912 ALTER TABLE ONLY planet_tags
3913     ADD CONSTRAINT planet_tags_tag_fkey FOREIGN KEY (tag) REFERENCES available_planet_tags(tag);
3914
3915
3916 --
3917 -- Name: planet_tags_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3918 --
3919
3920 ALTER TABLE ONLY planet_tags
3921     ADD CONSTRAINT planet_tags_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
3922
3923
3924 --
3925 -- Name: planets_alliance_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3926 --
3927
3928 ALTER TABLE ONLY planets
3929     ADD CONSTRAINT planets_alliance_fkey FOREIGN KEY (alliance) REFERENCES alliances(alliance) ON UPDATE CASCADE ON DELETE SET NULL;
3930
3931
3932 --
3933 -- Name: planets_ftid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3934 --
3935
3936 ALTER TABLE ONLY planets
3937     ADD CONSTRAINT planets_ftid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE RESTRICT ON DELETE RESTRICT;
3938
3939
3940 --
3941 -- Name: raid_access_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3942 --
3943
3944 ALTER TABLE ONLY raid_access
3945     ADD CONSTRAINT raid_access_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
3946
3947
3948 --
3949 -- Name: raid_access_raid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3950 --
3951
3952 ALTER TABLE ONLY raid_access
3953     ADD CONSTRAINT raid_access_raid_fkey FOREIGN KEY (raid) REFERENCES raids(id) ON UPDATE CASCADE ON DELETE CASCADE;
3954
3955
3956 --
3957 -- Name: raid_claims_target_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3958 --
3959
3960 ALTER TABLE ONLY raid_claims
3961     ADD CONSTRAINT raid_claims_target_fkey FOREIGN KEY (target) REFERENCES raid_targets(id) ON UPDATE CASCADE ON DELETE CASCADE;
3962
3963
3964 --
3965 -- Name: raid_claims_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3966 --
3967
3968 ALTER TABLE ONLY raid_claims
3969     ADD CONSTRAINT raid_claims_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE CASCADE ON DELETE CASCADE;
3970
3971
3972 --
3973 -- Name: raid_targets_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3974 --
3975
3976 ALTER TABLE ONLY raid_targets
3977     ADD CONSTRAINT raid_targets_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
3978
3979
3980 --
3981 -- Name: raid_targets_raid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3982 --
3983
3984 ALTER TABLE ONLY raid_targets
3985     ADD CONSTRAINT raid_targets_raid_fkey FOREIGN KEY (raid) REFERENCES raids(id) ON UPDATE CASCADE ON DELETE CASCADE;
3986
3987
3988 --
3989 -- Name: scan_requests_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3990 --
3991
3992 ALTER TABLE ONLY scan_requests
3993     ADD CONSTRAINT scan_requests_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid);
3994
3995
3996 --
3997 -- Name: scan_requests_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
3998 --
3999
4000 ALTER TABLE ONLY scan_requests
4001     ADD CONSTRAINT scan_requests_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
4002
4003
4004 --
4005 -- Name: scans_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4006 --
4007
4008 ALTER TABLE ONLY scans
4009     ADD CONSTRAINT scans_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE CASCADE ON DELETE CASCADE;
4010
4011
4012 --
4013 -- Name: scans_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4014 --
4015
4016 ALTER TABLE ONLY scans
4017     ADD CONSTRAINT scans_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid) ON UPDATE RESTRICT ON DELETE RESTRICT;
4018
4019
4020 --
4021 -- Name: session_log_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4022 --
4023
4024 ALTER TABLE ONLY session_log
4025     ADD CONSTRAINT session_log_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
4026
4027
4028 --
4029 -- Name: sms_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4030 --
4031
4032 ALTER TABLE ONLY sms
4033     ADD CONSTRAINT sms_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
4034
4035
4036 --
4037 -- Name: users_planet_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4038 --
4039
4040 ALTER TABLE ONLY users
4041     ADD CONSTRAINT users_planet_fkey FOREIGN KEY (pid) REFERENCES planets(pid) ON UPDATE SET NULL ON DELETE SET NULL;
4042
4043
4044 --
4045 -- Name: users_tfid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4046 --
4047
4048 ALTER TABLE ONLY users
4049     ADD CONSTRAINT users_tfid_fkey FOREIGN KEY (ftid) REFERENCES forum_threads(ftid) ON UPDATE SET NULL ON DELETE SET NULL;
4050
4051
4052 --
4053 -- Name: wiki_namespace_access_gid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4054 --
4055
4056 ALTER TABLE ONLY wiki_namespace_access
4057     ADD CONSTRAINT wiki_namespace_access_gid_fkey FOREIGN KEY (gid) REFERENCES groups(gid) ON UPDATE CASCADE ON DELETE CASCADE;
4058
4059
4060 --
4061 -- Name: wiki_namespace_access_namespace_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4062 --
4063
4064 ALTER TABLE ONLY wiki_namespace_access
4065     ADD CONSTRAINT wiki_namespace_access_namespace_fkey FOREIGN KEY (namespace) REFERENCES wiki_namespaces(namespace);
4066
4067
4068 --
4069 -- Name: wiki_page_access_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4070 --
4071
4072 ALTER TABLE ONLY wiki_page_access
4073     ADD CONSTRAINT wiki_page_access_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
4074
4075
4076 --
4077 -- Name: wiki_page_access_wpid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4078 --
4079
4080 ALTER TABLE ONLY wiki_page_access
4081     ADD CONSTRAINT wiki_page_access_wpid_fkey FOREIGN KEY (wpid) REFERENCES wiki_pages(wpid);
4082
4083
4084 --
4085 -- Name: wiki_page_revisions_parent_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4086 --
4087
4088 ALTER TABLE ONLY wiki_page_revisions
4089     ADD CONSTRAINT wiki_page_revisions_parent_fkey FOREIGN KEY (parent) REFERENCES wiki_page_revisions(wprev);
4090
4091
4092 --
4093 -- Name: wiki_page_revisions_uid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4094 --
4095
4096 ALTER TABLE ONLY wiki_page_revisions
4097     ADD CONSTRAINT wiki_page_revisions_uid_fkey FOREIGN KEY (uid) REFERENCES users(uid);
4098
4099
4100 --
4101 -- Name: wiki_page_revisions_wpid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4102 --
4103
4104 ALTER TABLE ONLY wiki_page_revisions
4105     ADD CONSTRAINT wiki_page_revisions_wpid_fkey FOREIGN KEY (wpid) REFERENCES wiki_pages(wpid);
4106
4107
4108 --
4109 -- Name: wiki_pages_namespace_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4110 --
4111
4112 ALTER TABLE ONLY wiki_pages
4113     ADD CONSTRAINT wiki_pages_namespace_fkey FOREIGN KEY (namespace) REFERENCES wiki_namespaces(namespace);
4114
4115
4116 --
4117 -- Name: wiki_pages_wprev_fkey; Type: FK CONSTRAINT; Schema: public; Owner: ndawn
4118 --
4119
4120 ALTER TABLE ONLY wiki_pages
4121     ADD CONSTRAINT wiki_pages_wprev_fkey FOREIGN KEY (wprev) REFERENCES wiki_page_revisions(wprev);
4122
4123
4124 --
4125 -- Name: public; Type: ACL; Schema: -; Owner: postgres
4126 --
4127
4128 REVOKE ALL ON SCHEMA public FROM PUBLIC;
4129 REVOKE ALL ON SCHEMA public FROM postgres;
4130 GRANT ALL ON SCHEMA public TO postgres;
4131 GRANT ALL ON SCHEMA public TO PUBLIC;
4132
4133
4134 --
4135 -- Name: coords(integer, integer, integer); Type: ACL; Schema: public; Owner: ndawn
4136 --
4137
4138 REVOKE ALL ON FUNCTION coords(x integer, y integer, z integer) FROM PUBLIC;
4139 REVOKE ALL ON FUNCTION coords(x integer, y integer, z integer) FROM ndawn;
4140 GRANT ALL ON FUNCTION coords(x integer, y integer, z integer) TO ndawn;
4141 GRANT ALL ON FUNCTION coords(x integer, y integer, z integer) TO PUBLIC;
4142 GRANT ALL ON FUNCTION coords(x integer, y integer, z integer) TO intel;
4143
4144
4145 --
4146 -- Name: endtick(); Type: ACL; Schema: public; Owner: ndawn
4147 --
4148
4149 REVOKE ALL ON FUNCTION endtick() FROM PUBLIC;
4150 REVOKE ALL ON FUNCTION endtick() FROM ndawn;
4151 GRANT ALL ON FUNCTION endtick() TO ndawn;
4152 GRANT ALL ON FUNCTION endtick() TO PUBLIC;
4153 GRANT ALL ON FUNCTION endtick() TO intel;
4154
4155
4156 --
4157 -- Name: planetcoords(integer, integer); Type: ACL; Schema: public; Owner: ndawn
4158 --
4159
4160 REVOKE ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) FROM PUBLIC;
4161 REVOKE ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) FROM ndawn;
4162 GRANT ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) TO ndawn;
4163 GRANT ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) TO PUBLIC;
4164 GRANT ALL ON FUNCTION planetcoords(id integer, tick integer, OUT x integer, OUT y integer, OUT z integer) TO intel;
4165
4166
4167 --
4168 -- Name: planetid(integer, integer, integer, integer); Type: ACL; Schema: public; Owner: ndawn
4169 --
4170
4171 REVOKE ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) FROM PUBLIC;
4172 REVOKE ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) FROM ndawn;
4173 GRANT ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) TO ndawn;
4174 GRANT ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) TO PUBLIC;
4175 GRANT ALL ON FUNCTION planetid(x integer, y integer, z integer, tick integer) TO intel;
4176
4177
4178 --
4179 -- Name: tick(); Type: ACL; Schema: public; Owner: ndawn
4180 --
4181
4182 REVOKE ALL ON FUNCTION tick() FROM PUBLIC;
4183 REVOKE ALL ON FUNCTION tick() FROM ndawn;
4184 GRANT ALL ON FUNCTION tick() TO ndawn;
4185 GRANT ALL ON FUNCTION tick() TO PUBLIC;
4186 GRANT ALL ON FUNCTION tick() TO intel;
4187
4188
4189 --
4190 -- Name: alliance_stats; Type: ACL; Schema: public; Owner: ndawn
4191 --
4192
4193 REVOKE ALL ON TABLE alliance_stats FROM PUBLIC;
4194 REVOKE ALL ON TABLE alliance_stats FROM ndawn;
4195 GRANT ALL ON TABLE alliance_stats TO ndawn;
4196 GRANT SELECT ON TABLE alliance_stats TO intel;
4197
4198
4199 --
4200 -- Name: alliances; Type: ACL; Schema: public; Owner: ndawn
4201 --
4202
4203 REVOKE ALL ON TABLE alliances FROM PUBLIC;
4204 REVOKE ALL ON TABLE alliances FROM ndawn;
4205 GRANT ALL ON TABLE alliances TO ndawn;
4206 GRANT SELECT ON TABLE alliances TO intel;
4207
4208
4209 --
4210 -- Name: development_scans; Type: ACL; Schema: public; Owner: ndawn
4211 --
4212
4213 REVOKE ALL ON TABLE development_scans FROM PUBLIC;
4214 REVOKE ALL ON TABLE development_scans FROM ndawn;
4215 GRANT ALL ON TABLE development_scans TO ndawn;
4216 GRANT SELECT ON TABLE development_scans TO intel;
4217
4218
4219 --
4220 -- Name: current_development_scans; Type: ACL; Schema: public; Owner: ndawn
4221 --
4222
4223 REVOKE ALL ON TABLE current_development_scans FROM PUBLIC;
4224 REVOKE ALL ON TABLE current_development_scans FROM ndawn;
4225 GRANT ALL ON TABLE current_development_scans TO ndawn;
4226 GRANT SELECT ON TABLE current_development_scans TO intel;
4227
4228
4229 --
4230 -- Name: planet_scans; Type: ACL; Schema: public; Owner: ndawn
4231 --
4232
4233 REVOKE ALL ON TABLE planet_scans FROM PUBLIC;
4234 REVOKE ALL ON TABLE planet_scans FROM ndawn;
4235 GRANT ALL ON TABLE planet_scans TO ndawn;
4236 GRANT SELECT ON TABLE planet_scans TO intel;
4237
4238
4239 --
4240 -- Name: current_planet_scans; Type: ACL; Schema: public; Owner: ndawn
4241 --
4242
4243 REVOKE ALL ON TABLE current_planet_scans FROM PUBLIC;
4244 REVOKE ALL ON TABLE current_planet_scans FROM ndawn;
4245 GRANT ALL ON TABLE current_planet_scans TO ndawn;
4246 GRANT SELECT ON TABLE current_planet_scans TO intel;
4247
4248
4249 --
4250 -- Name: planet_stats; Type: ACL; Schema: public; Owner: ndawn
4251 --
4252
4253 REVOKE ALL ON TABLE planet_stats FROM PUBLIC;
4254 REVOKE ALL ON TABLE planet_stats FROM ndawn;
4255 GRANT ALL ON TABLE planet_stats TO ndawn;
4256 GRANT SELECT ON TABLE planet_stats TO intel;
4257
4258
4259 --
4260 -- Name: planets; Type: ACL; Schema: public; Owner: ndawn
4261 --
4262
4263 REVOKE ALL ON TABLE planets FROM PUBLIC;
4264 REVOKE ALL ON TABLE planets FROM ndawn;
4265 GRANT ALL ON TABLE planets TO ndawn;
4266 GRANT SELECT ON TABLE planets TO intel;
4267
4268
4269 --
4270 -- Name: current_planet_stats; Type: ACL; Schema: public; Owner: ndawn
4271 --
4272
4273 REVOKE ALL ON TABLE current_planet_stats FROM PUBLIC;
4274 REVOKE ALL ON TABLE current_planet_stats FROM ndawn;
4275 GRANT ALL ON TABLE current_planet_stats TO ndawn;
4276 GRANT SELECT ON TABLE current_planet_stats TO intel;
4277
4278
4279 --
4280 -- Name: alliance_resources; Type: ACL; Schema: public; Owner: ndawn
4281 --
4282
4283 REVOKE ALL ON TABLE alliance_resources FROM PUBLIC;
4284 REVOKE ALL ON TABLE alliance_resources FROM ndawn;
4285 GRANT ALL ON TABLE alliance_resources TO ndawn;
4286 GRANT SELECT ON TABLE alliance_resources TO intel;
4287
4288
4289 --
4290 -- Name: available_planet_tags; Type: ACL; Schema: public; Owner: ndawn
4291 --
4292
4293 REVOKE ALL ON TABLE available_planet_tags FROM PUBLIC;
4294 REVOKE ALL ON TABLE available_planet_tags FROM ndawn;
4295 GRANT ALL ON TABLE available_planet_tags TO ndawn;
4296 GRANT SELECT ON TABLE available_planet_tags TO intel;
4297
4298
4299 --
4300 -- Name: fleet_ships; Type: ACL; Schema: public; Owner: ndawn
4301 --
4302
4303 REVOKE ALL ON TABLE fleet_ships FROM PUBLIC;
4304 REVOKE ALL ON TABLE fleet_ships FROM ndawn;
4305 GRANT ALL ON TABLE fleet_ships TO ndawn;
4306 GRANT SELECT ON TABLE fleet_ships TO intel;
4307
4308
4309 --
4310 -- Name: fleets; Type: ACL; Schema: public; Owner: ndawn
4311 --
4312
4313 REVOKE ALL ON TABLE fleets FROM PUBLIC;
4314 REVOKE ALL ON TABLE fleets FROM ndawn;
4315 GRANT ALL ON TABLE fleets TO ndawn;
4316 GRANT SELECT ON TABLE fleets TO intel;
4317
4318
4319 --
4320 -- Name: launch_confirmations; Type: ACL; Schema: public; Owner: ndawn
4321 --
4322
4323 REVOKE ALL ON TABLE launch_confirmations FROM PUBLIC;
4324 REVOKE ALL ON TABLE launch_confirmations FROM ndawn;
4325 GRANT ALL ON TABLE launch_confirmations TO ndawn;
4326 GRANT SELECT ON TABLE launch_confirmations TO intel;
4327
4328
4329 --
4330 -- Name: current_planet_stats_full; Type: ACL; Schema: public; Owner: ndawn
4331 --
4332
4333 REVOKE ALL ON TABLE current_planet_stats_full FROM PUBLIC;
4334 REVOKE ALL ON TABLE current_planet_stats_full FROM ndawn;
4335 GRANT ALL ON TABLE current_planet_stats_full TO ndawn;
4336 GRANT SELECT ON TABLE current_planet_stats_full TO intel;
4337
4338
4339 --
4340 -- Name: fleet_scans; Type: ACL; Schema: public; Owner: ndawn
4341 --
4342
4343 REVOKE ALL ON TABLE fleet_scans FROM PUBLIC;
4344 REVOKE ALL ON TABLE fleet_scans FROM ndawn;
4345 GRANT ALL ON TABLE fleet_scans TO ndawn;
4346 GRANT SELECT ON TABLE fleet_scans TO intel;
4347
4348
4349 --
4350 -- Name: intel; Type: ACL; Schema: public; Owner: ndawn
4351 --
4352
4353 REVOKE ALL ON TABLE intel FROM PUBLIC;
4354 REVOKE ALL ON TABLE intel FROM ndawn;
4355 GRANT ALL ON TABLE intel TO ndawn;
4356 GRANT SELECT ON TABLE intel TO intel;
4357
4358
4359 --
4360 -- Name: full_intel; Type: ACL; Schema: public; Owner: ndawn
4361 --
4362
4363 REVOKE ALL ON TABLE full_intel FROM PUBLIC;
4364 REVOKE ALL ON TABLE full_intel FROM ndawn;
4365 GRANT ALL ON TABLE full_intel TO ndawn;
4366 GRANT SELECT ON TABLE full_intel TO intel;
4367
4368
4369 --
4370 -- Name: galaxies; Type: ACL; Schema: public; Owner: ndawn
4371 --
4372
4373 REVOKE ALL ON TABLE galaxies FROM PUBLIC;
4374 REVOKE ALL ON TABLE galaxies FROM ndawn;
4375 GRANT ALL ON TABLE galaxies TO ndawn;
4376 GRANT SELECT ON TABLE galaxies TO intel;
4377
4378
4379 --
4380 -- Name: intel_scans; Type: ACL; Schema: public; Owner: ndawn
4381 --
4382
4383 REVOKE ALL ON TABLE intel_scans FROM PUBLIC;
4384 REVOKE ALL ON TABLE intel_scans FROM ndawn;
4385 GRANT ALL ON TABLE intel_scans TO ndawn;
4386 GRANT SELECT ON TABLE intel_scans TO intel;
4387
4388
4389 --
4390 -- Name: planet_tags; Type: ACL; Schema: public; Owner: ndawn
4391 --
4392
4393 REVOKE ALL ON TABLE planet_tags FROM PUBLIC;
4394 REVOKE ALL ON TABLE planet_tags FROM ndawn;
4395 GRANT ALL ON TABLE planet_tags TO ndawn;
4396 GRANT SELECT ON TABLE planet_tags TO intel;
4397
4398
4399 --
4400 -- Name: scans; Type: ACL; Schema: public; Owner: ndawn
4401 --
4402
4403 REVOKE ALL ON TABLE scans FROM PUBLIC;
4404 REVOKE ALL ON TABLE scans FROM ndawn;
4405 GRANT ALL ON TABLE scans TO ndawn;
4406 GRANT SELECT ON TABLE scans TO intel;
4407
4408
4409 --
4410 -- PostgreSQL database dump complete
4411 --
4412