Обсуждение: returning does not act as expected after viewing documentation
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/11/dml-returning.html Description: With the following query: update batch_log set status=('in-progress'), updated_at=now() where status = ('pending') and id = ( select id from batch_log where status = ('pending') order by priority desc, updated_at asc limit 1 ) returning id, batch_log.update_at ; I get the following error message: column batch_log.update_at does not exist LINE 14: returning id, batch_log.update_at HINT: Perhaps you meant to reference the column "batch_log.updated_at". This does not make a whole lot of sense. It is recommending that I do what I am doing! Also I don't see why this would fail. I am on PostgreSQL 11 latest official docker image as of today's date (2019-09-23).
On Mon, Sep 23, 2019 at 2:45 PM PG Doc comments form <noreply@postgresql.org> wrote:
update batch_log
set status=('in-progress'),
updated_at=now()
[...]
returning id, batch_log.update_at
;
column batch_log.update_at does not exist
LINE 14: returning id, batch_log.update_at
HINT: Perhaps you meant to reference the column "batch_log.updated_at".
This does not make a whole lot of sense. It is recommending that I do what I
am doing!
Also I don't see why this would fail.
Its informing you, apparently correctly, of a possible typo in your query. You wrote: returning ... "batch_log.update_at" but the spelling for that field is in past tense "batch_log.updated_at" - note the "d" on the end of the word "update".
David J.
Facepalm.
Please disregard my rookie mistake!
On Tue, Sep 24, 2019, 00:18 David G. Johnston <david.g.johnston@gmail.com> wrote:
On Mon, Sep 23, 2019 at 2:45 PM PG Doc comments form <noreply@postgresql.org> wrote:update batch_log
set status=('in-progress'),
updated_at=now()
[...]
returning id, batch_log.update_at
;column batch_log.update_at does not exist
LINE 14: returning id, batch_log.update_at
HINT: Perhaps you meant to reference the column "batch_log.updated_at".
This does not make a whole lot of sense. It is recommending that I do what I
am doing!
Also I don't see why this would fail.Its informing you, apparently correctly, of a possible typo in your query. You wrote: returning ... "batch_log.update_at" but the spelling for that field is in past tense "batch_log.updated_at" - note the "d" on the end of the word "update".David J.