Re: Regression in 8.3?
От | Tom Lane |
---|---|
Тема | Re: Regression in 8.3? |
Дата | |
Msg-id | 6514.1194884329@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: Regression in 8.3? (Martijn van Oosterhout <kleptog@svana.org>) |
Ответы |
Re: Regression in 8.3?
Re: Regression in 8.3? |
Список | pgsql-general |
Martijn van Oosterhout <kleptog@svana.org> writes: > On Mon, Nov 12, 2007 at 02:46:50PM +0100, Karsten Hilbert wrote: >> It surely makes sense - in your environment - but it's not >> the only interpretation so PG tries to be impartial and >> makes both of us say clearly what we want. > If people want it they can add the automatic cast back in, it just > isn't dfault anymore. I wouldn't recommend that, as it'd re-open all the gotchas that we took out the implicit cast to prevent. However, if you want the behavior for LIKE only, you can make an operator: regression=# select 84 like '8%'; ERROR: operator does not exist: integer ~~ unknown LINE 1: select 84 like '8%'; ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. regression=# create function anylike(anyelement, text) returns bool as $$ regression$# select $1::text like $2 regression$# $$ language sql; CREATE FUNCTION regression=# create operator ~~ ( procedure = anylike, regression(# leftarg = anyelement, rightarg = text ); CREATE OPERATOR regression=# select 84 like '8%'; ?column? ---------- t (1 row) regression=# regards, tom lane
В списке pgsql-general по дате отправления: