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