Re: Declarative partitioning - another take
От | Amit Langote |
---|---|
Тема | Re: Declarative partitioning - another take |
Дата | |
Msg-id | 4567d060-406e-9644-5f3e-41ed054f1bfa@lab.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: Declarative partitioning - another take (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: Declarative partitioning - another take
|
Список | pgsql-hackers |
On 2016/10/26 17:57, Amit Kapila wrote: > @@ -123,6 +123,9 @@ typedef struct RelationData > { > .. > MemoryContext rd_partkeycxt; /* private memory cxt for the below */ > struct PartitionKeyData *rd_partkey; /* partition key, or NULL */ > + MemoryContext rd_pdcxt; /* private context for partdesc */ > + struct PartitionDescData *rd_partdesc; /* partitions, or NULL */ > + List *rd_partcheck; /* partition CHECK quals */ > .. > } > > I think one thing to consider here is the increase in size of relcache > due to PartitionDescData. I think it will be quite useful in some of > the cases like tuple routing. Isn't it feasible to get it in some > other way, may be by using relpartbound from pg_class tuple? Whereas pg_class.relpartbound stores partition bound of the *individual partitions* in Node form, the above relcache struct is associated with parent tables; it contains some efficient to use (and fairly compact) representation of bounds of *all* the partitions of the parent. Consider for example, an array of sorted range bounds for range partitioned tables. Thanks, Amit
В списке pgsql-hackers по дате отправления: