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

From 曾文旌
Subject Re: [Proposal] Global temporary tables
Date
Msg-id EF2F5759-B076-428B-8952-29D54CE46076@alibaba-inc.com
Whole thread Raw
In response to Re: [Proposal] Global temporary tables  (Prabhat Sahu <prabhat.sahu@enterprisedb.com>)
Responses Re: [Proposal] Global temporary tables  (tushar <tushar.ahuja@enterprisedb.com>)
Re: [Proposal] Global temporary tables  (Prabhat Sahu <prabhat.sahu@enterprisedb.com>)
List pgsql-hackers


2020年4月27日 下午9:48,Prabhat Sahu <prabhat.sahu@enterprisedb.com> 写道:

Thanks Wenjing, for the fix patch for previous issues.
I have verified the issues, now those fix look good to me.
But the below error message is confusing(for gtt2).

postgres=# drop table gtt1;
ERROR:  cannot drop global temp table gtt1 when other backend attached it.

postgres=# drop table gtt2;
ERROR:  cannot drop index idx2 on global temp table gtt2 when other backend attached it.


I feel the above error message shown for "DROP TABLE gtt2;" is a bit confusing(looks similar to DROP INDEX gtt2;).
If possible, can we keep the error message simple as "ERROR:  cannot drop global temp table gtt2 when other backend attached it."?
I mean, without giving extra information for the index attached to that GTT.
Fixed the error message to make the expression more accurate. In v33.


Wenjing




On Mon, Apr 27, 2020 at 5:34 PM 曾文旌 <wenjing.zwj@alibaba-inc.com> wrote:


2020年4月27日 下午5:26,Prabhat Sahu <prabhat.sahu@enterprisedb.com> 写道:

Hi Wenjing,

Please check the below scenario shows different error message with "DROP TABLE gtt;" for gtt with and without index.
-- Session1:
postgres=# create global temporary table gtt1 (c1 int);
CREATE TABLE
postgres=# create global temporary table gtt2 (c1 int);
CREATE TABLE
postgres=# create index idx2 on gtt2(c1);
CREATE INDEX

-- Session2:
postgres=# drop table gtt1;
ERROR:  can not drop relation gtt1 when other backend attached this global temp table
postgres=# drop table gtt2;
ERROR:  can not drop index gtt2 when other backend attached this global temp table.
For DROP GTT, we need to drop the index on the table first. 
So the indexes on the GTT are checked first.
But the error message needs to be fixed.
Fixed in v32


wenjing





--

With Regards,
Prabhat Kumar Sahu
EnterpriseDB: http://www.enterprisedb.com




--

With Regards,
Prabhat Kumar Sahu
EnterpriseDB: http://www.enterprisedb.com


Attachment

pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: PATCH: logical_work_mem and logical streaming of largein-progress transactions
Next
From: Fabien COELHO
Date:
Subject: Re: Proposing WITH ITERATIVE