| From: | Neil Conway <neilc(at)samurai(dot)com> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | pgsql-patches <pgsql-patches(at)postgresql(dot)org> | 
| Subject: | Re: WIP: pl/pgsql cleanup | 
| Date: | 2005-02-10 04:27:10 | 
| Message-ID: | 1108009630.1286.142.camel@localhost.localdomain | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-patches | 
Another version of the patch is attached. Changes:
- clean up grammar so that read_sql_construct() is always called to read
a well-formed SQL expression. That way we can check for errors in
embedded SQL by just adding a single function call to
read_sql_construct(), rather than adding calls at most of its call
sites.
- changed location of array overflow checks per Tom
- mostly fixed error message formatting for syntax errors in PL/PgSQL. I
found this part of the ereport() framework rather confusing. The patch
currently emits errors like:
create function bad_sql1() returns int as $$
declare a int;
begin
    a := 5;
    Johnny Yuma;
    a := 10;
    return a;
end$$ language 'plpgsql';
ERROR:  syntax error at or near "Johnny"
CONTEXT:  SQL statement embedded in PL/PgSQL function "bad_sql1" near
line 4
Any suggestions for improvement would be welcome.
Barring any objections, I'd like to apply this patch to HEAD tomorrow.
-Neil
| Attachment | Content-Type | Size | 
|---|---|---|
| plpgsql_cleanup-26.patch.gz | application/x-gzip | 23.5 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2005-02-10 04:57:07 | Re: WIP: pl/pgsql cleanup | 
| Previous Message | Bruce Momjian | 2005-02-10 02:59:11 | Re: dbsize patch |