Re: Array assignment behavior (was Re: Stored procedure array
| От | Paul B. Anderson |
|---|---|
| Тема | Re: Array assignment behavior (was Re: Stored procedure array |
| Дата | |
| Msg-id | 451D52FF.5000602@pnlassociates.com обсуждение исходный текст |
| Ответ на | Array assignment behavior (was Re: Stored procedure array limits) (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: [GENERAL] Array assignment behavior (was Re: Stored procedure
|
| Список | pgsql-admin |
It seems that the suggestion to fill intermediate positions with NULLs would be preferable to the current behavior.
I know of no requirement to populate arrays in sequence in any other language so I think other programmers would be surprised too by the current behavior.
Paul
Tom Lane wrote:
I know of no requirement to populate arrays in sequence in any other language so I think other programmers would be surprised too by the current behavior.
Paul
Tom Lane wrote:
[ expanding this thread, as it now needs wider discussion ] "Paul B. Anderson" <paul.a@pnlassociates.com> writes:Actually, I was not filling all of the arrays in sequential order. I added code to initialize them in order and the function seems to be working now. Is that a known problem?Well, it's a documented behavior: section 8.10.4 saith A stored array value can be enlarged by assigning to an elementadjacent to those already present, or by assigning to a slicethat is adjacent to or overlaps the data already present. Up to 8.2 we didn't have a lot of choice about this, because without any ability to have nulls embedded in arrays, there wasn't any sane thing to do with the intermediate positions if you assigned to an element not adjacent to the existing range. As of 8.2 we could allow assignment to arbitrary positions by filling the intermediate positions with nulls. The code hasn't actually been changed to allow that, but it's something we could consider doing now. Comments? regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match .
В списке pgsql-admin по дате отправления: