Re: smgrzeroextend clarification

2023-05-19 Thread Peter Eisentraut
I have committed some of the unrelated formatting changes separately, so what's left now is attached. On 17.05.23 01:38, Andres Freund wrote: - I left this for smgrzeroextend(): FIXME: why both blocknum and nblocks I guess you're suggesting that we would do an lstat() to figure out the size

Re: smgrzeroextend clarification

2023-05-16 Thread Andres Freund
Hi, On 2023-05-16 20:40:01 +0200, Peter Eisentraut wrote: > On 10.05.23 20:10, Andres Freund wrote: > > > So if you want to understand what smgrzeroextend() does, you need to > > > mentally combine the documentation of three different functions. Could we > > > write documentation for each functio

Re: smgrzeroextend clarification

2023-05-16 Thread Peter Eisentraut
On 10.05.23 20:10, Andres Freund wrote: So if you want to understand what smgrzeroextend() does, you need to mentally combine the documentation of three different functions. Could we write documentation for each function that stands on its own? And document the function arguments, like what doe

Re: smgrzeroextend clarification

2023-05-12 Thread Andres Freund
Hi, On May 12, 2023 11:36:23 AM PDT, Thomas Munro wrote: >Just a thought: should RelationCopyStorageUsingBuffer(), the new code >used by CREATE DATABASE with the default strategy WAL_LOG, use the >newer interface so that it creates fully allocated files instead of >sparse ones? I played with th

Re: smgrzeroextend clarification

2023-05-12 Thread Andres Freund
Hi, On May 11, 2023 2:37:00 AM PDT, Peter Eisentraut wrote: >On 10.05.23 20:10, Andres Freund wrote: >>> Moreover, the text "except the relation can be extended by multiple blocks >>> at once and the added blocks will be filled with zeroes" doesn't make much >>> sense as a differentiation, beca

Re: smgrzeroextend clarification

2023-05-12 Thread Thomas Munro
On Sat, May 13, 2023 at 6:07 AM Greg Stark wrote: > On Thu, 11 May 2023 at 05:37, Peter Eisentraut > wrote: > > Maybe it was never meant that way and only works accidentally? Maybe > > hash indexes are broken? > > It's explicitly documented to be this way. And I think it has to work > this way f

Re: smgrzeroextend clarification

2023-05-12 Thread Greg Stark
On Thu, 11 May 2023 at 05:37, Peter Eisentraut wrote: > > Maybe it was never meant that way and only works accidentally? Maybe > hash indexes are broken? It's explicitly documented to be this way. And I think it has to work this way for recovery to work. I think the reason you and Bharath and A

Re: smgrzeroextend clarification

2023-05-11 Thread Peter Eisentraut
On 10.05.23 20:10, Andres Freund wrote: Moreover, the text "except the relation can be extended by multiple blocks at once and the added blocks will be filled with zeroes" doesn't make much sense as a differentiation, because smgrextend() does that as well. Hm? smgrextend() writes a single bloc

Re: smgrzeroextend clarification

2023-05-10 Thread Andres Freund
Hi, On 2023-05-10 11:50:14 +0200, Peter Eisentraut wrote: > I was looking at the new smgrzeroextend() function in the smgr API. The > documentation isn't very extensive: > > /* > * smgrzeroextend() -- Add new zeroed out blocks to a file. > * > * Similar to smgrextend(), except the relat

Re: smgrzeroextend clarification

2023-05-10 Thread Bharath Rupireddy
On Wed, May 10, 2023 at 3:20 PM Peter Eisentraut wrote: > > I was looking at the new smgrzeroextend() function in the smgr API. The > documentation isn't very extensive: > > /* > * smgrzeroextend() -- Add new zeroed out blocks to a file. > * > * Similar to smgrextend(), except the rel

smgrzeroextend clarification

2023-05-10 Thread Peter Eisentraut
I was looking at the new smgrzeroextend() function in the smgr API. The documentation isn't very extensive: /* * smgrzeroextend() -- Add new zeroed out blocks to a file. * * Similar to smgrextend(), except the relation can be extended by * multiple blocks at once and the added bl