pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Andrey Borodin <x4mmm@yandex-team.ru>
Cc: Michael Paquier <michael@paquier.xyz>
Cc: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Костя Кузнецов <chapaev28@ya.ru>
Subject: Re: GiST VACUUM
Date: Mon, 4 Mar 2019 12:27:04 +0200
Message-ID: <ad2e8696-ba76-bf62-ebf7-bdef1dfeff6f@iki.fi> (raw)
In-Reply-To: <A51F64E3-850D-4249-814E-54967103A859@yandex-team.ru>
References: <479336FE-B713-4DFB-9661-9BFCCA70F4EF@yandex-team.ru>
	<51675201-3F1C-4796-ADB4-28D0B35E9CF0@yandex-team.ru>
	<651572F0-65C3-4285-85FC-50E81B1199F1@yandex-team.ru>
	<CAEepm=1vznVTZf01f4KNVJEa4m4tCgtBuumgmY8q=g+S=Gdt5A@mail.gmail.com>
	<2AF4B7F1-ABCF-4602-8AF8-06EA45191BFC@yandex-team.ru>
	<844f3373-486e-a34d-d5a1-6a048e19355c@iki.fi>
	<4A1FF988-A69D-4607-8A6E-B3EC0FD6C2CF@yandex-team.ru>
	<43f15ab5-dd95-97d4-658b-e9954ca986a6@iki.fi>
	<DABC2BB9-154A-47E2-B1D9-B58A4023E6D7@yandex-team.ru>
	<E8FDC7F0-0516-4A84-B754-4CC92801E5F5@yandex-team.ru>
	<20181002011404.GU11712@paquier.xyz>
	<C1D00194-9A4D-4DE1-AAFE-6DA478A15207@yandex-team.ru>
	<d7e89e1b-efd4-1464-f03d-4ba4ea9e1835@iki.fi>
	<EB87A69B-EE5E-4259-9EEB-DA9DC1F7E265@yandex-team.ru>
	<A51F64E3-850D-4249-814E-54967103A859@yandex-team.ru>

On 04/01/2019 21:26, Andrey Borodin wrote:
> 3 янв. 2019 г., в 23:47, Andrey Borodin <x4mmm@yandex-team.ru>
> написал(а):
>> 
>>> * Bitmapset stores 32 bit signed integers, but BlockNumber is
>>> unsigned. So this will fail with an index larger than 2^31
>>> blocks. That's perhaps academical, I don't think anyone will try
>>> to create a 16 TB GiST index any time soon. But it feels wrong to
>>> introduce an arbitrary limitation like that.
>> 
>> Looks like bitmapset is unsuitable for collecting block numbers due
>> to the interface. Let's just create custom container for this? Or
>> there is one other option: for each block number throw away sign
>> bit and consider page potentially internal and potentially empty
>> leaf if (blkno & 0x7FFFFFF) is in bitmapset. And then we will have
>> to create at least one 17Tb GiST to check it actually works.
> 
> Heikki, how do you think, is implementing our own radix tree for this
> is viable solution? I've written working implementation with 4-level
> statically typed tree. If we follow this route, probably, there must
> be tests for this data structure.

Yeah, seems reasonable.

- Heikki




view thread (82+ messages)  latest in thread

Message-ID: <ad2e8696-ba76-bf62-ebf7-bdef1dfeff6f@iki.fi>
Permalink:  ../ad2e8696-ba76-bf62-ebf7-bdef1dfeff6f@iki.fi/
Also on:    postgresql.org/message-id/ad2e8696-ba76-bf62-ebf7-bdef1dfeff6f@iki.fi

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: hlinnaka@iki.fi, x4mmm@yandex-team.ru, michael@paquier.xyz, thomas.munro@enterprisedb.com, robertmhaas@gmail.com, chapaev28@ya.ru
  Subject: Re: GiST VACUUM
  In-Reply-To: <ad2e8696-ba76-bf62-ebf7-bdef1dfeff6f@iki.fi>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox