Re: [Proposal] Global temporary tables
曾文旌 (义从) <wenjing.zwj@alibaba-inc.com>
From: 曾文旌(义从) <wenjing.zwj@alibaba-inc.com>
To: Pavel Stehule <pavel.stehule@gmail.com>
Cc: "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>, 萧少聪(铁庵) <shaocong.xsc@alibaba-inc.com>
Date: 2020-01-30T14:06:41Z
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 →
-
PageAddItemExtended(): Add LP_UNUSED assertion.
- 30aaab26e521 14.0 cited
-
Remove temporary files after backend crash
- cd91de0d1795 14.0 cited
-
Fix comment in indexing.c
- 9fd2952cf492 14.0 cited
-
Fix failure to ignore leftover temp tables after a server crash.
- 6919b7e32947 9.3.0 cited
> 2020年1月29日 上午1:54,Pavel Stehule <pavel.stehule@gmail.com> 写道: > > > > út 28. 1. 2020 v 18:13 odesílatel Pavel Stehule <pavel.stehule@gmail.com <mailto:pavel.stehule@gmail.com>> napsal: > > > út 28. 1. 2020 v 18:12 odesílatel 曾文旌(义从) <wenjing.zwj@alibaba-inc.com <mailto:wenjing.zwj@alibaba-inc.com>> napsal: > > >> 2020年1月29日 上午12:40,Pavel Stehule <pavel.stehule@gmail.com <mailto:pavel.stehule@gmail.com>> 写道: >> >> >> >> út 28. 1. 2020 v 17:01 odesílatel 曾文旌(义从) <wenjing.zwj@alibaba-inc.com <mailto:wenjing.zwj@alibaba-inc.com>> napsal: >> >> >>> 2020年1月24日 上午4:47,Robert Haas <robertmhaas@gmail.com <mailto:robertmhaas@gmail.com>> 写道: >>> >>> On Sat, Jan 11, 2020 at 8:51 PM Tomas Vondra >>> <tomas.vondra@2ndquadrant.com <mailto:tomas.vondra@2ndquadrant.com>> wrote: >>>> I proposed just ignoring those new indexes because it seems much simpler >>>> than alternative solutions that I can think of, and it's not like those >>>> other solutions don't have other issues. >>> >>> +1. >> I complete the implementation of this feature. >> When a session x create an index idx_a on GTT A then >> For session x, idx_a is valid when after create index. >> For session y, before session x create index done, GTT A has some data, then index_a is invalid. >> For session z, before session x create index done, GTT A has no data, then index_a is valid. >> >>> >>>> For example, I've looked at the "on demand" building as implemented in >>>> global_private_temp-8.patch, I kinda doubt adding a bunch of index build >>>> calls into various places in index code seems somewht suspicious. >>> >>> +1. I can't imagine that's a safe or sane thing to do. >>> >>> -- >>> Robert Haas >>> EnterpriseDB: http://www.enterprisedb.com <http://www.enterprisedb.com/> >>> The Enterprise PostgreSQL Company >> >> Opinion by Pavel >> + rel->rd_islocaltemp = true; <<<<<<< if this is valid, then the name of field "rd_islocaltemp" is not probably best >> I renamed rd_islocaltemp >> >> I don't see any change? > Rename rd_islocaltemp to rd_istemp in global_temporary_table_v8-pg13.patch > > ok :) > > I found a bug > > postgres=# create global temp table x(a int); > CREATE TABLE > postgres=# insert into x values(1); > INSERT 0 1 > postgres=# create index on x (a); > CREATE INDEX > postgres=# create index on x((a + 1)); > CREATE INDEX > postgres=# analyze x; > WARNING: oid 16468 not a relation > ANALYZE The bug has been fixed in the global_temporary_table_v9-pg13.patch Wenjing > > other behave looks well for me. > > Regards > > Pavel > > > Pavel > > > Wenjing > > > >> >> >> >> Opinion by Konstantin Knizhnik >> 1 Fixed comments >> 2 Fixed assertion >> >> >> Please help me review. >> >> >> Wenjing >> >