Re: Syntax Error for "boolean('value')" Type Casting

From: David Johnston <polobo(at)yahoo(dot)com>
To: Alban Hertroys <dalroi(at)solfertje(dot)student(dot)utwente(dot)nl>
Cc: "<pgsql-general(at)postgresql(dot)org>" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Syntax Error for "boolean('value')" Type Casting
Date: 2011-05-22 13:37:15
Message-ID: B298213B-5F05-457B-9C91-4BB5CFC63A8E@yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On May 22, 2011, at 6:22, Alban Hertroys <dalroi(at)solfertje(dot)student(dot)utwente(dot)nl> wrote:

> On 21 May 2011, at 21:17, David Johnston wrote:
>
>> SELECT boolean('true')
>>
>>>> SQL Error: ERROR: syntax error at or near "("
>>>> LINE 1: SELECT boolean('true')
>>>> ^
>>
>> The following work as expected:
>>
>> SELECT bool('true')
>
> (...)
>
>> While I'm here.is there any downside to using the "type(value)" form of
>> casting versus other forms?
>
> You're comparing apples and oranges here, you're not using a cast at all in fact.
>
> Instead, you're calling the transformation function that's used by the cast. It just happens to be called the same as the type in some cases, which is why boolean(value) doesn't work.
>
> Now calling such functions will probably work just the same as the cast in most cases, but there will be some discrepancies, as follows from reading: http://www.postgresql.org/docs/9.0/interactive/sql-createcast.html
>
> Alban Hertroys
>
>

I did end up finding the notes on the how's and caveats of using the direct method version for casting. I also tried "boolean" and indeed got the "function not found" error. All that said, it seems that one could add the Boolean function, even if it just calls bool, to get consistent behavior.

Doesn't matter to me at this point since I've decided to use the SQL conforming syntax of CAST(v as type).

Thank you the response though

David J.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Wei 2011-05-22 14:28:47 repost: unable to install PG
Previous Message Stefan Keller 2011-05-22 13:21:45 Re: Values larger than 1/3 of a buffer page cannot be indexed (hstore)