BUG #17818: CTE is not returning the right data. - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #17818: CTE is not returning the right data.
Date
Msg-id 17818-2ef0f7567df79f09@postgresql.org
Whole thread Raw
Responses BUG #17818: CTE is not returning the right data.  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: BUG #17818: CTE is not returning the right data.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      17818
Logged by:          Shiau Hoay Ong
Email address:      cute_hoay88@hotmail.com
PostgreSQL version: 12.1
Operating system:   window
Description:

Hi Postgresql Support Team, today i encounter a mystery case. The Stored
Procedure is already used for sometime, but today there are some issue in
this Stored Procedure which causing the data got deleted. The scenario is
like sample below :

    WITH cte_primary_data AS
        (
            SELECT mr.id, f.feature, mr.item, mr.data_type_id
            FROM public.primary_tables mr
            INNER JOIN public.feature_tables f
                ON f.feature_id = mr.feature_id
            WHERE mr.id = 3163
                AND mr.team_id = 23
                AND mr.stage_id = 2
        )
        SELECT * FROM cte_primary_data l
        INNER JOIN temp_flat_data f
            ON l.feature = f.feature
            AND l.item = f.item

Scenario: When i execute this above query, i am not able to find the feature
AA and Item AA EXT  Inner-Lane- 1.1G. 

But weird is i tried out with this (below example: Add WHERE inside the
cte), then i am able to get the item:

WITH cte_primary_data AS
        (
            SELECT mr.id, f.feature, mr.item, mr.data_type_id
            FROM public.primary_tables mr
            INNER JOIN public.feature_tables f
                ON f.feature_id = mr.feature_id
            WHERE mr.id = 3163
                AND mr.team_id = 23
                AND mr.stage_id = 2
                AND mr.item = 'AA EXT  Inner-Lane- 1.1G'
                AND f.feature = 'AA'
        )
        SELECT * FROM cte_primary_data l
        INNER JOIN temp_flat_data f
            ON l.feature = f.feature
            AND l.item = f.item

I do try out with Create Temp Table also work fine with the sample without
need filtering (as filtering will only reduce data record set). 
Can you please help to investigate and explain what is the possible root
cause for this? 
Thanks!


pgsql-bugs by date:

Previous
From: Michael Paquier
Date:
Subject: Re: BUG #17815: Server crashes on executing gist_page_items() in pageinspect extension
Next
From: Richard Guo
Date:
Subject: Re: Clause accidentally pushed down ( Possible bug in Making Vars outer-join aware)