On Mon, Mar 24, 2008 at 5:50 PM, N Jagan Mohan Rao
<[EMAIL PROTECTED]> wrote:

>
>  I am using EntityManager, NativeQueries and deleting postgresql tables and
>  createing them dinamically(the schema is generated by using hybernate-tool).
>  till this point it is working fine .. and in the same transaction i am
>  putting some data and saving it through entitymanager and hence I am getting
>  the problem "ERROR: relation with OID xxxxxx does not exist" please give the
>  solution for this. I tried but I am unable to fix it.
>

I don't know much about EntityManager etc, but I have seen this issue with
plpgsql functions on version older than 8.3 (starting 8.3, we have plan
invalidation which addresses this problem)

For example, a simple way to reproduce this on pre-8.3 versions is:

postgres=# CREATE TABLE test (a int);
CREATE TABLE

postgres=# CREATE OR REPLACE FUNCTION testfunc(integer) RETURNS VOID AS
$$
BEGIN
INSERT INTO test VALUES (1);
END;
$$
language plpgsql;
CREATE FUNCTION

postgres=# SELECT testfunc(0);
 testfunc
----------

(1 row)

postgres=# DROP TABLE test;
DROP TABLE

postgres=# SELECT testfunc(0);
ERROR:  relation with OID 16390 does not exist
CONTEXT:  SQL statement "INSERT INTO test VALUES (1)"
PL/pgSQL function "testfunc" line 2 at SQL statement


If upgrading to 8.3.1 is an option, you can try that.

Thanks,
Pavan

-- 
Pavan Deolasee
EnterpriseDB http://www.enterprisedb.com

-
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to