Re: [Proposal] Global temporary tables

曾文旌 (义从) <wenjing.zwj@alibaba-inc.com>

From: 曾文旌 <wenjing.zwj@alibaba-inc.com>
To: tushar <tushar.ahuja@enterprisedb.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, Prabhat Sahu <prabhat.sahu@enterprisedb.com>, Robert Haas <robertmhaas@gmail.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, Konstantin Knizhnik <k.knizhnik@postgrespro.ru>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, "蔡松露(子嘉)" <zijia@taobao.com>, "Cai, Le" <le.cai@alibaba-inc.com>
Date: 2020-04-27T09:49:10Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. PageAddItemExtended(): Add LP_UNUSED assertion.

  2. Remove temporary files after backend crash

  3. Fix comment in indexing.c

  4. Fix failure to ignore leftover temp tables after a server crash.


> 2020年4月24日 下午9:03,tushar <tushar.ahuja@enterprisedb.com> 写道:
> 
> On 4/22/20 2:49 PM, 曾文旌 wrote:
>> 
>> I provide the TRUNCATE tablename DROP to clear the data in the GTT and delete the storage files.
>> This feature requires the current transaction to commit immediately after it finishes truncate.
>> 
> Thanks Wenjing , Please refer this scenario
> 
> postgres=# create global temp table testing (a int);
> CREATE TABLE
> postgres=# begin;
> BEGIN
> postgres=*# truncate testing;      -- working   [1]
> TRUNCATE TABLE
> postgres=*# truncate testing drop;
> ERROR:  Truncate global temporary table cannot run inside a transaction block    --that is throwing an error claiming something which i did  successfully [1]
The truncate GTT drop was removed.
So the problem goes away.


Wenjing


> postgres=!#
> 
> -- 
> regards,tushar
> EnterpriseDB  https://www.enterprisedb.com/
> The Enterprise PostgreSQL Company