This is a discussion on Assigning null to an array element in plpgsql within the pgsql Bugs forums, part of the PostgreSQL category; --> Hi all, I believe this is a bug. The following function returns 'foo' instead of null: --------------- create or ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi all, I believe this is a bug. The following function returns 'foo' instead of null: --------------- create or replace function test() returns varchar as ' declare s varchar[] := ''{}''; begin s[1] := ''foo''; s[1] := null; return s[1]; end; ' language 'plpgsql'; ---------------- If s is not initialized to an empty set in the declaration, the function works as expected. I'm running 7.4.9 on FreeBSD 5.4. Gene ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |
| ||||
| Eugene Chow <gene@paragonam.com> writes: > I believe this is a bug. The following function returns 'foo' instead > of null: NULLs in arrays aren't supported; the system interprets an attempt to store a NULL into an array element as a no-op. Perhaps it should have raised an error instead, but it's been that way for a long time and we're not likely to change the behavior of existing releases. (I'm actually right in the middle of adding support for null array elements, but it won't appear until 8.2.) regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org |