Re: [Proposal] Global temporary tables - Mailing list pgsql-hackers

From 曾文旌(义从)
Subject Re: [Proposal] Global temporary tables
Date
Msg-id FACE0846-991E-402D-9C76-BEB51D7B9830@alibaba-inc.com
Whole thread Raw
In response to Re: [Proposal] Global temporary tables  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-hackers


2020年2月24日 下午9:41,Pavel Stehule <pavel.stehule@gmail.com> 写道:



po 24. 2. 2020 v 14:34 odesílatel Prabhat Sahu <prabhat.sahu@enterprisedb.com> napsal:
Hi All,

I observe a different behavior in  "temporary table" and "global temporary table".
Not sure if it is expected?

postgres=# create global temporary table parent1(a int)  on commit delete rows;
CREATE TABLE
postgres=# create global temporary table child1() inherits (parent1);
CREATE TABLE
postgres=# insert into parent1 values(1);
INSERT 0 1
postgres=# insert into child1 values(2);
INSERT 0 1
postgres=# select * from parent1;
 a
---
(0 rows)

postgres=# select * from child1;
 a
---
(0 rows)

It is bug. Probably INHERITS clause is not well implemented for GTT
I fixed the GTT's behavior, like local temp table.


Wenjing







postgres=# create temporary table parent2(a int)  on commit delete rows;
CREATE TABLE
postgres=# create temporary table child2() inherits (parent2);
CREATE TABLE
postgres=# insert into parent2 values(1);
INSERT 0 1
postgres=# insert into child2 values(2);
INSERT 0 1
postgres=# select * from parent2;
 a
---
 2
(1 row)

postgres=# select * from child2;
 a
---
 2
(1 row)


Thanks,
Prabhat Sahu


Attachment

pgsql-hackers by date:

Previous
From: Vladimir Sitnikov
Date:
Subject: Re: Error on failed COMMIT
Next
From: "曾文旌(义从)"
Date:
Subject: Re: [Proposal] Global temporary tables