Handdle various null cases

pull/1620/head
Brian Sperlongano 2024-01-26 19:32:49 -05:00
rodzic 968884b3b4
commit d0128b609c
1 zmienionych plików z 7 dodań i 4 usunięć

Wyświetl plik

@ -35,9 +35,12 @@ $$ LANGUAGE sql IMMUTABLE
CREATE OR REPLACE FUNCTION create_route_hstore(network TEXT, ref TEXT, name TEXT, colour TEXT, ref_colour TEXT)
RETURNS hstore AS $$
SELECT hstore(
ARRAY['network', 'ref', 'name', 'colour'],
ARRAY[network, ref, name, NULLIF(COALESCE(colour, ref_colour), '')]
);
SELECT CASE
WHEN network = '' THEN hstore('')
ELSE hstore(
ARRAY['network', 'ref', 'name', 'colour'],
ARRAY[network, NULLIF(ref, ''), name, NULLIF(COALESCE(colour, ref_colour), '')]
)
END;
$$ LANGUAGE sql IMMUTABLE
PARALLEL SAFE;