Re: BUG #4044: Incorrect RegExp substring Output

Поиск
Список
Период
Сортировка
От Rui Martins
Тема Re: BUG #4044: Incorrect RegExp substring Output
Дата
Msg-id 1321.B1UHWUVdEF8=.1205924955.squirrel@www.pdmfc.com
обсуждение исходный текст
Ответ на Re: BUG #4044: Incorrect RegExp substring Output  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
> "Rui Martins" <Rui.Martins@pdmfc.com> writes:
>> Description:        Incorrect  RegExp substring Output
>
>>        SUBSTRING( BedNo FROM '^[[:digit:]]+[a-zA-Z]*(:[[:digit:]]+)?$' )
>
> Interesting.  It had never occurred to me that it's possible for the
> whole pattern to have a match when some parenthesized subexpression
> has no match.  On investigation, Tcl's regex library seems to get
> this right, but textregexsubstr() doesn't.  Will fix.
>
>> I would expect the result for BedNumber to be either NULL or the EMPTY
>> String, and the later seems more logical.
>
> It's going to be null.  Your example has no match to the parenthesized
> substring --- a match would have to include a colon and some digits, no?

Yes, the subexpression will not match, but the entire expression will.
Taking this into account I agree that it should be NULL then, but this
should be CLEARLY stated in the MANUAL, so that the user will not have to
guess.

I believe that there should be a more detailed explanation of Substring
function in the manual, because I haven't found a specific section about
it. It is kind of scattered around the string functions page.

>             regards, tom lane

Thank you for your feedback.

P.S.
  Will the fix be available as a patch or just in 8.3.1 ?

See ya
   Rui Martins

В списке pgsql-bugs по дате отправления:

Предыдущее
От: "Heikki Linnakangas"
Дата:
Сообщение: Re: 8.3 can't convert cyrillic text from 'iso-8859-5' to other cyrillic 8-bit encoding
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #4044: Incorrect RegExp substring Output