On Wed, Feb 7, 2018 at 3:42 AM, Ashutosh Bapat <ashutosh.ba...@enterprisedb.com> wrote: > partprune.c looks to much tied to one feature. I am sure that the > functions used for partition pruning can be used by other > optimizations as well.
Uh, I don't know about that, this code looks like it does partition pruning specifically, and nothing else. How else do you think it could be used? > partition.c seems to have two kinds of functions 1. that build and > manage relcache, creates quals from bounds etc. which are metadata > management kind 2. partition bound comparison functions, and other > optimizer related functions. May be we should divide the file that > way. The first category code remains in catalog/ as it is today. The > second catagory functions move to optimizer/. It would be sensible to separate functions that build and manage data in the relcache from other functions. I think we should consider moving the existing functions of that type from partition.c to src/backend/utils/cache/partcache.c. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company