Re: [HACKERS] need help for array appending & deleting
От | Tom Lane |
---|---|
Тема | Re: [HACKERS] need help for array appending & deleting |
Дата | |
Msg-id | 17738.936194722@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | need help for array appending & deleting (Peter Blazso <blazso@deltav.hu>) |
Список | pgsql-hackers |
Peter Blazso <blazso@deltav.hu> writes: > Unless it exists, I'd like to implement code for the array manipulations > above for Postgresql. and I need some help for it. I have already run > through the sources concerned but I need to be pointed to the right > direction on where to start and what kind of functions I should use. I'd > also like to have a bit more detailed info on array structure (or at > least where I can find a good doc. I've been looking for it in > 'array.h', 'arrayutils.c' and 'arrayfuncs.c'). What's in the code is all there is :-(. Please consider improving the documentation once you have studied the code enough to understand what's going on. I recall having looked at that stuff recently, and IIRC the general structure of an array inside the backend is Overall length word (required for any VARLENA type)a couple words of fixed overheaddimension info array (1 entry perdimension)array elements, in sequence I don't recall the sequence that's used (row or column major). Also, I think the array elements are aligned on INTALIGN boundaries, which is pretty bogus --- arrays of doubles would fail on a lot of hardware. The code should either use MAXALIGN always, or better use the specific alignment needed for the array element type (as indicated by the pg_type data). BTW, please be sure you are working with current sources and not REL6_5 branch. I've already fixed a bunch of parser/optimizer problems with arrays; you shouldn't have to reinvent those changes. regards, tom lane
В списке pgsql-hackers по дате отправления: