Search Postgresql Archives

Re: When is an explicit cast necessary?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you for that helpful information. I thought I was going mad!
 
It would never have occurred to me to write a join which relied on an implicit cast between int and string. However, every language that I have ever used will implicitly convert an integer 1 to a smallint (or short) 1 when required to do so. How can such a cast be called "surprising behaviour", or produce "misleading results", to quote the first article?


--- On Fri, 9/4/10, Greg Smith <greg@xxxxxxxxxxxxxxx> wrote:

From: Greg Smith <greg@xxxxxxxxxxxxxxx>
Subject: Re: When is an explicit cast necessary?
To: "Alan Millington" <admillington@xxxxxxxxxxx>
Cc: "Postgres general mailing list" <pgsql-general@xxxxxxxxxxxxxx>
Date: Friday, 9 April, 2010, 15:06

Alan Millington wrote:
>
> As far as I remember, when I was using Postgres 8.1.4 that worked, but under Postgres 8.4.1 it results in the errors "Returned type integer does not match expected type smallint" and "Returned type unknown does not match expected type character".
>

There was a major breaking change to how casting is handled in 8.3.  Some good reading about what happened:

http://www.depesz.com/index.php/2008/05/05/error-operator-does-not-exist-integer-text-how-to-fix-it/
http://petereisentraut.blogspot.com/2008/03/readding-implicit-casts-in-postgresql.html

-- Greg Smith  2ndQuadrant US  Baltimore, MD
PostgreSQL Training, Services and Support
greg@xxxxxxxxxxxxxxx   www.2ndQuadrant.us



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux