On Tue, Mar 17, 2026 at 9:34 PM Chao Li <[email protected]> wrote:
> When OOM happens, Assert((flags & DSHASH_INSERT_NO_OOM) != 0); makes sense. 
> But for resize(), the assert is inside resize(), while for 
> insert_into_bucket(), the assert is in the caller. That feels a bit 
> inconsistent to me, and I think it hurts readability a little. A reader might 
> wonder why there is no corresponding assert after resize() unless they go 
> read the function body.

Adjusted.

> Making this a nested block does have the benefit of keeping dsa_flags close 
> to where it is used. But from my impression, this style is still fairly 
> uncommon in the codebase. I worry it may implicitly signal to other hackers 
> that this is an acceptable pattern. So unless we intentionally want to 
> encourage that style, I would lean toward avoiding it here.

Yeah, that was dumb. Fixed.

Thanks for the review; here's v2.

-- 
Robert Haas
EDB: http://www.enterprisedb.com

Attachment: v2-0001-dshash-Make-it-possible-to-suppress-out-of-memory.patch
Description: Binary data

Reply via email to