| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | "Andrew Dunstan" <andrew(at)dunslane(dot)net> |
| Cc: | all(at)adv(dot)magwien(dot)gv(dot)at, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: PL/pgSQL 'i = i + 1' Syntax |
| Date: | 2006-05-17 14:11:39 |
| Message-ID: | 19568.1147875099@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
"Andrew Dunstan" <andrew(at)dunslane(dot)net> writes:
> Albe Laurenz said:
>> ERROR at line 3:
>> ORA-06550: line 3, column 7:
>> PLS-00363: expression 'I' cannot be used as an assignment target
>> ORA-06550: line 3, column 7:
>> PL/SQL: Statement ignored
>>
>> And the documentation also explicitly states that it is not allowed.
> So should we if it can be done conveniently. That might be a big IF - IIRC
> many Pascal compilers ignore the similar language rule because implementing
> it is a pain in the neck.
Since we already have the notion of a "const" variable in plpgsql,
I think it might work to just mark the loop variable as const.
>> By the way, PL/SQL screams if you want to do an assignment with '='.
>> But I guess that the current behaviour of PL/pgSQL should not reflect
>> that to maintain backward compatibility, right?
> I think it should. The current behaviour is undocumented and more than icky.
The lack of documentation is easily fixed ;-). I don't think this is
icky enough to justify breaking all the existing functions we'd
undoubtedly break if we changed it.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Cristiano Duarte | 2006-05-17 14:19:01 | Re: [BUGS] BUG #2429: Explain does not report object's schema |
| Previous Message | Tom Lane | 2006-05-17 14:01:18 | Re: does wal archiving block the current client connection? |