| От | Tom Lane |
|---|---|
| Тема | Re: backend dies when a user defined type returns null |
| Дата | |
| Msg-id | 10679.974873731@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | backend dies when a user defined type returns null (Patrick Robin <Patrick.Robin@disney.com>) |
| Список | pgsql-general |
Patrick Robin <Patrick.Robin@disney.com> writes:
> In the example in chapter 5 it shows that the input function for the
> user defined type returns null when the input type doesn't match the
> correct format.
> I do that for input strings that don't match my strict n.n.n format ( ex
> 3.2.1) but it causes the backend to die.
The example is out to lunch, unfortunately :-( In current releases the
only clean way for an input routine to fail is to throw elog(ERROR).
You cannot return a SQL NULL, and if you try to fake it by returning
a null pointer, you'll just cause a null-pointer-dereference crash.
7.1 has a redesigned function-call interface that allows you to return
a NULL cleanly, but for now elog is the only way.
I'll make a note to fix that example in the 7.1 docs...
regards, tom lane
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера