On Tue, 24 Sept 2024 at 02:47, Vladlen Popolitov <v.popoli...@postgrespro.ru> wrote: > I agree, it is better to fix all them together. I also do not like this > hack, it will be removed from the patch, if I check and change > all <work_mem_vars> at once. > I think, it will take about 1 week to fix and test all changes. I will > estimate the total volume of the changes and think, how to group them > in the patch ( I hope, it will be only one patch)
There's a few places that do this: Size maxBlockSize = ALLOCSET_DEFAULT_MAXSIZE; /* choose the maxBlockSize to be no larger than 1/16 of work_mem */ while (16 * maxBlockSize > work_mem * 1024L) I think since maxBlockSize is a Size variable, that the above should probably be: while (16 * maxBlockSize > (Size) work_mem * 1024) Maybe there can be a precursor patch to fix all those to get rid of the 'L' and cast to the type we're comparing to or assigning to rather than trying to keep the result of the multiplication as a long. David