Re: BUG #5273: Unexpected function behavior/failure

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #5273: Unexpected function behavior/failure
Дата
Msg-id 29476.1263343544@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #5273: Unexpected function behavior/failure  ("Vee" <sefer@hotmail.com>)
Ответы Re: BUG #5273: Unexpected function behavior/failure  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-bugs
"Vee" <sefer@hotmail.com> writes:
> -- The problem query
> select data, regexp_matches(data, '(h..l)')
> from test;

>> hello    {hell}

> Since I have no "where" clause, I would expect to see all the rows in the
> result of the second case, with possibly a NULL value for the non-matched
> rows.

No.  regexp_matches() returns setof something, meaning a row per match.
When you have no match, you get no rows.  And that in turn means that
the calling select produces no rows --- just as it could also produce
more than one row from a given table row.

I think the behavior you are after is probably more like that of
substring().

            regards, tom lane

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

Предыдущее
От: "Vee"
Дата:
Сообщение: BUG #5273: Unexpected function behavior/failure
Следующее
От: Robert Haas
Дата:
Сообщение: Re: BUG #5273: Unexpected function behavior/failure