Project

General

Profile

1 27955 claudio.at
--
2
-- sqoopQL database dump
3
--
4 42734 eri.katsar
5 27955 claudio.at
SET statement_timeout = 0;
6
SET client_encoding = 'UTF8';
7
SET standard_conforming_strings = on;
8
SET check_function_bodies = false;
9
SET client_min_messages = warning;
10
11
--
12
-- Name: shadow; Type: SCHEMA; Schema: -; Owner: sqoop
13
--
14
15 45523 tsampikos.
DROP SCHEMA IF EXISTS backup CASCADE;
16
17 27955 claudio.at
--
18
-- Name: shadow; Type: SCHEMA; Schema: -; Owner: sqoop
19
--
20
DROP SCHEMA  IF EXISTS shadow CASCADE;
21
CREATE SCHEMA shadow;
22
23
--ALTER SCHEMA shadow OWNER TO sqoop;
24
25
 SET search_path = shadow, pg_catalog;
26
27
28
--
29
-- Name: concept; Type: TABLE; Schema: public; Owner: dnet; Tablespace:
30
--
31
32
CREATE TABLE shadow.concept (
33
    id text NOT NULL,
34 30977 eri.katsar
    name text ,
35
    category text
36 27955 claudio.at
);
37
38
39 42734 eri.katsar
40 27955 claudio.at
--
41
-- Name: datasource; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
42
--
43
44
CREATE TABLE shadow.datasource (
45
    id text NOT NULL,
46
    datasource_results text NOT NULL,
47
    datasource_organizations text NOT NULL,
48
    datasource_languages text NOT NULL,
49
    datasource_topics text NOT NULL,
50 30977 eri.katsar
    name text ,
51 27955 claudio.at
    type text,
52
    compatibility text,
53
    latitude text,
54
    longitude text,
55
    dateofvalidation text,
56
    yearofvalidation integer,
57 42734 eri.katsar
    websiteurl text,
58 45523 tsampikos.
    piwik_id integer,
59 42734 eri.katsar
    harvested TEXT DEFAULT 'false',
60
    deletedbyinference TEXT,
61 27955 claudio.at
    number integer DEFAULT 1 NOT NULL
62
);
63
64
--
65
-- Name: datasource_languages; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
66
--
67
68 32831 eri.katsar
CREATE TABLE shadow.datasource_languages (
69 27955 claudio.at
    id text NOT NULL,
70 42734 eri.katsar
    language text
71 27955 claudio.at
);
72
73 42734 eri.katsar
74 27955 claudio.at
--
75
-- Name: datasource_organizations; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
76
--
77
78 29265 eri.katsar
--
79 27955 claudio.at
CREATE TABLE shadow.datasource_organizations (
80
    id text NOT NULL,
81
    organization text NOT NULL
82
);
83
84
85 42734 eri.katsar
86 27955 claudio.at
--
87
-- Name: result_datasources; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
88
--
89
90
CREATE TABLE shadow.result_datasources (
91
    id text NOT NULL,
92
    datasource text NOT NULL
93
);
94
95
96 42734 eri.katsar
97 27955 claudio.at
--
98
-- Name: datasource_results; Type: VIEW; Schema: shadow; Owner: sqoop
99
--
100
101 47072 tsampikos.
--CREATE VIEW shadow.datasource_results AS
102
--    SELECT result_datasources.datasource AS id, result_datasources.id AS result FROM result_datasources;
103 27955 claudio.at
104
--
105 42734 eri.katsar
-- Name: datasource_topics; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
106 27955 claudio.at
-- Name: defaults; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
107
--
108
109
CREATE TABLE shadow.defaults (
110
    tablename text NOT NULL,
111
    xaxis text,
112
    yaxis text,
113
    agg text,
114
    zaxis text,
115
    type text,
116
    tableorder integer NOT NULL
117
);
118
119
120
--
121
-- Name: category; Type: TABLE; Schema: public; Owner: dnet; Tablespace:
122
--
123
CREATE TABLE shadow.category (
124
    id text NOT NULL,
125 30977 eri.katsar
    name text,
126
    context text
127 27955 claudio.at
);
128
129
--
130
-- Name: claim; Type: TABLE; Schema: public; Owner: dnet; Tablespace:
131
--
132
133
CREATE TABLE shadow.claim (
134
    id text NOT NULL,
135 30977 eri.katsar
    date text ,
136
    userid text
137 27955 claudio.at
);
138
139
140
--
141
-- Name: context; Type: TABLE; Schema: public; Owner: dnet; Tablespace:
142
--
143
144
CREATE TABLE shadow.context (
145
    id text NOT NULL,
146 30977 eri.katsar
    name text
147 27955 claudio.at
);
148 42734 eri.katsar
149 27955 claudio.at
--
150
-- Name: organization; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
151
--
152
153
CREATE TABLE shadow.organization (
154
    id text NOT NULL,
155
    organization_datasources text NOT NULL,
156
    organization_projects text NOT NULL,
157 30977 eri.katsar
    name text,
158 27955 claudio.at
    country text,
159 42734 eri.katsar
    websiteurl  text,
160
  deletedbyinference TEXT,
161
  number integer DEFAULT 1 NOT NULL
162 27955 claudio.at
);
163
164
165
166
--
167
-- Name: organization_datasources; Type: VIEW; Schema: shadow; Owner: sqoop
168
--
169
170
CREATE VIEW shadow.organization_datasources AS
171
    SELECT datasource_organizations.organization AS id, datasource_organizations.id AS datasource FROM datasource_organizations;
172
173
--
174
-- Name: project_organizations; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
175
--
176
177
CREATE TABLE shadow.project_organizations (
178
    id text NOT NULL,
179
    organization text NOT NULL
180
);
181
182
183 43954 tsampikos.
--
184
-- Name: project_organizations; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
185
--
186 27955 claudio.at
187 43954 tsampikos.
CREATE TABLE shadow.result_organizations (
188
    id text NOT NULL,
189
    organization text NOT NULL
190
);
191
192
193 27955 claudio.at
--
194
-- Name: organization_projects; Type: VIEW; Schema: shadow; Owner: sqoop
195
--
196
197
CREATE VIEW shadow.organization_projects AS
198
    SELECT project_organizations.id AS project, project_organizations.organization AS id FROM project_organizations;
199
200
--
201
-- Name: project; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
202
--
203
204
CREATE TABLE shadow.project (
205
    id text NOT NULL,
206
    project_organizations text NOT NULL,
207
    project_results text NOT NULL,
208 30977 eri.katsar
    acronym text ,
209 34210 eri.katsar
    title text ,
210 36921 eri.katsar
    funder text,
211 27955 claudio.at
    funding_lvl0 text,
212
    funding_lvl1 text,
213
    funding_lvl2 text,
214 36921 eri.katsar
     funding_lvl3 text,
215 27955 claudio.at
    sc39 text,
216 45523 tsampikos.
    type text,
217 27955 claudio.at
    url text,
218
    start_year integer,
219
    end_year integer,
220
    duration integer,
221
    haspubs text DEFAULT 'no'::text,
222
    numpubs integer,
223
    enddate text,
224
    startdate text,
225
    daysforlastpub integer,
226
    delayedpubs integer,
227 42734 eri.katsar
    callidentifier  text,
228
    code text,
229
    ecarticle293 text,
230 43392 tsampikos.
    sources text,
231 42734 eri.katsar
  deletedbyinference TEXT,
232 27955 claudio.at
    number text
233
);
234
235
--
236
-- Name: result_projects; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
237
--
238
239 42734 eri.katsar
 CREATE TABLE shadow.project_oids (
240
    id text NOT NULL,
241 45523 tsampikos.
    orid text
242 42734 eri.katsar
);
243 27955 claudio.at
244
245 42734 eri.katsar
246
 CREATE TABLE shadow.result_oids (
247
    id text NOT NULL,
248 45523 tsampikos.
    orid text
249 42734 eri.katsar
);
250
251
252
 CREATE TABLE shadow.organization_oids (
253
    id text NOT NULL,
254 45523 tsampikos.
   orid text
255 42734 eri.katsar
);
256
257
258
 CREATE TABLE shadow.datasource_oids (
259
    id text NOT NULL,
260 45523 tsampikos.
   orid text
261 42734 eri.katsar
);
262
263 48302 tsampikos.
-- CREATE TABLE shadow.person_oids (
264
--   id text NOT NULL,
265
--  orid text
266
-- );
267 42734 eri.katsar
268
269
 CREATE TABLE shadow.project_keywords (
270
    id text NOT NULL,
271
    keyword text
272
);
273
274
275
 CREATE TABLE shadow.project_subjects (
276
    id text NOT NULL,
277
    subject text
278
);
279
280
281 27955 claudio.at
--ALTER TABLE shadow.result_projects OWNER TO sqoop;
282
283
CREATE TABLE shadow.project_results (
284
    id text NOT NULL,
285
    result text NOT NULL,
286
    daysfromend integer
287
);
288
289
290
--
291
-- Name: result; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
292
--
293
294
CREATE TABLE shadow.result (
295
    id text NOT NULL,
296
    result_topics text NOT NULL,
297
    result_languages text NOT NULL,
298
    result_projects text NOT NULL,
299
    result_datasources text NOT NULL,
300
    result_classifications text NOT NULL,
301
    result_infrastructures text NOT NULL,
302
    result_claims text NOT NULL,
303
    result_results text NOT NULL,
304 42734 eri.katsar
  title text,
305
  format text,
306
  publisher text,
307
  journal text,
308
  year integer,
309
  date text ,
310
  access_mode text,
311
  bestlicense text,
312
  type text ,
313
  embargo_end_date text,
314
  delayed text,
315
  authors integer,
316
  source text,
317
  deletedbyinference TEXT,
318
  number integer DEFAULT 1 NOT NULL
319 27955 claudio.at
);
320
321
322
323
--
324
-- Name: result_claims; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
325
--
326
327
CREATE TABLE shadow.result_claims (
328
    id text NOT NULL,
329
    claim text NOT NULL
330
);
331
332 47072 tsampikos.
CREATE TABLE shadow.result_citations (
333 42734 eri.katsar
  id text NOT NULL,
334 47072 tsampikos.
  result text NOT NULL
335
--  trust text,
336
--  provenance text,
337
--  citation text
338 42734 eri.katsar
);
339 27955 claudio.at
340
341
--
342
-- Name: result_classifications; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
343
--
344
345
CREATE TABLE shadow.result_classifications (
346
    id text NOT NULL,
347
    type text NOT NULL
348
);
349
350
--
351
-- Name: result_concepts; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
352
--
353
354
CREATE TABLE shadow.result_concepts (
355
    id text NOT NULL,
356
    concept text NOT NULL
357
);
358
359
--
360
-- Name: result_languages; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
361
--
362
363 32831 eri.katsar
CREATE TABLE shadow.result_languages (
364 27955 claudio.at
    id text NOT NULL,
365
    language text NOT NULL
366
);
367
368
369
--
370
-- Name: result_results; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
371
--
372
373
CREATE TABLE shadow.result_results (
374
    id text NOT NULL,
375
    result text NOT NULL
376
);
377
378
379
380
--
381
-- Name: result_topics; Type: TABLE; Schema: shadow; Owner: sqoop; Tablespace:
382
--
383
384
CREATE TABLE shadow.result_topics (
385
    id text NOT NULL,
386 42734 eri.katsar
    topic text
387 27955 claudio.at
);
388
389
390 42734 eri.katsar
CREATE TABLE shadow.result_descriptions (
391
    id text NOT NULL,
392
    description  text
393
);
394 27955 claudio.at
395 29888 eri.katsar
--
396
-- DATASOURCE Extra Inserts
397
--
398 27955 claudio.at
399 34208 eri.katsar
400 48302 tsampikos.
-- CREATE TABLE shadow.person (
401
--     id text NOT NULL,
402
--     person_results text NOT NULL,
403
--   firstname text,
404
--   lastname text,
405
--   fullname text ,
406
--   nationality text ,
407
--   email text,
408
--   phone text,
409
--   deletedbyinference TEXT,
410
--   number text
411
-- );
412 34208 eri.katsar
413
414 48302 tsampikos.
-- CREATE TABLE shadow.person_results (
415
--     id text NOT NULL,
416
--    result text NOT NULL
417
-- );
418 34208 eri.katsar
419 48302 tsampikos.
-- CREATE TABLE shadow.project_persons (
420
--  id text NOT NULL,
421
--  person text NOT NULL
422
-- );
423 42734 eri.katsar
424
CREATE TABLE shadow.result_pids (
425
  id text NOT NULL,
426
  type text ,
427
  pid text
428
);
429
430
431
432
433
434
435
436 32831 eri.katsar
CREATE OR REPLACE FUNCTION shadow.extra_defaults_datasource()
437
 RETURNS void AS
438 29888 eri.katsar
$BODY$
439
BEGIN
440 34208 eri.katsar
441 29888 eri.katsar
INSERT INTO "shadow".datasource (id,datasource_results,datasource_organizations,datasource_languages,datasource_topics,name,type,compatibility,number) (SELECT 'other','other','other','other','other','Other','Repository','unknown',1 WHERE NOT EXISTS (SELECT 1 FROM "shadow".datasource WHERE name='Unknown Repository'));
442
UPDATE "shadow".datasource SET name='Other' where name='Unknown Repository';
443
UPDATE "shadow".result_datasources SET datasource=(SELECT id FROM "shadow".datasource WHERE name='Other') WHERE datasource NOT IN (SELECT id FROM "shadow".datasource);
444 42734 eri.katsar
445 29888 eri.katsar
TRUNCATE TABLE "shadow".defaults;
446
INSERT INTO "shadow".defaults VALUES ('result', 'year', 'number', 'count', '', 'column', 1);
447
INSERT INTO "shadow".defaults VALUES ('project', 'funding_lvl1', 'number', 'count', '', 'column', 2);
448
INSERT INTO "shadow".defaults VALUES ('organization', 'country', 'number', 'count', '', 'column',  3);
449
INSERT INTO "shadow".defaults VALUES ('datasource', 'oa_compatible', 'number', 'count', '', 'column', 4);
450 38097 eri.katsar
451 34208 eri.katsar
UPDATE "shadow".datasource SET yearofvalidation=null WHERE yearofvalidation='-1';
452 29888 eri.katsar
453 38097 eri.katsar
454
UPDATE shadow.project SET funder='FCT' WHERE funder='Fundação para a Ciência e a Tecnologia, I.P.';
455
456 42734 eri.katsar
  update shadow.datasource set harvested ='true' where datasource.id in ( select distinct d.id from datasource d, datasource_results dr where d.id=dr.id);
457 38097 eri.katsar
458 29888 eri.katsar
END
459
$BODY$
460
  LANGUAGE plpgsql VOLATILE
461
  COST 100;
462
ALTER FUNCTION shadow.extra_defaults_datasource()
463
  OWNER TO sqoop;
464
465
466 27955 claudio.at
--
467 29888 eri.katsar
-- Project Results Extra Inserts
468
--
469
470
CREATE OR REPLACE FUNCTION shadow.update_project_results()
471
  RETURNS void AS
472
$BODY$
473 42734 eri.katsar
BEGIN
474
475
476 29991 eri.katsar
CREATE OR REPLACE VIEW shadow.project_results_publication AS
477 42734 eri.katsar
SELECT  "shadow".result_projects.id AS result,
478 29991 eri.katsar
"shadow".result_projects.project AS project_results,
479 29888 eri.katsar
"shadow"."result"."date" as  resultdate,
480 29991 eri.katsar
"shadow"."project"."enddate" as projectenddate,
481 42734 eri.katsar
"shadow".result_projects.daysfromend
482
as daysfromend FROM  "shadow".result_projects,
483
"shadow".result,
484
"shadow".project
485
 where  "shadow".result_projects.id="shadow".result.result_projects
486
 and  "shadow".result.type='publication'
487 29991 eri.katsar
 and  "shadow".project.project_results= "shadow".result_projects.project;
488 42734 eri.katsar
489 29888 eri.katsar
END
490
$BODY$
491
  LANGUAGE plpgsql VOLATILE
492
  COST 100;
493
ALTER FUNCTION shadow.update_project_results()
494
  OWNER TO sqoop;
495
496
497
498
--
499
-- Project Has Publications Extra Inserts
500
--
501
CREATE OR REPLACE FUNCTION shadow.project_has_pubs()
502
  RETURNS void AS
503
$BODY$
504 42734 eri.katsar
BEGIN
505
506
507
 CREATE OR REPLACE VIEW shadow.project_pub_count AS
508
 SELECT count(*) AS count, project_results_publication.project_results
509 29994 eri.katsar
 FROM shadow.project_results_publication
510
 GROUP BY project_results_publication.project_results;
511 42734 eri.katsar
512 29888 eri.katsar
--HAS PUBS
513 42734 eri.katsar
UPDATE "shadow"."project" SET haspubs='yes' WHERE project_results in (select project_results from shadow.project_results_publication );
514
515
516 29888 eri.katsar
END
517
$BODY$
518
  LANGUAGE plpgsql VOLATILE
519
  COST 100;
520
ALTER FUNCTION shadow.project_has_pubs()
521
  OWNER TO sqoop;
522
523
524
--
525
-- Project Publications Count Updates
526
--
527
528
529
CREATE OR REPLACE FUNCTION shadow.project_pubs_count()
530
  RETURNS void AS
531
$BODY$
532 42734 eri.katsar
BEGIN
533 29888 eri.katsar
534
 --COUNT PUBS
535 42734 eri.katsar
536 29991 eri.katsar
UPDATE "shadow"."project" SET numpubs=( SELECT  count from  shadow.project_pub_count
537 29888 eri.katsar
WHERE shadow.project_pub_count.project_results = shadow.project.project_results )
538
where "shadow"."project".project_results in (  SELECT "shadow".project_results_publication.project_results   FROM  shadow.project_results_publication  );
539
540 42734 eri.katsar
541 29888 eri.katsar
END
542
$BODY$
543
  LANGUAGE plpgsql VOLATILE
544
  COST 100;
545
ALTER FUNCTION shadow.project_pubs_count()
546
  OWNER TO sqoop;
547
548
549
550
--
551
-- Project  Delayed Publications
552
--
553
554
CREATE OR REPLACE FUNCTION shadow.project_delayedpubs()
555
  RETURNS void AS
556
$BODY$
557
BEGIN
558
--delayedpubs PUBS
559
560 42734 eri.katsar
create or replace view shadow.delayedpubs as SELECT count(*) , project_results from "shadow"."project_results_publication"
561 29888 eri.katsar
 WHERE  "shadow"."project_results_publication".daysfromend > 0 group by project_results;
562
563 42734 eri.katsar
UPDATE "shadow"."project" SET delayedpubs = (SELECT "shadow"."delayedpubs".count from "shadow"."delayedpubs"
564 29888 eri.katsar
 WHERE  "shadow"."delayedpubs".project_results=project.project_results ) where "shadow".project.project_results in ( select project_results from  "shadow"."delayedpubs" );
565
566 42734 eri.katsar
567 29888 eri.katsar
END
568
$BODY$
569
  LANGUAGE plpgsql VOLATILE
570
  COST 100;
571
ALTER FUNCTION shadow.project_delayedpubs()
572
  OWNER TO sqoop;
573
574
575
--
576
-- Project    daysforlastpub
577
--
578
579
CREATE OR REPLACE FUNCTION shadow.project_daysforlastpub()
580
  RETURNS void AS
581
$BODY$
582
BEGIN
583
584 42734 eri.katsar
585 29888 eri.katsar
--daysforlastpub
586 42734 eri.katsar
587 29888 eri.katsar
UPDATE "shadow"."project" SET daysforlastpub = (
588 42734 eri.katsar
SELECT max(daysfromend)
589 29888 eri.katsar
FROM "shadow"."project_results_publication" WHERE shadow.project.project_results = shadow.project_results_publication.project_results AND "shadow"."project_results_publication".daysfromend > 0  )
590
where    "shadow".project.project_results in ( select project_results from  "shadow"."delayedpubs" );
591 42734 eri.katsar
592
593 29888 eri.katsar
END
594
$BODY$
595
  LANGUAGE plpgsql VOLATILE
596
  COST 100;
597
ALTER FUNCTION shadow.project_daysforlastpub()
598
  OWNER TO sqoop;
599
600
--
601
-- Project    delayed
602
--
603
604
605
CREATE OR REPLACE FUNCTION shadow.project_delayed ()
606
  RETURNS void AS
607
$BODY$
608
BEGIN
609 42734 eri.katsar
610 29888 eri.katsar
--delayed
611 42734 eri.katsar
612
UPDATE "shadow"."result" SET delayed = 'yes' WHERE result.id IN
613 29888 eri.katsar
(SELECT  result  from shadow.project_results_publication where daysfromend >0);
614
615 42734 eri.katsar
616 29888 eri.katsar
END
617
$BODY$
618
  LANGUAGE plpgsql VOLATILE
619
  COST 100;
620
ALTER FUNCTION shadow.project_delayed()
621
  OWNER TO sqoop;
622
623 42734 eri.katsar
624 29888 eri.katsar
--
625
-- Cleaning Up Temps
626 29996 eri.katsar
--
627 29888 eri.katsar
CREATE OR REPLACE FUNCTION shadow.cleanTemps ()
628
  RETURNS void AS
629
$BODY$
630
BEGIN
631 42734 eri.katsar
632 29996 eri.katsar
drop view if exists  shadow.delayedpubs   ;
633
drop view  if exists  shadow.project_pub_count   ;
634
drop view if exists  shadow.delayedpubs    ;
635 42734 eri.katsar
636 30019 eri.katsar
drop view  if exists  shadow.project_results_publication   ;
637 29888 eri.katsar
END
638
$BODY$
639
  LANGUAGE plpgsql VOLATILE
640
  COST 100;
641
ALTER FUNCTION shadow.cleanTemps()
642
  OWNER TO sqoop;
643 42734 eri.katsar
644
645 29995 eri.katsar
  ---functions
646 42734 eri.katsar
647 29995 eri.katsar
--
648
-- Name: create_indexes(); Type: FUNCTION; Schema: shadow; Owner: sqoop
649
--
650
651
CREATE FUNCTION shadow.create_indexes() RETURNS void
652
    LANGUAGE plpgsql
653
    AS $$
654
655 42734 eri.katsar
BEGIN
656
657 29995 eri.katsar
CREATE INDEX datasource_datasource_languages ON  "shadow".datasource USING btree (datasource_languages);
658
CREATE INDEX datasource_datasource_organizations ON   "shadow".datasource USING btree (datasource_organizations);
659
CREATE INDEX datasource_datasource_results ON   "shadow".datasource USING btree (datasource_results);
660
CREATE INDEX datasource_datasource_topics ON   "shadow".datasource USING btree (datasource_topics);
661 45523 tsampikos.
CREATE INDEX datasource_id ON "shadow".datasource USING btree (id);
662 29995 eri.katsar
CREATE INDEX datasource_type ON   "shadow".datasource USING btree (type);
663
CREATE INDEX datasource_name ON   "shadow".datasource USING btree (name);
664 45523 tsampikos.
CREATE INDEX datasource_piwik_id ON "shadow".datasource USING btree (piwik_id);
665 29995 eri.katsar
CREATE INDEX result_access_mode ON   "shadow".result USING btree (access_mode);
666
CREATE INDEX result_authors ON   "shadow".result USING btree (authors);
667
CREATE INDEX result_id ON   "shadow".result USING btree (id);
668
CREATE INDEX result_result_datasources ON   "shadow".result USING btree (result_datasources);
669
CREATE INDEX result_result_languages ON   "shadow".result USING btree (result_languages);
670
CREATE INDEX result_result_projects ON   "shadow".result USING btree (result_projects);
671
CREATE INDEX result_result_topics ON   "shadow".result USING btree (result_topics);
672
CREATE INDEX result_year ON   "shadow".result USING btree (year);
673
CREATE INDEX result_date ON   "shadow"."result" USING btree ("date");
674 30019 eri.katsar
CREATE INDEX result_type ON   "shadow"."result" USING btree ("type");
675
676
677 29995 eri.katsar
CREATE INDEX project_acronym ON   "shadow"."project" USING btree (acronym);
678
CREATE INDEX project_enddate ON   "shadow"."project" USING btree (enddate);
679
CREATE INDEX project_id ON   "shadow"."project" USING btree (id);
680
CREATE INDEX project_project_results ON   "shadow"."project" USING btree (project_results);
681
CREATE INDEX project_results_result ON   "shadow"."project_results" USING btree (result);
682
CREATE INDEX project_results_project ON   "shadow"."project_results" USING btree (id);
683 38736 eri.katsar
684 45523 tsampikos.
CREATE INDEX result_oids_id ON "shadow".result_oids USING btree (id COLLATE pg_catalog."default");
685
CREATE INDEX result_oids_oid ON "shadow".result_oids USING btree(orid COLLATE pg_catalog."default");
686 38736 eri.katsar
687 47072 tsampikos.
CREATE INDEX result_pids_id ON "shadow".result_pids USING btree (id COLLATE pg_catalog."default");
688
CREATE INDEX result_pids_type ON "shadow".result_pids USING btree (type COLLATE pg_catalog."default");
689
CREATE INDEX result_pids_pid ON "shadow".result_pids USING btree(pid COLLATE pg_catalog."default");
690 39008 eri.katsar
691
692 47370 tsampikos.
CREATE INDEX datasource_oids_id ON "shadow".datasource_oids USING btree (id COLLATE pg_catalog."default");
693
CREATE INDEX datasource_oids_orid ON "shadow".datasource_oids USING btree(orid COLLATE pg_catalog."default");
694 39008 eri.katsar
695
696
697 38736 eri.katsar
CREATE INDEX datasource_lang_id
698
   ON shadow.datasource_languages (id ASC NULLS LAST);
699
700
CREATE INDEX dtsrc_org_id
701
  ON shadow.datasource_organizations
702
  USING btree
703
  (id COLLATE pg_catalog."default");
704
705
CREATE INDEX res_class_type
706
  ON shadow.result_classifications
707
  USING btree
708
  (type COLLATE pg_catalog."default");
709
710
CREATE INDEX res_class_id
711
  ON shadow.result_classifications
712
  USING btree
713
  (id COLLATE pg_catalog."default");
714
715
CREATE INDEX res_dtsrc_dtsrc
716
  ON shadow.result_datasources
717
  USING btree
718
  (datasource COLLATE pg_catalog."default");
719
720
CREATE INDEX res_dtsrc_id
721
  ON shadow.result_datasources
722
  USING btree
723
  (id COLLATE pg_catalog."default");
724
725
CREATE INDEX res_lang_lang
726
  ON shadow.result_languages
727
  USING btree
728
  (language COLLATE pg_catalog."default");
729
730
CREATE INDEX org_id
731
  ON shadow.organization
732
  USING btree
733
  (id COLLATE pg_catalog."default");
734
735
CREATE INDEX org_country
736
  ON shadow.organization
737
  USING btree
738
  (country COLLATE pg_catalog."default");
739
740
CREATE INDEX org_dtsrc
741
  ON shadow.organization
742
  USING btree
743
  (organization_datasources COLLATE pg_catalog."default");
744
745
CREATE INDEX org_proj
746
  ON shadow.organization
747
  USING btree
748
  (organization_projects COLLATE pg_catalog."default");
749
750
CREATE INDEX proj_funder
751
  ON shadow.project
752
  USING btree
753
  (funder COLLATE pg_catalog."default");
754
755
CREATE INDEX proj_title
756
  ON shadow.project
757
  USING btree
758
  (title COLLATE pg_catalog."default");
759
760
CREATE INDEX proj_fndlvl0
761
  ON shadow.project
762
  USING btree
763
  (funding_lvl0 COLLATE pg_catalog."default");
764
765
766
CREATE INDEX proj_fndlvl1
767
  ON shadow.project
768
  USING btree
769
  (funding_lvl1 COLLATE pg_catalog."default");
770
771
CREATE INDEX proj_fndlvl2
772
  ON shadow.project
773
  USING btree
774
  (funding_lvl2 COLLATE pg_catalog."default");
775
776
777
CREATE INDEX proj_org_org
778
  ON shadow.project_organizations
779
  USING btree
780
  (organization COLLATE pg_catalog."default");
781
782
CREATE INDEX proj_org_id
783
  ON shadow.project_organizations
784
  USING btree
785
  (id COLLATE pg_catalog."default");
786
787 39008 eri.katsar
788
789
790
791
792 42734 eri.katsar
793 39008 eri.katsar
CREATE INDEX res_res_id
794
  ON shadow.result_results
795
  USING btree
796
  (id COLLATE pg_catalog."default");
797
798
799
800
CREATE INDEX res_res_res
801
  ON shadow.result_results
802
  USING btree
803
  (result COLLATE pg_catalog."default");
804
805
CREATE INDEX res_lang_id
806
  ON shadow.result_languages
807
  USING btree
808
  (id COLLATE pg_catalog."default");
809
CREATE INDEX res_conc_id
810
  ON shadow.result_concepts
811
  USING btree
812
  (id COLLATE pg_catalog."default");
813
814
CREATE INDEX res_conc_conc
815
  ON shadow.result_concepts
816
  USING btree
817
  (concept COLLATE pg_catalog."default");
818
819
CREATE INDEX res_class
820
  ON shadow.result
821
  USING btree
822
  (result_classifications COLLATE pg_catalog."default");
823
824
CREATE INDEX res_bestlicense
825
  ON shadow.result
826
  USING btree
827
  (bestlicense COLLATE pg_catalog."default");
828
829
CREATE INDEX proj_sc39
830
  ON shadow.project
831
  USING btree
832
  (sc39 COLLATE pg_catalog."default");
833
CREATE INDEX proj_fndlvl3
834
  ON shadow.project
835
  USING btree
836
  (funding_lvl3 COLLATE pg_catalog."default");
837
838
CREATE INDEX dtsrc_type
839
  ON shadow.datasource
840
  USING btree
841
  (type COLLATE pg_catalog."default");
842
843
CREATE INDEX dtsrc_name
844
  ON shadow.datasource
845
  USING btree
846
  (name COLLATE pg_catalog."default");
847
848
CREATE INDEX dtsrc_compatibility
849
  ON shadow.datasource
850
  USING btree
851
  (compatibility COLLATE pg_catalog."default");
852
853
CREATE INDEX org_name
854
  ON shadow.organization
855
  USING btree
856
  (name COLLATE pg_catalog."default");
857
858
CREATE INDEX dtsrc_org_org
859
  ON shadow.datasource_organizations
860
  USING btree
861
  (organization COLLATE pg_catalog."default");
862
863 42734 eri.katsar
864 29995 eri.katsar
  END;$$;
865
866
867
ALTER FUNCTION shadow.create_indexes() OWNER TO sqoop;
868
869
--
870
-- Name: create_views(); Type: FUNCTION; Schema: shadow; Owner: sqoop
871
--
872
873
CREATE or replace FUNCTION "shadow".create_views() RETURNS void
874
    LANGUAGE plpgsql
875
    AS $$
876 42734 eri.katsar
877 29995 eri.katsar
BEGIN
878 41790 eri.katsar
879 42734 eri.katsar
CREATE OR REPLACE    VIEW  "shadow".datasource_results   as  SELECT datasource as id  , id  as  result FROM "shadow".result_datasources ;
880 41790 eri.katsar
881 42734 eri.katsar
CREATE OR REPLACE   VIEW "shadow".organization_datasources as SELECT   organization  as id , id as datasource  FROM "shadow".datasource_organizations ;
882 41790 eri.katsar
883 42734 eri.katsar
CREATE OR REPLACE   VIEW "shadow".organization_projects as SELECT  id  as project, organization as id FROM "shadow".project_organizations ;
884 41790 eri.katsar
885
886 29995 eri.katsar
887 30019 eri.katsar
CREATE OR REPLACE VIEW shadow.result_projects AS SELECT  shadow.project_results.result AS id,
888 42734 eri.katsar
  shadow.project_results.id AS project, ( select to_date("shadow"."result"."date", 'YYYY-MM-DD')- to_date("shadow"."project"."enddate", 'YYYY-MM-DD')
889
   from shadow.result, shadow.project where shadow.result.id =  shadow.project_results.result
890 30019 eri.katsar
   and shadow.project_results.id= shadow.project.id and shadow.result.type='publication' )
891 30043 eri.katsar
 as daysfromend FROM shadow.project_results;
892 42734 eri.katsar
893
 CREATE OR REPLACE   VIEW "shadow".datasource_topics AS
894 29995 eri.katsar
 SELECT distinct "shadow".datasource.id, "shadow".result_topics.topic
895
   FROM "shadow".datasource, "shadow".datasource_results, "shadow".result, "shadow".result_topics
896 42734 eri.katsar
  WHERE "shadow".datasource.datasource_results = "shadow".datasource_results.id AND "shadow".datasource_results.result = "shadow".result.id AND
897 29995 eri.katsar
  "shadow".result_topics.id = "shadow".result.result_topics;
898 42734 eri.katsar
899
900 29995 eri.katsar
  END;$$;
901 47256 tsampikos.
--
902
-- Name: create_charts(); Type: FUNCTION; Schema: shadow; Owner: sqoop
903
--
904 31905 eri.katsar
905 47256 tsampikos.
CREATE or replace FUNCTION "shadow".create_charts() RETURNS void
906
    LANGUAGE plpgsql
907
    AS $$
908
909
BEGIN
910
911 48302 tsampikos.
-- country nums
912
CREATE TABLE "shadow".numbers_country AS SELECT org.country AS country, count(distinct rd.datasource) AS datasources, count(distinct r.id) AS publications FROM "shadow".result r, "shadow".result_datasources rd, "shadow".datasource d, "shadow".datasource_organizations dor, "shadow".organization org WHERE r.id=rd.id AND rd.datasource=d.id AND d.id=dor.id AND dor.organization=org.id AND r.type='publication' AND r.bestlicense='Open Access' GROUP BY org.country;
913
914
-- country charts
915
CREATE TABLE "shadow".chart_country_year AS SELECT org.country AS country, r.year AS year, count(distinct r.id) AS publications FROM "shadow".result r, "shadow".result_datasources rd, "shadow".datasource d, "shadow".datasource_organizations dor, "shadow".organization org WHERE r.id=rd.id AND rd.datasource=d.id AND rd.datasource=dor.id AND dor.organization=org.id AND r.type='publication' AND r.bestlicense='Open Access' and r.year>='1990' AND r.year<=extract(YEAR from now()) group by org.country, r.year ORDER BY org.country, r.year;
916
CREATE TABLE "shadow".chart_country_datasources AS SELECT org.country AS country, d.name AS datasource, count(distinct r.id) AS publications FROM "shadow".result r, "shadow".result_datasources rd, "shadow".datasource d, "shadow".datasource_organizations dor, "shadow".organization org WHERE r.id=rd.id AND rd.datasource=d.id AND d.id=dor.id AND dor.organization=org.id AND r.type='publication' AND r.bestlicense='Open Access' GROUP BY org.country, d.name ORDER BY org.country, count(distinct r.id) DESC;
917
CREATE TABLE "shadow".chart_country_type AS SELECT org.country AS country, rc.type AS type, count(distinct r.id) AS publications FROM "shadow".result r, "shadow".result_datasources rd, "shadow".datasource d, "shadow".result_classifications rc, "shadow".datasource_organizations dor, "shadow".organization org WHERE r.id=rd.id AND r.id=rc.id AND rd.datasource=d.id AND rd.datasource=dor.id AND dor.organization=org.id AND r.type='publication' AND r.bestlicense='Open Access' GROUP BY org.country, rc.type;
918
CREATE TABLE "shadow".chart_country_fp7 AS SELECT org.country AS country, r.year AS year, count(distinct r.id) AS publications FROM "shadow".result r, "shadow".result_datasources rd, "shadow".datasource d, "shadow".datasource_organizations dor, "shadow".organization org, "shadow".project_results pr, "shadow".project p WHERE r.id=rd.id AND rd.datasource=d.id AND rd.datasource=dor.id AND dor.organization=org.id AND r.id=pr.result AND pr.id=p.id AND p.funding_lvl0='FP7' AND r.type='publication' AND r.year>='1990' AND r.year<=extract(YEAR from now()) GROUP BY org.country, r.year ORDER BY org.country, r.year;
919
920 47311 tsampikos.
-- datasource charts
921 47350 tsampikos.
CREATE TABLE "shadow".chart_datasource_type AS SELECT rd.datasource, rc.type, count(distinct rd.id) FROM "shadow".result_datasources rd, "shadow".result_classifications rc WHERE rd.id=rc.id GROUP BY rd.datasource, rc.type;
922
CREATE TABLE "shadow".chart_datasource_year AS SELECT rd.datasource, r.year, count(distinct rd.id) FROM "shadow".result r, "shadow".result_datasources rd WHERE rd.id=r.id GROUP By rd.datasource, r.year;
923
CREATE TABLE "shadow".chart_datasource_funders AS SELECT rd.datasource, p.funder, count(distinct rd.id) FROM "shadow".result_datasources rd, "shadow".project p, "shadow".project_results pr WHERE p.id=pr.id AND pr.result=rd.id GROUP BY rd.datasource, p.funder;
924
CREATE TABLE "shadow".chart_datasource_projects AS SELECT rd.datasource, p.title, count(distinct rd.id) FROM "shadow".result_datasources rd, "shadow".project p, "shadow".project_results pr WHERE p.id=pr.id AND pr.result=rd.id GROUP BY rd.datasource, p.title;
925 47256 tsampikos.
926 47311 tsampikos.
-- project charts
927 48611 tsampikos.
CREATE TABLE "shadow".chart_project_year AS SELECT p.id, r.year, count( distinct r.id) FROM "shadow".result r, "shadow".result_projects rp, "shadow".project p WHERE r.id=rp.id AND p.id=rp.project AND r.year>=p.start_year AND r.year<=p.end_year GROUP BY p.id, r.year;
928
CREATE TABLE "shadow".chart_project_license AS SELECT pr.id, r.bestlicense, count(distinct r.id) FROM "shadow".result r, "shadow".project_results pr WHERE r.id=pr.result AND r.type='publication' GROUP BY pr.id, r.bestlicense;
929
CREATE TABLE "shadow".chart_project_repos AS SELECT pr.id, d.name, count (distinct r.id) FROM "shadow".result r, "shadow".project_results pr, "shadow".datasource d, "shadow".datasource_results dr WHERE r.id=dr.result AND d.id=dr.id AND r.id=pr.result AND r.type='publication' GROUP BY pr.id, d.name;
930 47311 tsampikos.
931 47256 tsampikos.
  END;$$;
932
933 47072 tsampikos.
--
934 47256 tsampikos.
-- Name: create_charts(); Type: FUNCTION; Schema: shadow; Owner: sqoop
935
--
936
937
CREATE or replace FUNCTION "shadow".create_chart_indexes() RETURNS void
938
    LANGUAGE plpgsql
939
    AS $$
940
941
BEGIN
942
943 48302 tsampikos.
-- country nums
944
CREATE INDEX numbers_country_country ON "shadow".numbers_country USING btree(country);
945
946
-- country charts
947
CREATE INDEX chart_country_year_country ON "shadow".chart_country_year USING btree(country);
948
CREATE INDEX chart_country_datasources_country ON "shadow".chart_country_datasources USING btree(country);
949
CREATE INDEX chart_country_type_country ON "shadow".chart_country_type USING btree(country);
950
CREATE INDEX chart_country_fp7_country ON "shadow".chart_country_fp7 USING btree(country);
951
952 47311 tsampikos.
-- datasource
953
CREATE INDEX chart_datasource_type_datasource ON "shadow".chart_datasource_type USING btree(datasource);
954 47256 tsampikos.
CREATE INDEX chart_datasource_year_datasource ON "shadow".chart_datasource_year USING btree(datasource);
955
CREATE INDEX chart_datasource_funders_datasource ON "shadow".chart_datasource_funders USING btree(datasource);
956
CREATE INDEX chart_datasource_projects_datasource ON "shadow".chart_datasource_projects USING btree(datasource);
957
958 47311 tsampikos.
-- project
959 48550 tsampikos.
CREATE INDEX chart_project_year_id ON "shadow".chart_project_year USING btree(id);
960
CREATE INDEX chart_project_license_id ON "shadow".chart_project_license USING btree(id);
961
CREATE INDEX chart_project_repos_id ON "shadow".chart_project_repos USING btree(id);
962 47256 tsampikos.
963 47311 tsampikos.
964 47256 tsampikos.
  END;$$;
965
966
--
967 47072 tsampikos.
-- Name: clean_tables(); Type: FUNCTION; Schema: shadow; Owner: sqoop
968
--
969 31905 eri.katsar
970 47072 tsampikos.
CREATE or replace FUNCTION "shadow".clean_tables() RETURNS void
971
    LANGUAGE plpgsql
972
    AS $$
973
BEGIN
974
975
CREATE TABLE "shadow".rd_distinct AS SELECT DISTINCT * FROM "shadow".result_datasources;
976
TRUNCATE "shadow".result_datasources;
977 48310 tsampikos.
INSERT INTO "shadow".result_datasources SELECT * FROM "shadow".rd_distinct ORDER BY datasource;
978 47072 tsampikos.
DROP TABLE "shadow".rd_distinct;
979
980
981
  END;$$;
982
983 32831 eri.katsar
--DROP type if exists  infra_report_rec  cascade;
984 31905 eri.katsar
985 32831 eri.katsar
--CREATE TYPE  infra_report_rec as
986
--(Publications varchar(50), Open_Access_Publications varchar(50),
987
 --FP7_Publications varchar(50), FP7_Closed_Access_Publications varchar(50),
988
 --FP7_Open_Access_Publications varchar(50),
989
 --FP7_Restricted_Access_Publications varchar(50), FP7_Embargo_Publications varchar(50) );
990 31905 eri.katsar
991 32831 eri.katsar
--CREATE OR REPLACE FUNCTION shadow.getInfraReports()
992
--  RETURNS   infra_report_rec
993
--AS
994
--  $$
995
--DECLARE
996
--  result_record infra_report_rec;
997
--BEGIN
998
--
999
--  SELECT count(*)  INTO result_record.Publications  FROM shadow.result where type='publication';
1000
--  SELECT count(*)   INTO result_record.Open_Access_Publications FROM shadow.result WHERE bestlicense='Open Access' and type='publication';
1001
--
1002
--SELECT count (distinct result_projects.id) INTO result_record.FP7_Publications FROM shadow.result, shadow.result_projects, shadow.project
1003
--WHERE result.result_projects = result_projects.id and type='publication' and result_projects.project = project.id and funding_lvl0 = 'FP7';
1004
--
1005
--SELECT count (distinct shadow.result_projects.id)
1006
--	INTO result_record.FP7_Closed_Access_Publications
1007
--	FROM shadow.result,
1008
--	shadow.result_projects,
1009
--	shadow.project
1010
--	WHERE result.result_projects = result_projects.id
1011
--	AND result_projects.project = project.id
1012
--	AND funding_lvl0 = 'FP7'
1013
--	AND bestlicense='Closed Access'
1014
--	AND type='publication';
1015
--
1016
--
1017
--SELECT count(distinct result_projects.id) INTO result_record.FP7_Open_Access_Publications  FROM shadow.result,
1018
-- shadow.result_projects,  shadow.project
1019
-- WHERE result_projects = result_projects.id AND result_projects.project = project.id and type='publication' and funding_lvl0 = 'FP7' and bestlicense='Open Access';
1020
--
1021
--SELECT count(distinct result_projects.id) INTO result_record.FP7_Restricted_Access_Publications
1022
-- FROM shadow.result, shadow.result_projects, shadow.project
1023
--  WHERE result.result_projects=result_projects.id
1024
--   AND result_projects.project = project.id and funding_lvl0 = 'FP7' and bestlicense='Restricted' and type='publication';
1025
--
1026
--
1027
--SELECT count(distinct result_projects.id)  INTO result_record.FP7_Embargo_Publications FROM shadow.result, shadow.result_projects, shadow.project
1028
--WHERE result.result_projects = result_projects.id AND result_projects.project = project.id and funding_lvl0 = 'FP7' and bestlicense='Embargo' and type='publication';
1029
--
1030
--RETURN result_record;
1031
--
1032
--END
1033
--$$ LANGUAGE plpgsql;
1034
--
1035
--drop type if exists fp7_report_rec cascade;
1036
--
1037
--CREATE TYPE fp7_report_rec as
1038
--(FP7_Publications varchar(50),
1039
-- FP7_Projects varchar(50),
1040
-- FP7_SC39_Projects varchar(50),
1041
-- FP7_SC39_Publications varchar(50),
1042
-- FP7_SC39_Open_Access varchar(50));
1043
--
1044
--
1045
--CREATE OR REPLACE FUNCTION shadow.getFp7Reports()
1046
--  RETURNS   fp7_report_rec
1047
--AS
1048
--  $$
1049
--
1050
--DECLARE
1051
--  result_record fp7_report_rec;
1052
--
1053
--BEGIN
1054
--
1055
----FP7 WITH PUBS
1056
--SELECT count(distinct project.id) into result_record.FP7_Publications FROM shadow.result, shadow.result_projects, shadow.project
1057
--WHERE result.result_projects = result_projects.id and type='publication'
1058
-- and result_projects.project = project.id and funding_lvl0='FP7' ;
1059
--
1060
--SELECT count(id) into result_record.FP7_Projects FROM shadow.project WHERE funding_lvl0 = 'FP7';
1061
--  SELECT count(number) into result_record.FP7_SC39_Projects from shadow.project where funding_lvl0='FP7' and sc39='yes';
1062
--
1063
--SELECT count(distinct project.id) into result_record.FP7_SC39_Publications FROM  shadow.result, shadow.result_projects, shadow.project
1064
--  WHERE result_projects.project=project.id and funding_lvl0 = 'FP7' and sc39='yes' and result.result_projects = result_projects.id and type='publication';
1065
--
1066
--SELECT count(distinct result_projects.id) into result_record.FP7_SC39_Open_Access  FROM shadow.result, shadow.result_projects, shadow.project
1067
-- WHERE result.result_projects = result_projects.id AND result_projects.project = project.id and funding_lvl0 = 'FP7' and bestlicense='Open Access' and sc39='yes' and type='publication';
1068
--
1069
--RETURN result_record;
1070
--
1071
--END
1072
--$$ LANGUAGE plpgsql;
1073
--
1074
--
1075
--drop type wt_report_rec cascade;
1076
--
1077
--CREATE TYPE wt_report_rec as
1078
--(WT_Publications varchar(50),
1079
-- WT_Projects varchar(50),
1080
-- WT_Open_Access varchar(50),
1081
-- WT_Restricted_Access varchar(50),
1082
-- WT_Embargo varchar(50));
1083
--
1084
--
1085
--CREATE OR REPLACE FUNCTION shadow.getWTReports()
1086
--  RETURNS   wt_report_rec
1087
--AS
1088
--  $$
1089
--
1090
--DECLARE
1091
--  result_record wt_report_rec;
1092
--
1093
--BEGIN
1094
--
1095
--SELECT count(distinct project.id)  into result_record.WT_Publications  FROM shadow.result, shadow.project, shadow.result_projects
1096
--where result_projects.project = project.id and project.funding_lvl0='WT' and result.result_projects = result_projects.id and type='publication';
1097
--
1098
--SELECT count(id)  into  result_record.WT_Projects FROM project WHERE funding_lvl0 = 'WT';
1099
--
1100
--SELECT count(distinct result_projects.id)   into  result_record.WT_Open_Access  FROM shadow.result, shadow.result_projects, shadow.project WHERE result.result_projects= result_projects.id
1101
--AND result_projects.project = project.id and funding_lvl0 = 'WT' and bestlicense='Open Access' and type='publication';
1102
--
1103
--SELECT count(distinct result_projects.id)  into  result_record.WT_Restricted_Access   FROM shadow.result, shadow.result_projects,
1104
--shadow.project WHERE result.result_projects = result_projects.id AND
1105
--result_projects.project = project.id and funding_lvl0 = 'WT' and
1106
--bestlicense='Restricted' and type='publication';
1107
--
1108
--SELECT count(distinct result_projects.id) into  result_record.WT_Embargo    FROM shadow.result, shadow.result_projects, shadow.project
1109
--WHERE result.result_projects=result_projects.id AND result_projects.project = project.id and funding_lvl0 = 'WT'
1110
--and bestlicense='Embargo' and type='publication';
1111
--
1112
--RETURN result_record;
1113
--
1114
--END
1115
--$$ LANGUAGE plpgsql;
1116
--
1117
--
1118
--
1119
--drop type if exists erc_report_rec cascade;
1120
--
1121
--CREATE TYPE erc_report_rec as
1122
--(ERC_Publications varchar(50),
1123
-- ERC_Projects varchar(50),
1124
-- ERC_Open_Access  varchar(50),
1125
-- ERC_Restricted_Access  varchar(50),
1126
-- ERC_Embargo varchar(50));
1127
--
1128
--
1129
--
1130
--CREATE OR REPLACE FUNCTION shadow.getERCReports()
1131
--  RETURNS   erc_report_rec
1132
--AS
1133
--  $$
1134
--
1135
--DECLARE
1136
--  result_record erc_report_rec;
1137
--
1138
--BEGIN
1139
--
1140
--SELECT count(distinct project.id) into result_record.ERC_Publications FROM shadow.result, shadow.project, shadow.result_projects
1141
--where result_projects.project = project.id and project.funding_lvl2='ERC' and result.result_projects = result_projects.id and type='publication';
1142
--
1143
--SELECT count(id)  into result_record.ERC_Projects FROM shadow.project WHERE funding_lvl2 = 'ERC';
1144
--
1145
--
1146
--SELECT count(distinct result_projects.id) into result_record.ERC_Open_Access FROM shadow.result,
1147
--shadow.result_projects, shadow.project WHERE result.result_projects= result_projects.id
1148
--AND result_projects.project = project.id and funding_lvl2 = 'ERC' and bestlicense='Open Access' and type='publication';
1149
--
1150
--
1151
--SELECT count(distinct result_projects.id)  into result_record.ERC_Restricted_Access FROM shadow.result, shadow.result_projects, shadow.project WHERE
1152
-- result.result_projects = result_projects.id AND result_projects.project = project.id and funding_lvl2 = 'ERC' and bestlicense='Restricted' and type='publication';
1153
--
1154
--SELECT count(distinct result_projects.id)  into result_record.ERC_Embargo FROM shadow.result, shadow.result_projects, shadow.project
1155
--	WHERE result.result_projects=result_projects.id AND result_projects.project = project.id and funding_lvl2 = 'ERC' and bestlicense='Embargo' and type='publication';
1156
--
1157
--
1158
--RETURN result_record;
1159
--
1160
--END
1161
--$$ LANGUAGE plpgsql;
1162 31905 eri.katsar
1163 27955 claudio.at
-- sqoopQL database dump complete
1164 39008 eri.katsar
--