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

failed to find conversion function from "unknown" to text

From
Szűcs Gábor
Date:
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

From
Tom Lane
Date:
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

From
Andrew Sullivan
Date:
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