Mercurial > gemma
annotate schema/updates/1471/01.fix-sr_in_bn_area-trigger.sql @ 5736:55892008ec96 default tip
Fixed a bunch of corner cases in WG import.
author | Sascha Wilde <wilde@sha-bang.de> |
---|---|
date | Wed, 29 May 2024 19:02:42 +0200 |
parents | 796196f83678 |
children |
rev | line source |
---|---|
5656
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
1 CREATE OR REPLACE FUNCTION check_sr_in_bn_area() RETURNS trigger |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
2 LANGUAGE plpgsql |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
3 AS $$ |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
4 BEGIN |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
5 IF NOT st_intersects((SELECT area |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
6 FROM waterway.bottlenecks |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
7 WHERE bottleneck_id = NEW.bottleneck_id |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
8 AND validity @> NEW.date_info::timestamptz |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
9 AND staging_done), |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
10 NEW.area) |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
11 THEN |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
12 RAISE EXCEPTION |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
13 'new row for relation "%" violates constraint trigger "%"', |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
14 TG_TABLE_NAME, TG_NAME |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
15 USING |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
16 DETAIL = 'Failing row area has no intersection with bottleneck.', |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
17 ERRCODE = 23514, |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
18 SCHEMA = TG_TABLE_SCHEMA, |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
19 TABLE = TG_TABLE_NAME, |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
20 CONSTRAINT = TG_NAME; |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
21 END IF; |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
22 RETURN NEW; |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
23 END; |
796196f83678
Fix check_sr_in_bn_area trigger function to only use staging_done bn.
Sascha Wilde <wilde@sha-bang.de>
parents:
diff
changeset
|
24 $$; |