On Fri, 2025-03-07 at 20:02 +0300, Nikolay Shaplov wrote: > While working with my New Options Engine patch > https://commitfest.postgresql.org/patch/4688/ > I found out that I can detach a small portion of it as a separate > patch. > It has own value, even if big patch is never committed, and it would > make > smoother further committing of big patch if we ever get to it. > > Patch description is following:
Thanks for the patch! > 1. `isnull` variable is actually needed in a very narrow scope, > so > it is better to keep it in that scope, not keeping it in mind in > while dealing with the rest of the code. Since we already have datum=0 logic there, there is indeed no need to have isnull variable on same scope. > > 2. Toast table RelOptions are never altered directly with ALTER > command. > One should do ATLER to a heap relation and use toast. reloption > namespace > to address toast's reloption. If you get `ATExecSetRelOptions` called > with > `RELKIND_TOASTVALUE` relation in the args, something is really wrong. > We > should throw asserts, errors and whistle as loud as we can. Seems reasonable to me. Toast tables are handled later by "heap_reloptions(RELKIND_TOASTVALUE, ..." in same ATExecSetRelOptions() function code. LGTM ------- Regards, Timur Magomedov