From: | Krasiyan Andreev <krasiyan(at)gmail(dot)com> |
---|---|
To: | Vik Fearing <vik(at)postgresfriends(dot)org> |
Cc: | Zhihong Yu <zyu(at)yugabyte(dot)com>, David Fetter <david(at)fetter(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Implement <null treatment> for window functions |
Date: | 2021-01-09 11:30:59 |
Message-ID: | CAN1Pwomu9d9K6XzER_CyUoVAcNXQRfjK2w5oxJRGj8ySsRE7VQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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 <vik(at)postgresfriends(dot)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
>
Attachment | Content-Type | Size |
---|---|---|
v2-0001-Vik-s-NULL-treatment-patch.patch | text/x-patch | 63.6 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | vignesh C | 2021-01-09 11:51:06 | Re: Added schema level support for publication. |
Previous Message | Simon Riggs | 2021-01-09 10:39:15 | Re: WIP: System Versioned Temporal Table |