Re: Failed to autoconvert '1' to text.

From: Richard Huxton <dev(at)archonet(dot)com>
To: Szymon Guz <mabewlun(at)gmail(dot)com>
Cc: PostgreSQL <pgsql-general(at)postgresql(dot)org>
Subject: Re: Failed to autoconvert '1' to text.
Date: 2013-09-06 08:33:18
Message-ID: 5229934E.1000601@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 06/09/13 09:13, Szymon Guz wrote:
> Hi,
> why isn't 'aa' always treated as string?

> with x as (
> select
> '1' a,
> '2' b
> )
> SELECT levenshtein(a, b), length(a)
> FROM x;
>
> ERROR: failed to find conversion function from unknown to text

> Why should I cast '1' to '1'::TEXT to satisfy a function (TEXT, TEXT)?

I think it's to do with the CTE. Presumably its types get fixed
separately from the SELECT levenshtein() call. A quoted literal is type
"unknown" until it has a context. It could be a date, point, hstore etc.

If you use the literals directly the context lets PostgreSQL figure it out.
SELECT levenshtein('1','2');

--
Richard Huxton
Archonet Ltd

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Szymon Guz 2013-09-06 08:39:38 Re: Failed to autoconvert '1' to text.
Previous Message Szymon Guz 2013-09-06 08:13:43 Failed to autoconvert '1' to text.