> "Rui Martins" <[EMAIL PROTECTED]> 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 -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs