Thread: Stored columns: Unexpected varattno in expression to be mapped
Hi all,
as a Postgres user for about half a year, I think I found a bug in psql (PostgreSQL) 12.2 (Debian 12.2-2.pgdg100+1).
Steps to reproduce:
Type the following commands into a PSQL shell:
postgres=# create table mytable (foo text generated always as (bar) stored, bar text);CREATE TABLEpostgres=# create temporary table mytemp1 (like mytable);CREATE TABLEpostgres=# create temporary table mytemp2 (like mytable including all);ERROR: unexpected varattno 2 in expression to be mapped
Considerations:
It looks as if the INCLUDING ALL logic, however it may work, assumes that stored columns can only refer to columns defined before. On the other hand, CREATE TABLE does not enforce this.
So from my naive perspective, either INCLUDING ALL should be fixed not to make this assumption, or CREATE TABLE & Co. should forbid the definition of such columns.
I would be happy if this bug could be fixed in a later release (provided that it has not already been).
Note: Please reply directly to my email address if you want to contact me, I did not subscribe to the bugs list.
Best regards,
Christoph
On Thu, Jul 16, 2020 at 8:59 AM Thiede, Christoph <Christoph.Thiede@student.hpi.uni-potsdam.de> wrote:
as a Postgres user for about half a year, I think I found a bug in psql (PostgreSQL) 12.2 (Debian 12.2-2.pgdg100+1).
Steps to reproduce:
Type the following commands into a PSQL shell:postgres=# create table mytable (foo text generated always as (bar) stored, bar text);CREATE TABLEpostgres=# create temporary table mytemp1 (like mytable);CREATE TABLEpostgres=# create temporary table mytemp2 (like mytable including all);ERROR: unexpected varattno 2 in expression to be mappedI would be happy if this bug could be fixed in a later release (provided that it has not already been).
We have release notes that describe what gets fixed in each minor release (for you there is only one relevant one right now). The notes for 12.3 seem promising but you could just install it and confirm it yourself.
David J.
"Thiede, Christoph" <Christoph.Thiede@student.hpi.uni-potsdam.de> writes: > as a Postgres user for about half a year, I think I found a bug in psql (PostgreSQL) 12.2 (Debian 12.2-2.pgdg100+1). > Steps to reproduce: > postgres=# create table mytable (foo text generated always as (bar) stored, bar text); > CREATE TABLE > postgres=# create temporary table mytemp1 (like mytable); > CREATE TABLE > postgres=# create temporary table mytemp2 (like mytable including all); > ERROR: unexpected varattno 2 in expression to be mapped Thanks for the report! Trying this locally, it seems to work in either HEAD or v12 branch tip, so I think we fixed the bug already. I recall some recent work around this area, so that conclusion is not surprising. What I don't recall is whether those fixes were before or after 12.3. You might find that updating to 12.3 fixes it; if not, it should be fixed in next month's 12.4 release. regards, tom lane
On Thu, Jul 16, 2020 at 12:10:35PM -0400, Tom Lane wrote: > Thanks for the report! Trying this locally, it seems to work in > either HEAD or v12 branch tip, so I think we fixed the bug already. > I recall some recent work around this area, so that conclusion > is not surprising. What I don't recall is whether those fixes > were before or after 12.3. You might find that updating to 12.3 > fixes it; if not, it should be fixed in next month's 12.4 release. 12.3 works properly, so you could just update to the latest minor version already released. Here is the commit: commit: e92e4a2b68fe877677278c1300db1780956c984e author: Peter Eisentraut <peter@eisentraut.org> date: Thu, 9 Apr 2020 16:17:55 +0200 Fix CREATE TABLE LIKE INCLUDING GENERATED column order issue And here is the related thread: https://www.postgresql.org/message-id/16342-50008a509308f4ca@postgresql.org -- Michael
Attachment
Hi all,
thanks for your help! We just upgraded our system to version 12.3 and I can confirm that the issue has been solved. Great!
Best,
Christoph
Von: Michael Paquier <michael@paquier.xyz>
Gesendet: Freitag, 17. Juli 2020 02:50:50
An: Tom Lane
Cc: Thiede, Christoph; pgsql-bugs@lists.postgresql.org
Betreff: Re: Stored columns: Unexpected varattno in expression to be mapped
Gesendet: Freitag, 17. Juli 2020 02:50:50
An: Tom Lane
Cc: Thiede, Christoph; pgsql-bugs@lists.postgresql.org
Betreff: Re: Stored columns: Unexpected varattno in expression to be mapped
On Thu, Jul 16, 2020 at 12:10:35PM -0400, Tom Lane wrote:
> Thanks for the report! Trying this locally, it seems to work in
> either HEAD or v12 branch tip, so I think we fixed the bug already.
> I recall some recent work around this area, so that conclusion
> is not surprising. What I don't recall is whether those fixes
> were before or after 12.3. You might find that updating to 12.3
> fixes it; if not, it should be fixed in next month's 12.4 release.
12.3 works properly, so you could just update to the latest minor
version already released. Here is the commit:
commit: e92e4a2b68fe877677278c1300db1780956c984e
author: Peter Eisentraut <peter@eisentraut.org>
date: Thu, 9 Apr 2020 16:17:55 +0200
Fix CREATE TABLE LIKE INCLUDING GENERATED column order issue
And here is the related thread:
https://www.postgresql.org/message-id/16342-50008a509308f4ca@postgresql.org
--
Michael
> Thanks for the report! Trying this locally, it seems to work in
> either HEAD or v12 branch tip, so I think we fixed the bug already.
> I recall some recent work around this area, so that conclusion
> is not surprising. What I don't recall is whether those fixes
> were before or after 12.3. You might find that updating to 12.3
> fixes it; if not, it should be fixed in next month's 12.4 release.
12.3 works properly, so you could just update to the latest minor
version already released. Here is the commit:
commit: e92e4a2b68fe877677278c1300db1780956c984e
author: Peter Eisentraut <peter@eisentraut.org>
date: Thu, 9 Apr 2020 16:17:55 +0200
Fix CREATE TABLE LIKE INCLUDING GENERATED column order issue
And here is the related thread:
https://www.postgresql.org/message-id/16342-50008a509308f4ca@postgresql.org
--
Michael