Yet another fast GiST build

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
122 messages Options
1 ... 4567
Reply | Threaded
Open this post in threaded view
|

Re: Yet another fast GiST build

Peter Geoghegan-4
On Sun, Jan 17, 2021 at 3:04 PM Peter Geoghegan <[hidden email]> wrote:
> I personally agree with you - it's not like there aren't other ways
> for superusers to crash the server (most of which seem very similar to
> this gist_page_items() issue, in fact). I just think that it's worth
> being clear about that being a trade-off that we've accepted.

Can we rename gist_page_items_bytea() to gist_page_items(), and at the
same time rename the current gist_page_items() -- perhaps call it
gist_page_items_output()?

That way we could add a bt_page_items_output() function later, while
leaving everything consistent (actually not quite, since
bt_page_items() outputs text instead of bytea -- but that seems worth
fixing too). This also has the merit of making the unsafe "output"
variant into the special case.

--
Peter Geoghegan


Reply | Threaded
Open this post in threaded view
|

Re: Yet another fast GiST build

Heikki Linnakangas
On 18/01/2021 01:10, Peter Geoghegan wrote:

> On Sun, Jan 17, 2021 at 3:04 PM Peter Geoghegan <[hidden email]> wrote:
>> I personally agree with you - it's not like there aren't other ways
>> for superusers to crash the server (most of which seem very similar to
>> this gist_page_items() issue, in fact). I just think that it's worth
>> being clear about that being a trade-off that we've accepted.
>
> Can we rename gist_page_items_bytea() to gist_page_items(), and at the
> same time rename the current gist_page_items() -- perhaps call it
> gist_page_items_output()?
>
> That way we could add a bt_page_items_output() function later, while
> leaving everything consistent (actually not quite, since
> bt_page_items() outputs text instead of bytea -- but that seems worth
> fixing too). This also has the merit of making the unsafe "output"
> variant into the special case.

bt_page_items() and bt_page_items_bytea() exist already. And
brin_page_items() also calls the output functions (there's no bytea
version of that). Perhaps it would've been better to make the
bytea-variants the default, but I'm afraid that ship has already sailed.

We're not terribly consistent; heap_page_items(), hash_page_items() and
gin_page_items() don't attempt to call the output functions.

Then again, I don't think we need to worry much about backwards
compatibility in pageinspect, so I guess we could rename them all. It
doesn't bother me enough to make me do it, but I won't object if you
want to.

- Heikki


1 ... 4567