Robert Haas <robertmh...@gmail.com> writes:
> I took a look at this tonight and am a bit mystified by the following bit:

> +                       /*
> +                        * PL doesn't calculate first row of function's body
> +                        * when first row is empty. So checks first row, and
> +                        * correct lineno when it is necessary.
> +                        */

> Is that true of any PL, or just some particular PL?

plpgsql has an old bit of logic that deliberately ignores an initial
newline in the function body:

    /*----------
     * Hack: skip any initial newline, so that in the common coding layout
     *        CREATE FUNCTION ... AS $$
     *            code body
     *        $$ LANGUAGE plpgsql;
     * we will think "line 1" is what the programmer thinks of as line 1.
     *----------
     */
    if (*cur_line_start == '\r')
        cur_line_start++;
    if (*cur_line_start == '\n')
        cur_line_start++;

None of the other standard PLs do that AFAIK.

> Is it documented in our documentation?

I don't think so.

                        regards, tom lane

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

Reply via email to