Revision 6036
Added by Aaron Marcuse-Kubitza over 11 years ago
vegbien.sql | ||
---|---|---|
504 | 504 |
|
505 | 505 |
|
506 | 506 |
-- |
507 |
-- Name: make_family_higher_plant_group(); Type: FUNCTION; Schema: public; Owner: - |
|
508 |
-- |
|
509 |
|
|
510 |
CREATE FUNCTION make_family_higher_plant_group() RETURNS void |
|
511 |
LANGUAGE plpgsql |
|
512 |
AS $$ |
|
513 |
DECLARE |
|
514 |
reference_id_ integer := |
|
515 |
(SELECT reference_id FROM reference WHERE shortname = 'NCBI'); |
|
516 |
row_ higher_plant_group_nodes%ROWTYPE; |
|
517 |
BEGIN |
|
518 |
TRUNCATE family_higher_plant_group; |
|
519 |
|
|
520 |
FOR row_ IN |
|
521 |
SELECT * FROM higher_plant_group_nodes |
|
522 |
ORDER BY higher_plant_group, node_name |
|
523 |
LOOP |
|
524 |
DECLARE |
|
525 |
higher_plant_group_id integer := ( |
|
526 |
SELECT taxonlabel_id FROM taxonlabel |
|
527 |
WHERE reference_id = reference_id_ |
|
528 |
AND taxonomicname = row_.node_name |
|
529 |
); |
|
530 |
family text; |
|
531 |
BEGIN |
|
532 |
FOR family IN |
|
533 |
SELECT taxonepithet |
|
534 |
FROM taxonlabel_relationship |
|
535 |
JOIN taxonlabel ON taxonlabel_id = descendant_id |
|
536 |
WHERE ancestor_id = higher_plant_group_id |
|
537 |
AND rank = 'family' |
|
538 |
AND reference_id = reference_id_ |
|
539 |
LOOP |
|
540 |
BEGIN |
|
541 |
INSERT INTO family_higher_plant_group |
|
542 |
VALUES (family, row_.higher_plant_group) |
|
543 |
; |
|
544 |
EXCEPTION |
|
545 |
WHEN unique_violation THEN NULL; |
|
546 |
END; |
|
547 |
END LOOP; |
|
548 |
END; |
|
549 |
END LOOP; |
|
550 |
END; |
|
551 |
$$; |
|
552 |
|
|
553 |
|
|
554 |
-- |
|
507 | 555 |
-- Name: party_reference_id_self_ref(); Type: FUNCTION; Schema: public; Owner: - |
508 | 556 |
-- |
509 | 557 |
|
... | ... | |
2614 | 2662 |
|
2615 | 2663 |
|
2616 | 2664 |
-- |
2665 |
-- Name: family_higher_plant_group; Type: TABLE; Schema: public; Owner: -; Tablespace: |
|
2666 |
-- |
|
2667 |
|
|
2668 |
CREATE TABLE family_higher_plant_group ( |
|
2669 |
family text NOT NULL, |
|
2670 |
higher_plant_group higher_plant_group |
|
2671 |
); |
|
2672 |
|
|
2673 |
|
|
2674 |
-- |
|
2617 | 2675 |
-- Name: geoscrub_input; Type: TABLE; Schema: public; Owner: -; Tablespace: |
2618 | 2676 |
-- |
2619 | 2677 |
|
... | ... | |
4835 | 4893 |
|
4836 | 4894 |
|
4837 | 4895 |
-- |
4896 |
-- Data for Name: family_higher_plant_group; Type: TABLE DATA; Schema: public; Owner: - |
|
4897 |
-- |
|
4898 |
|
|
4899 |
COPY family_higher_plant_group (family, higher_plant_group) FROM stdin; |
|
4900 |
\. |
|
4901 |
|
|
4902 |
|
|
4903 |
-- |
|
4838 | 4904 |
-- Data for Name: geoscrub_input; Type: TABLE DATA; Schema: public; Owner: - |
4839 | 4905 |
-- |
4840 | 4906 |
|
... | ... | |
5391 | 5457 |
|
5392 | 5458 |
|
5393 | 5459 |
-- |
5460 |
-- Name: family_higher_plant_group_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: |
|
5461 |
-- |
|
5462 |
|
|
5463 |
ALTER TABLE ONLY family_higher_plant_group |
|
5464 |
ADD CONSTRAINT family_higher_plant_group_pkey PRIMARY KEY (family); |
|
5465 |
|
|
5466 |
|
|
5467 |
-- |
|
5394 | 5468 |
-- Name: graphic_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace: |
5395 | 5469 |
-- |
5396 | 5470 |
|
Also available in: Unified diff
schemas/vegbien.sql: Added family_higher_plant_group lookup table, generated with make_family_higher_plant_group() using the contents of higher_plant_group_nodes