Обсуждение: failed to find conversion function from "unknown" to text

Поиск
Список
Период
Сортировка

failed to find conversion function from "unknown" to text

От
Szűcs Gábor
Дата:
Dear Gurus,

Version: 8.0.0rc4

The scene below might look funny but it's essential for our project:
  [local]:tir=# select 'a' as asdf;   asdf  ------   a  (1 row)
  [local]:tir=# select case 'a' when 'a' then 1 else 2 end as asdf;  ERROR:  failed to find conversion function from
"unknown"to text
 

This worked up to v7.4.6, and couldn't see it in the "Migration" part of the 
HISTORY file.

Question: is there a way to tell the server to convert unknown to something 
(text or varchar, don't really care), or to write such a "conversion function"?

A similar conversion for name to varchar conversion would also be highly 
desirable for easier migration. Right now I'm writing wrapper functions for 
all our functions where params might be names.

If it's written in the doc, could you please tell me the page?

TIA,
-- 
G.


Re: failed to find conversion function from "unknown" to text

От
Tom Lane
Дата:
Szűcs Gábor <surrano@gmail.com> writes:
>    [local]:tir=# select case 'a' when 'a' then 1 else 2 end as asdf;
>    ERROR:  failed to find conversion function from "unknown" to text

> This worked up to v7.4.6, and couldn't see it in the "Migration" part of the 
> HISTORY file.

This is an unintended side effect of the change to evaluate CASE
constructs more efficiently.  I'll fix it.
        regards, tom lane


Re: failed to find conversion function from "unknown" to text

От
Andrew Sullivan
Дата:
On Wed, Jan 12, 2005 at 05:52:42PM +0100, Sz?cs Gábor wrote:
> Question: is there a way to tell the server to convert unknown to something 
> (text or varchar, don't really care), or to write such a "conversion 
> function"?

You ought to be able to cast (e.g. "SELECT case 'a'::text. . .)

A

-- 
Andrew Sullivan  | ajs@crankycanuck.ca
Information security isn't a technological problem.  It's an economics
problem.    --Bruce Schneier