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

From 曾文旌(义从)
Subject Re: [Proposal] Global temporary tables
Date
Msg-id 3D295871-7918-4019-A6F8-22C792C390E7@alibaba-inc.com
Whole thread Raw
In response to Re: [Proposal] Global temporary tables  ("曾文旌(义从)" <wenjing.zwj@alibaba-inc.com>)
Responses Re: [Proposal] Global temporary tables  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: [Proposal] Global temporary tables  (Konstantin Knizhnik <k.knizhnik@postgrespro.ru>)
List pgsql-hackers


2020年1月22日 下午1:29,曾文旌(义从) <wenjing.zwj@alibaba-inc.com> 写道:



2020年1月21日 下午1:43,Pavel Stehule <pavel.stehule@gmail.com> 写道:

Hi

I have a free time this evening, so I will check this patch

I have a one question

+ /* global temp table get relstats from localhash */
+ if (RELATION_IS_GLOBAL_TEMP(rel))
+ {
+ get_gtt_relstats(RelationGetRelid(rel),
+ &relpages, &reltuples, &relallvisible,
+ NULL, NULL);
+ }
+ else
+ {
+ /* coerce values in pg_class to more desirable types */
+ relpages = (BlockNumber) rel->rd_rel->relpages;
+ reltuples = (double) rel->rd_rel->reltuples;
+ relallvisible = (BlockNumber) rel->rd_rel->relallvisible;
+ }

Isbn't possible to fill the rd_rel structure too, so this branching can be reduced?
I'll make some improvements to optimize this part of the code.
I'm trying to improve this part of the implementation in global_temporary_table_v7-pg13.patch
Please check my patch and give me feedback.


Thanks

Wenjing





Regards

Pavel

po 20. 1. 2020 v 17:27 odesílatel 曾文旌(义从) <wenjing.zwj@alibaba-inc.com> napsal:


> 2020年1月20日 上午1:32,Erik Rijkers <er@xs4all.nl> 写道:
>
> On 2020-01-19 18:04, 曾文旌(义从) wrote:
>>> 2020年1月14日 下午9:20,Pavel Stehule <pavel.stehule@gmail.com> 写道:
>>> út 14. 1. 2020 v 14:09 odesílatel 曾文旌(义从) <wenjing.zwj@alibaba-inc.com <mailto:wenjing.zwj@alibaba-inc.com>> napsal:
>
>>> [global_temporary_table_v4-pg13.patch ]
>
> Hi,
>
> This patch doesn't quiet apply for me:
>
> patching file src/backend/access/common/reloptions.c
> patching file src/backend/access/gist/gistutil.c
> patching file src/backend/access/hash/hash.c
> Hunk #1 succeeded at 149 (offset 3 lines).
> patching file src/backend/access/heap/heapam_handler.c
> patching file src/backend/access/heap/vacuumlazy.c
> patching file src/backend/access/nbtree/nbtpage.c
> patching file src/backend/access/table/tableam.c
> patching file src/backend/access/transam/xlog.c
> patching file src/backend/catalog/Makefile
> Hunk #1 FAILED at 44.
> 1 out of 1 hunk FAILED -- saving rejects to file src/backend/catalog/Makefile.rej
> [...]
>   (The rest applies without errors)
>
> src/backend/catalog/Makefile.rej contains:
>
> ------------------------
> --- src/backend/catalog/Makefile
> +++ src/backend/catalog/Makefile
> @@ -44,6 +44,8 @@ OBJS = \
>       storage.o \
>       toasting.o
>
> +OBJS += storage_gtt.o
> +
> BKIFILES = postgres.bki postgres.description postgres.shdescription
>
> include $(top_srcdir)/src/backend/common.mk
> ------------------------
>
> Can you have a look?
I updated the code and remade the patch.
Please give me feedback if you have any more questions.




>
>
> thanks,
>
> Erik Rijkers
>
>
>
>
>



Attachment

pgsql-hackers by date:

Previous
From: "曾文旌(义从)"
Date:
Subject: Re: [Proposal] Global temporary tables
Next
From: Pavel Stehule
Date:
Subject: Re: New feature proposal (trigger)