From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | David Johnston <polobo(at)yahoo(dot)com> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: Re: BUG #8633: Assigning to a variable named "current_time" gives wrong output |
Date: | 2013-11-27 18:13:51 |
Message-ID: | 19673.1385576031@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
David Johnston <polobo(at)yahoo(dot)com> writes:
> bricklen wrote
>> I don't think this is a bug, "current_time" is a reserved word. See
>> http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html
> Agreed; though I am curious why this does not throw an error during the
> declaration or assignment. A spurious parser error would be welcomed
> compared to silently ignoring the requested action.
Well, it's not "ignoring the action", it's just that the keyword meaning
now takes precedence in expressions. We changed that in 9.0 I believe.
We could possibly throw an error if you use a SQL reserved word in a
declaration without double-quoting it. That wouldn't be a complete fix,
because if you did that and then forgot to double-quote the name in
expressions, it'd still do the wrong thing. But this might at least
help you remember you need to do that.
I think though that at one time it was considered a feature that we
didn't insist on double-quoting plpgsql variable names unnecessarily.
Don't know if changing this would be a net improvement for everyone.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | David Johnston | 2013-11-27 18:26:15 | Re: BUG #8633: Assigning to a variable named "current_time" gives wrong output |
Previous Message | jjeffman | 2013-11-27 17:45:02 | BUG #8639: installation failure |