From: | "Richard Huxton" <dev(at)archonet(dot)com> |
---|---|
To: | <pgsql-hackers(at)postgresql(dot)org> |
Subject: | RAISE <level> <expr> <params>: state of play and request for advice |
Date: | 2001-07-24 13:55:18 |
Message-ID: | 001101c11448$495fcae0$1001a8c0@archonet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
OK, so I've defined a grammar for string_expr, which means the following
currently works:
CREATE FUNCTION foo_raise_loop(text) RETURNS text AS '
DECLARE
a ALIAS FOR $1;
i integer;
myrec RECORD;
BEGIN
i:=0;
FOR myrec IN SELECT * FROM colours LOOP
i:=i+1;
RAISE NOTICE a || '' : '' || '' colour % is '' || myrec.c_name ||
''.'', i, myrec.c_id;
END LOOP;
RETURN ''done''::text;
END;' LANGUAGE 'plpgsql';
SELECT foo_raise_loop('Looping (%)');
Which produces (note the % nr Looping gets evaluated):
NOTICE: Looping (1) : colour 1 is red.
NOTICE: Looping (2) : colour 2 is green.
NOTICE: Looping (3) : colour 3 is blue.
What you haven't got are: brackets, casts, function calls, other operators
(can't do i+1).
I'm going to be out of town for a few days then busy for a couple of weeks.
Throw in a week to debug,document and apply against CVS and we're into
August. So - do you want it with current functionality or should I press on?
- Richard Huxton
From | Date | Subject | |
---|---|---|---|
Next Message | Joseph Shraibman | 2001-07-24 19:57:00 | Re: Bad timestamp external representation |
Previous Message | Jean-Michel POURE | 2001-07-24 13:11:31 | Storing XML in PostgreSQL |