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 ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend