diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-09-28 14:47:08 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2021-09-28 14:47:08 +0200 |
| commit | bc30adc7d84aa07a551391f722c1ab7bcaae60ee (patch) | |
| tree | be58c3d88a6ac51e7dbf870b907dadc48da3d8eb /data/sql/customizations_early.sql | |
| parent | f386e22e3604b6268989a04a4749b5bc24b3a632 (diff) | |
| download | PROJ-bc30adc7d84aa07a551391f722c1ab7bcaae60ee.tar.gz PROJ-bc30adc7d84aa07a551391f722c1ab7bcaae60ee.zip | |
Database: add check for Orthographic conversion
Diffstat (limited to 'data/sql/customizations_early.sql')
| -rw-r--r-- | data/sql/customizations_early.sql | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/data/sql/customizations_early.sql b/data/sql/customizations_early.sql index 7f9505df..fceef235 100644 --- a/data/sql/customizations_early.sql +++ b/data/sql/customizations_early.sql @@ -4,3 +4,14 @@ INSERT INTO "extent" VALUES('PROJ','EXTENT_UNKNOWN','Not specified','Not specifi INSERT INTO "scope" VALUES('PROJ','SCOPE_UNKNOWN','Not known.',0); INSERT INTO celestial_body VALUES('PROJ', 'EARTH', 'Earth', 6378137.0); + + + +CREATE TRIGGER conversion_method_check_insert_trigger_orthographic +INSTEAD OF INSERT ON conversion +BEGIN + + SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Orthographic') + WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9840' AND (NEW.method_name != 'Orthographic' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8806' OR NEW.param3_name != 'False easting' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8807' OR NEW.param4_name != 'False northing' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL); + +END; |
