osm_route_member bugfix (#1088)

`!=` is not handling `NULL` values.

Then all networks are `road` and not e.g. `us-interstate` or `ca-transcanada`.
This commit is contained in:
Tomas Pohanka 2021-03-16 10:55:26 +01:00 committed by GitHub
parent 50d569dfee
commit bf9e6a19cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -56,7 +56,7 @@ $$ LANGUAGE sql IMMUTABLE
UPDATE osm_route_member UPDATE osm_route_member
SET network_type = osm_route_member_network_type(network, name, ref) SET network_type = osm_route_member_network_type(network, name, ref)
WHERE network != '' WHERE network != ''
AND network_type != osm_route_member_network_type(network, name, ref) AND network_type IS DISTINCT FROM osm_route_member_network_type(network, name, ref)
; ;
CREATE OR REPLACE FUNCTION update_osm_route_member() RETURNS void AS CREATE OR REPLACE FUNCTION update_osm_route_member() RETURNS void AS
@ -80,7 +80,7 @@ BEGIN
SET network_type = osm_route_member_network_type(network, name, ref) SET network_type = osm_route_member_network_type(network, name, ref)
FROM transportation_name.network_changes AS c FROM transportation_name.network_changes AS c
WHERE network != '' WHERE network != ''
AND network_type != osm_route_member_network_type(network, name, ref) AND network_type IS DISTINCT FROM osm_route_member_network_type(network, name, ref)
AND r.member = c.osm_id; AND r.member = c.osm_id;
END; END;
$$ LANGUAGE plpgsql; $$ LANGUAGE plpgsql;