On 18/01/2021 01:10, Peter Geoghegan wrote:
> On Sun, Jan 17, 2021 at 3:04 PM Peter Geoghegan <pg@bowt.ie> 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