pl/pgsql problem with search_path - Mailing list pgsql-bugs

From Eugene Chow
Subject pl/pgsql problem with search_path
Date
Msg-id A117F7BA-DFF9-11D7-B756-000502871889@paragonam.com
Whole thread Raw
Responses Re: pl/pgsql problem with search_path  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-bugs
My plpgsql function seems to be ignoring search_path when looking for
the right table to select from. I'm running 7.3.4. Below is my test
code. Am I doing something wrong?

TIA, Gene Chow

test=> create or replace function getval() returns varchar as '
test'> declare val varchar;
test'> begin
test'>     select into val value from bar limit 1;
test'>     return val;
test'> end;' language 'plpgsql';
CREATE FUNCTION

test=> create table public.bar ( value varchar );
CREATE TABLE

test=> insert into public.bar values ('public value');
INSERT 4012748 1

test=> create schema foo;
CREATE SCHEMA

test=> create table foo.bar ( value varchar );
CREATE TABLE

test=> insert into foo.bar values ('foo value');
INSERT 4012754 1

test=> set search_path to foo, public;
SET

test=> select *, getval() from bar;
    value   |  getval
-----------+-----------
  foo value | foo value
(1 row)

test=> set search_path to public;
SET

test=> select *, getval() from bar;
     value     |  getval
--------------+-----------
  public value | foo value
(1 row)

pgsql-bugs by date:

Previous
From: Dennis Bjorklund
Date:
Subject: LOAD broken?
Next
From: terry@greatgulfhomes.com
Date:
Subject: Re: Unclear documentation (IMMUTABLE functions)