Hello,
you are right I find one case in the query where I have infinite recursion because the query result of
SELECT ev_class::regclass::text as relname
FROM pg_rewrite WHERE oid IN ( SELECT objid FROM pg_catalog.pg_depend
WHERE refobjid = xxx::regclass::oid AND deptype ='n')
FROM pg_rewrite WHERE oid IN ( SELECT objid FROM pg_catalog.pg_depend
WHERE refobjid = xxx::regclass::oid AND deptype ='n')
would be {xxx .....} which will lead to infinite calls. I have solved this issue and some of the tables which was causing this error is working fine now, but other tables still giving the same
error
From: Jerry Sievers <gsievers19@xxxxxxxxxxx>
To: salah jubeh <s_jubeh@xxxxxxxxx>
Cc: pgsql <pgsql-general@xxxxxxxxxxxxxx>
Sent: Thu, March 31, 2011 6:41:27 PM
Subject: Re: stack depth limit exceeded
salah jubeh <s_jubeh@xxxxxxxxx> writes:
> Hello,
>
> I have written this function which is simply returns the entities which depends on a certain entity. It works fine if the
> dependency tree is not long. However, If I have an entity which are linked to many other entities I get
>
> stack depth limit exceeded
> HINT: Increase the configuration parameter "max_stack_depth", after ensuring the platform's stack depth limit is adequate.
>
> I wrote this function to know exactly what are the tables, views that will be doped if I use cascade option. I want to get
> around this issue without changing the server configuration
[snip]
I'd strongly suspect a case of infinite recursion. Have you ruled that
out first?>
You might try incrementing a sequence in the function during one of the
bad runs to see how deep it's recursing.
--
Jerry Sievers
Postgres DBA/Development Consulting
e: gsievers19@xxxxxxxxxxx
p: 305.321.1144
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general