Thread: BUG #11703: ERROR: variable not found in subplan target list

BUG #11703: ERROR: variable not found in subplan target list

From
karl.bartel@adspert.de
Date:
The following bug has been logged on the website:

Bug reference:      11703
Logged by:          Karl Bartel
Email address:      karl.bartel@adspert.de
PostgreSQL version: 9.3.5
Operating system:   Mac OS X
Description:

The above error occurs when I execute

CREATE TABLE my_table (
    my_column text
);

CREATE OR REPLACE FUNCTION func1(tab my_table)
RETURNS int AS $$
    SELECT CASE tab.my_column
                WHEN 'foobar' THEN 1
           END
$$ LANGUAGE sql IMMUTABLE;

CREATE OR REPLACE FUNCTION func2(
    tab my_table
)
RETURNS TABLE(ret1 int) AS $$
    SELECT func1(tab)
$$ LANGUAGE sql IMMUTABLE;

SELECT 1
FROM my_table,
     func2(my_table);


I can reproduce this with the postgres.app on OS 10.8.5:
PostgreSQL 9.3.5 on x86_64-apple-darwin13.3.0, compiled by Apple LLVM
version 5.0 (clang-500.2.79) (based on LLVM 3.3svn), 64-bit

And on my debian machine:
PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (Debian
4.7.2-5) 4.7.2, 64-bit

Re: BUG #11703: ERROR: variable not found in subplan target list

From
Tom Lane
Date:
karl.bartel@adspert.de writes:
> The above error occurs when I execute [ this test case ]

Thanks for the test case.  Curiously, HEAD doesn't throw an error,
but it produces what seems to be an incorrect plan :-(.  Will investigate.

            regards, tom lane

Re: BUG #11703: ERROR: variable not found in subplan target list

From
Tom Lane
Date:
karl.bartel@adspert.de writes:
> The following bug has been logged on the website:
> Bug reference:      11703

I've committed a fix for this.  Thanks for the report!

            regards, tom lane