Re: Transitive Closure and 'pg_inherits'

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ioannis Theoharis <theohari(at)ics(dot)forth(dot)gr>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Transitive Closure and 'pg_inherits'
Date: 2005-04-03 17:13:09
Message-ID: 11594.1112548389@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Ioannis Theoharis <theohari(at)ics(dot)forth(dot)gr> writes:
> My question is whether the way, in wich postgresql do this task, is a
> transitive closure on table 'pg_inherits' or there is a better approach
> implemented (like numbering scheme techniques etc.) ?

It's a transitive closure, and not a very bright one at that; see
find_all_inheritors(), find_inheritance_children(), and particularly
the comments to the latter. However, we've not heard reports indicating
that this is a serious bottleneck in any real-world situation, so
no one has spent time to improve it. (I'd expect the per-table planning
costs to vastly outweigh the cost of finding those tables, anyway.)

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Jim C. Nasby 2005-04-04 00:41:51 Re: [HACKERS] plPHP in core?
Previous Message Ioannis Theoharis 2005-04-03 17:02:27 Recursive SQL

Browse pgsql-patches by date

  From Date Subject
Next Message Jim C. Nasby 2005-04-04 00:59:21 Re: HEAD \df doesn't show functions with no arguments
Previous Message Ioannis Theoharis 2005-04-03 17:02:27 Recursive SQL