Thread: Adding tests for inheritance trees with temporary tables
Hi all, While look at the handling of temporary relations with partition trees, I have noticed that there are no tests for inheritance trees with temp tables. This has been mentioned here: https://www.postgresql.org/message-id/20180618060200.GG3721@paquier.xyz Attached is a patch to close the gap. That's of course not v11 material, so I am parking this patch into the next CF. Thanks, -- Michael
Attachment
Thanks. Some review comments here. +create table inh_perm_parent (a1 int); +create temp table inh_temp_parent (a1 int); +create temp table inh_temp_child (a1 int) inherits (inh_perm_parent); -- ok +NOTICE: merging column "a1" with inherited definition You could actually avoid this notice by changing create table statement like create temp table inh_temp_child () inherits (inh_perm_parent); +create table inh_perm_child (a1 int) inherits (inh_temp_parent); -- error +ERROR: cannot inherit from temporary relation "inh_temp_parent" +create temp table inh_temp_child_2 (a1 int) inherits (inh_temp_parent); -- ok +NOTICE: merging column "a1" with inherited definition Same suggestion as above. +insert into inh_perm_parent values (1); +insert into inh_temp_parent values (2); +insert into inh_temp_child values (3); +insert into inh_temp_child_2 values (4); +select * from inh_perm_parent; + a1 +---- + 1 + 3 +(2 rows) + +select * from inh_temp_parent; + a1 +---- + 2 + 4 +(2 rows) select tabloid::regclass will also print the name of the table where the row resides. That will be useful to check where the rows come from and also to test the inheritance children. On Tue, Jun 19, 2018 at 7:51 AM, Michael Paquier <michael@paquier.xyz> wrote: > Hi all, > > While look at the handling of temporary relations with partition trees, > I have noticed that there are no tests for inheritance trees with temp > tables. This has been mentioned here: > https://www.postgresql.org/message-id/20180618060200.GG3721@paquier.xyz > > Attached is a patch to close the gap. That's of course not v11 > material, so I am parking this patch into the next CF. > > Thanks, > -- > Michael -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company
On Tue, Jun 19, 2018 at 01:04:43PM +0530, Ashutosh Bapat wrote: > Thanks. Some review comments here. Thanks for the review! > +create table inh_perm_parent (a1 int); > +create temp table inh_temp_parent (a1 int); > +create temp table inh_temp_child (a1 int) inherits (inh_perm_parent); -- ok > +NOTICE: merging column "a1" with inherited definition > > You could actually avoid this notice by changing create table statement like > create temp table inh_temp_child () inherits (inh_perm_parent); Okay, fixed. > select tabloid::regclass will also print the name of the table where > the row resides. That will be useful to check where the rows come from > and also to test the inheritance children. Good point, I have added those. Except that you meant tableoid::regclass. -- Michael
Attachment
On Wed, Jun 20, 2018 at 11:39 AM, Michael Paquier <michael@paquier.xyz> wrote: > > Good point, I have added those. Except that you meant > tableoid::regclass. Thanks. I have checked that make check passes with this patch. I have marked this entry as ready for committer. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company
On Wed, Jun 20, 2018 at 06:34:42PM +0530, Ashutosh Bapat wrote: > Thanks. I have checked that make check passes with this patch. I have > marked this entry as ready for committer. Thanks, Ashutosh. -- Michael
Attachment
On Thu, Jun 21, 2018 at 02:37:46PM +0900, Michael Paquier wrote: > On Wed, Jun 20, 2018 at 06:34:42PM +0530, Ashutosh Bapat wrote: > > Thanks. I have checked that make check passes with this patch. I have > > marked this entry as ready for committer. > > Thanks, Ashutosh. Now pushed. Thanks Ashutosh for the review and the additions! -- Michael