Wait...I see my issue.  Duh!  The where clause is applied after the CTE is
evaluated

On Fri, Aug 30, 2024 at 7:37 AM Rumpi Gravenstein <rgrav...@gmail.com>
wrote:

> <snip>
> that the lag() functions are seeing some rows that don't show up in
> the final output.
> </snip>
>
> I'm under the impression that the predicate filter is applied before the
> analytic is evaluated.  Are you suggesting that I have this wrong -- the
> analytic is evaluated and then the filter is applied?
>
> On Thu, Aug 29, 2024 at 8:07 PM Tom Lane <t...@sss.pgh.pa.us> wrote:
>
>> Rumpi Gravenstein <rgrav...@gmail.com> writes:
>> > Is this a PostgreSQL bug?
>>
>> Maybe, but you haven't provided enough information to let anyone else
>> reproduce the behavior.
>>
>> Personally I'm suspicious that because your lag() calls are over
>>
>>     partition by p.logical_partition_key, p.txt order by indx
>>
>> but then you filter by
>>
>>     where logical_partition_key='TEST_DATA' and
>> usage_text='F(T61)(EXPORT)';
>>
>> that the lag() functions are seeing some rows that don't show up in
>> the final output.  (This'd require that some output rows from "parse"
>> share txt values but not usage_text values, but that certainly looks
>> like it's possible.)  So IMO you have not actually demonstrated that
>> there is any bug.
>>
>>                         regards, tom lane
>>
>
>
> --
> Rumpi Gravenstein
>


-- 
Rumpi Gravenstein

Reply via email to