Re: fetch_search_path() and elog.c

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Ferruccio Zamuner <nonsolosoft@diff.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@postgresql.org
Date: 2005-07-11T17:04:37Z
Lists: pgsql-hackers
On Mon, Jul 11, 2005 at 06:22:26PM +0200, Ferruccio Zamuner wrote:

> Now I've found a simpler solution:
> 
> case 'S':
>                    /* estrae il search_path */
>              if (namespace_search_path != NULL)
>                appendStringInfo(buf, "%s ", namespace_search_path);
>              break;
> 
> It seems to work.
> 
> But I would like to understand why previous code was wrong.

I think it was because you were doing catalog lookups (the
get_namespace_name() function, etc), and these don't work outside a
transaction.

-- 
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"¿Cómo puedes confiar en algo que pagas y que no ves,
y no confiar en algo que te dan y te lo muestran?" (Germán Poo)