I run psql on Mac OS X:

psql (8.4.1, server 8.4.0)

Then paste the following in, having been copied from an XCode editor window:

CREATE OR REPLACE FUNCTION compute_mw_realname (
    nicknames text,
    givennames text,
    surname text
) RETURNS text AS $$
    DECLARE
        first text;
        last text;
    BEGIN
        last := replace (trim (surname), '-', '');
        IF nicknames IS NOT NULL THEN
            first := replace (trim (nicknames), '-', '');
            IF substring (first from 1 + length (first) - length (last))
             = last THEN
                first := trim (substring
                 (first from 1 for length (first) - length (last)));
                IF first = '' THEN
                    first = replace (trim (givennames), '-', '');
                END IF;
            END IF;
        ELSE
            first := replace (trim (givennames), '-', '');
        END IF;
        first = replace (first, '-', '');
        RETURN upper (substring (first from 1 for 1)) ||
         substring (first from 2) || ' ' || last;
    END;
$$ LANGUAGE PLPGSQL IMMUTABLE;

After this executes, which it does successfully, if I use cursor-up to re-display this command, I get an immediate bus error and psql quits.

If I don't use cursor-up, I can continue typing commands, but if I later cursor-up far enough that the above command should be re-displayed then I get the bus error at that time.

Works fine on psql 8.4.1 for Solaris.

Please advise if you would like any more details about the behaviour. I can think of a few things to investigate but none that jumps out as the obvious thing to look into.

Isaac Morland                   CSCF Web Guru
DC 2554C, x36650                WWW Software Specialist

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to