From: Alvaro Herrera <alvherre@commandprompt.com>
To: Michael Fuhr <mike@fuhr.org>
Cc: Greg Wittel <gwittel@proofpoint.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Odd PL/PgSQL Error -- relation "X" does not exist when using index expression
Date: Thu, 8 Feb 2007 11:14:33 -0300
Message-ID: <20070208141433.GD24069@alvh.no-ip.org> (raw)
In-Reply-To: <20070208112331.GA75899@winnie.fuhr.org>
References: <45CA5601.1090007@proofpoint.com>
<20070208112331.GA75899@winnie.fuhr.org>
Michael Fuhr wrote:
> On Wed, Feb 07, 2007 at 02:43:13PM -0800, Greg Wittel wrote:
> > I'm having a strange problem with a PL/PGSQL query that executes some
> > dynamic SQL code. The code basically creates a dynamically named table,
> > some indexes, etc.
> >
> > The problem seems to be the an index expression. If I remove it and do a
> > plain index on the column, all works correctly. If I keep it, I get a
> > "relation does not exist" error.
>
> The error appears to happen for anything that uses SPI. A C function
> that executes the following fails with the same error:
>
> SPI_exec("CREATE TABLE foo (t text); CREATE INDEX foo_idx ON foo (lower(t))", 0);
Hmm, are we short of a CommandCounterIncrement in the middle of both
commands? Does the same error show up if you do
SPI_exec("CREATE TABLE foo (t text);", 0);
SPI_exec("CREATE INDEX foo_idx ON foo (lower(t))", 0);
?
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: alvherre@commandprompt.com, mike@fuhr.org, gwittel@proofpoint.com
Subject: Re: Odd PL/PgSQL Error -- relation "X" does not exist when using index expression
In-Reply-To: <20070208141433.GD24069@alvh.no-ip.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox