Re: [HACKERS] NULL handling question
От | D'Arcy" "J.M." Cain |
---|---|
Тема | Re: [HACKERS] NULL handling question |
Дата | |
Msg-id | m10RfoX-0000c3C@druid.net обсуждение исходный текст |
Ответ на | Re: [HACKERS] NULL handling question (Thomas Lockhart <lockhart@alumni.caltech.edu>) |
Список | pgsql-hackers |
Thus spake Thomas Lockhart > > I don't seek this in the source, but i think, all function, who take a > > NULL value as parameter can't return with a NOT NULL value. > > But why? > > Postgres assumes that a NULL input will give a NULL output, and never > calls your routine at all. Since NULL means "don't know", there is a Actually, the problem is that it does call the function. After it returns it throws away the result and so the effect is that the function never gets called but in the meantime, the function has to deal with NULL inputs for nothing. This has been hanging around since the last release. I looked at the dispatch code but it wasn't very clear where we have to put the test to do this correctly. Maybe we can get it cleaned up before release this time. > strong argument that this is correct behavior. I agree but recently I said that there was no stored procedures in PostgreSQL and someone corrected me pointing out that functions with no return were in effect stored procedures. Do the same arguments apply? If a procedure is passed a NULL argument, should the side effects be bypassed? -- D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves http://www.druid.net/darcy/ | and a sheep voting on +1 416 424 2871 (DoD#0082) (eNTP) | what's for dinner.
В списке pgsql-hackers по дате отправления: