| From: | Tomas Vondra <tomas(at)vondra(dot)me> |
|---|---|
| To: | "Andrey M(dot) Borodin" <x4mmm(at)yandex-team(dot)ru> |
| Cc: | Andreas Karlsson <andreas(at)proxel(dot)se>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: WIP: parallel GiST index builds |
| Date: | 2024-08-05 15:18:52 |
| Message-ID: | 8240d834-e42d-4f69-a393-b502dcdef780@vondra.me |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
Here's an updated patch using GetFakeLSNForUnloggedRel() instead of the
atomic counter. I think this looks much nicer and less invasive, as it
simply uses XLogCtl shared memory (instead of having to pass a new
pointer everywhere).
We still need to pass the is_parallel flag, though. I wonder if we could
get rid of that too, and just use GetFakeLSNForUnloggedRel() for both
parallel and non-parallel builds? Why wouldn't that work?
I've spent quite a bit of time testing this, but mostly for correctness.
I haven't redone the benchmarks, that's on my TODO.
regards
--
Tomas Vondra
| Attachment | Content-Type | Size |
|---|---|---|
| v20240805-0001-WIP-parallel-GiST-build.patch | text/x-patch | 36.7 KB |
| v20240805-0002-use-GetFakeLSNForUnloggedRel.patch | text/x-patch | 4.6 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Nathan Bossart | 2024-08-05 15:28:48 | Re: [PATCH] Add crc32(text) & crc32(bytea) |
| Previous Message | Umar Hayat | 2024-08-05 15:17:38 | Re: psql client does not handle WSAEWOULDBLOCK on Windows |