Re: I: About "Our CLUSTER implementation is pessimal" patch
От | Heikki Linnakangas |
---|---|
Тема | Re: I: About "Our CLUSTER implementation is pessimal" patch |
Дата | |
Msg-id | 4B72AB00.50902@enterprisedb.com обсуждение исходный текст |
Ответ на | Re: I: About "Our CLUSTER implementation is pessimal" patch (Leonardo F <m_lists@yahoo.it>) |
Ответы |
Re: I: About "Our CLUSTER implementation is pessimal" patch
Re: I: About "Our CLUSTER implementation is pessimal" patch |
Список | pgsql-hackers |
Leonardo F wrote: > static void > writetup_rawheap(Tuplesortstate *state, int tapenum, SortTuple *stup) > { > HeapTuple tuple = (HeapTuple) stup->tuple; I think you're confusing HeapTuple and HeapTupleHeader. SortTuple->tuple field should point to a HeapTupleHeader, not a HeapTuple. The right mental model is that HeapTupleHeader is a physical tuple, one that you store on disk for example. A HeapTuple is an in-memory wrapper, or pointer if you will, to a HeapTupleHeader, and holds some additional information on the tuple that's useful when operating on it. To add to the confusion, MinimalTuple is a shortened counterpart of HeapTuple*Header*, not HeapTuple. And SortTuple is an in-memory wrapper similar to HeapTuple, containing additional information on the tuple that helps with sorting. I didn't look at the rest of the code in detail, but I think that's where your problems are stemming from. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: