>> >> Will it help to retain the partition hierarchy as inheritance >> hierarchy and then collapse it while creating append paths. That will >> be needed by partition-wise join, will be helpful in partition pruning >> without using constraints and so on. So, may be could use that >> infrastructure to simplify the logic here. The patch is available as >> 0013 in [1]. >> >> [1] cafjfprfqotrr6cm3soobhmhevdkffaz6pyyg4grzsomuw08...@mail.gmail.com > > IMHO, it would be better to keep those patches separate because the > problems being solved are different. By the way, one of the reasons that > patch (as I had written it) was skipped was because it didn't cover the > inheritance_planner() case [1]. Your patch 0013 at the link should be > updated (maybe I should report on the partitionwise joins thread as well) > in some way to handle the update/delete case, because this happens: > > create table p (a int, b char) partition by list (a); > create table p1 partition of p for values in (1) partition by list (b); > create table p1a partition of p1 for values in ('a'); > create table p2 partition of p for values in (2); > > explain (costs off) update p set a = a, b = 'b'; > QUERY PLAN > ----------------------------------- > Update on p > Update on p > Update on p1 p > Update on p2 > -> Seq Scan on p > -> Result > -> Append > -> Seq Scan on p1 > -> Seq Scan on p1a > -> Seq Scan on p2 > (10 rows) > > update p set a = a, b = 'b'; > server closed the connection unexpectedly > This probably means the server terminated abnormally > before or while processing the request. > The connection to the server was lost. Attempting reset: Failed.
Thanks for pointing that out. I am able to reproduce the crash. I think, we will need to teach it to add the indirect children as well. Looks like we are missing a testcase for this scenario. I had run regression with that patch, and didn't catch any failures and crashes. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers