Hi, patch applies and compiles, all included and external tests and building of the docs pass. After the last run of the cfbot, there are no any building warnings. I am using last version in our testing environment with real data and I didn't find any bugs, so I'm marking this patch as ready for the committer in the commitfest app.
На сб, 9.01.2021 г. в 13:30 ч. Krasiyan Andreev <krasi...@gmail.com> написа: > Hi, the building warning below is fixed now, no other changes. Also, I can > confirm that the corner case with offset=0 in lead and lag works correctly. > > gcc -Wall -Wmissing-prototypes -Wpointer-arith > -Wdeclaration-after-statement -Werror=vla -Wendif-labels > -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type > -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard > -Wno-format-truncation -Wno-stringop-truncation -O2 -I../../../src/include > -I/home/krasiyan/pgsql/postgresql/src/include -D_GNU_SOURCE > -I/usr/include/libxml2 -c -o nodeWindowAgg.o > /home/krasiyan/pgsql/postgresql/src/backend/executor/nodeWindowAgg.c > /home/krasiyan/pgsql/postgresql/src/backend/executor/nodeWindowAgg.c: In > function ‘WinGetFuncArgInPartition’: > /home/krasiyan/pgsql/postgresql/src/backend/executor/nodeWindowAgg.c:3274:10: > warning: ‘step’ may be used uninitialized in this function > [-Wmaybe-uninitialized] > 3274 | relpos += step; > | ~~~~~~~^~~~~~~ > /home/krasiyan/pgsql/postgresql/src/backend/executor/nodeWindowAgg.c: In > function ‘WinGetFuncArgInFrame’: > /home/krasiyan/pgsql/postgresql/src/backend/executor/nodeWindowAgg.c:3531:10: > warning: ‘step’ may be used uninitialized in this function > [-Wmaybe-uninitialized] > 3531 | relpos += step; > | ~~~~~~~^~~~~~~ > > > > На пт, 8.01.2021 г. в 2:02 ч. Vik Fearing <v...@postgresfriends.org> > написа: > >> On 1/1/21 10:21 PM, Zhihong Yu wrote: >> > Krasiyan: >> > Happy New Year. >> > >> > For WinGetFuncArgInPartition(): >> > >> > + if (target > 0) >> > + step = 1; >> > + else if (target < 0) >> > + step = -1; >> > + else >> > + step = 0; >> > >> > When would the last else statement execute ? Since the above code is >> > for WINDOW_SEEK_CURRENT, I wonder why step should be 0. >> >> Hi. >> >> "lag(expr, 0) over w" is useless but valid. >> -- >> Vik Fearing >> >