Followup. Replaced Big Ugly Function with:
CREATE OR REPLACE FUNCTION _my_expand(TEXT) RETURNS TEXT AS $$
-- private func, expand various compact links
DECLARE
str TEXT = $1;
links RECORD;
BEGIN
FOR links IN SELECT short_link, long_link FROM short_links LOOP
str := REGEXP_REPLACE(str, links.short_link, links.long_link, 'g');
END LOOP;
RETURN str;
END
$$ LANGUAGE plpgsql IMMUTABLE;
By the way, those who haven't read this gem should probably do so:
<http://database-programmer.blogspot.com/2008/05/minimize-code-maximize-
data.html>
regards,
--
Leif Biberg Kristensen
http://solumslekt.org/