The following bug has been logged online: Bug reference: 3628 Logged by: Pedro Gimeno Email address: [EMAIL PROTECTED] PostgreSQL version: 8.2.4 Operating system: Linux (Debian stable + backports) Description: Wrong schema picked Details:
When a function has a SQL statement to execute that has an unqualified table, that SQL statement doesn't always pick the table from a schema in the search_path. The following script is an example: -- begin script create database test2; \c test2 create language 'plpgsql'; create schema schema1; create schema schema2; create table schema1.table1 (column1 varchar(10)); create table schema2.table1 (column1 varchar(10)); create function public.f1() returns void as $$ begin insert into table1 values (current_schema()); end; $$ language plpgsql; set search_path=schema1,public; select f1(); set search_path=schema2,public; select f1(); select * from schema1.table1; select * from schema2.table1; -- end script The output of the last couple of SELECT statements is: column1 --------- schema1 schema2 (2 rows) column1 --------- (0 rows) while the expected result would be: column1 --------- schema1 (1 row) column1 --------- schema2 (1 row) -- Pedro Gimeno ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings