"rlee0001" <robeddielee@xxxxxxxxxxx> writes: > CREATE OR REPLACE FUNCTION "regexp_replacex" (source varchar, pattern > varchar, replacement varchar) RETURNS varchar AS > $body$ > DECLARE > retvalue VARCHAR; > BEGIN > retvalue = "source"; > LOOP > retvalue = REPLACE(retvalue, SUBSTRING(retvalue FROM "pattern"), > "replacement"); > EXIT WHEN retvalue = REPLACE(retvalue, SUBSTRING(retvalue FROM > "pattern"), "replacement"); > END LOOP; > RETURN retvalue; > END; > $body$ > LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; You probably don't want to be double-quoting the variable names. Also, I think this should be marked STRICT IMMUTABLE rather than the options you have chosen. > if you test it and do expect to have to kill the server when it enters > the infinate loop. Control-C cancels the query just fine for me ... regards, tom lane