Re: BUG #6185: Segmentation fault with NULL string columns
От | Isaac Jurado |
---|---|
Тема | Re: BUG #6185: Segmentation fault with NULL string columns |
Дата | |
Msg-id | CABj_V-kW-jfwkfh7kxMjz7VYhoW-rFd_yo-U78sbEyuMnkBKrQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #6185: Segmentation fault with NULL string columns (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>) |
Список | pgsql-bugs |
On Tue, Aug 30, 2011 at 8:21 PM, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote: > > to_ascii_encname is marked as STRICT, which means that it returns NULL > on NULL input, without ever calling the underlying C function. The > "to_ascii" function that you created is not marked as STRICT, so the > to_ascii_encname C function is called on NULL input. It's not prepared > for that, and crashes, because it's not supposed to be called on NULL > input. I figured that 5 minutes after reporting. I tried to sent a reply email but it seems it didn't arrive. Thanks anyway. > Why do you create your own 'internal' language function like that in > the first place? Just use the existing to_ascii function. The default to_ascii expects a string as a first argument. As our DB encoding is UTF8 we need to filter everything through convert_to(..., 'LATIN1'). Because convert_to function returns a "bytea" type, we cannot use to_ascii in vanilla flavour. We are not too fond with the PostgreSQL specifics (although the explicit ::text cast didn't work), so we found that function definition on a wiki and it worked. But now, unless you know a more correct way to do it, it works like a charm by appending "STRICT" to the function definition. Best regards and sorry for the noise. -- Isaac Jurado Internet Busines Solutions eConcept
В списке pgsql-bugs по дате отправления: