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 по дате отправления: