Re: Change in casting behavior?
Thomas Swan <tswan@olemiss.edu>
From: Thomas Swan <tswan@olemiss.edu>
To: Peter Eisentraut <peter_e@gmx.net>
Cc: Thomas Swan <tswan-lst@ics.olemiss.edu>, Postgresql Hackers <pgsql-hackers@postgresql.org>
Date: 2002-02-16T04:36:06Z
Lists: pgsql-hackers
Attachments
- (unnamed) (text/html)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
Peter Eisentraut wrote:<br>
<blockquote type="cite" cite="midPine.LNX.4.30.0202152033550.681-100000@peter.localdomain">
<pre wrap="">Thomas Swan writes:<br><br></pre>
<blockquote type="cite">
<pre wrap="">select (random( )*10)::varchar(4)<br>worked in 7.1.3<br><br>fails in 7.2<br><br>ERROR: value too long for type character varying(4)<br></pre>
</blockquote>
<pre wrap=""><!----><br>Say what you really mean:<br><br>select substring(random()*10 for 4);<br><br></pre>
</blockquote>
That may be the better way to say it. But, what I wanted to point out was
that the behavior had changed. Previously ::varchar(4) had worked. However,
now since 7.2 only ::text or varchar(n) where is sufficiently large to hold
the digits.<br>
<br>
As far as I was aware the correct behavior was to truncate the text representation
to fit the field size or the 'casted' size.<br>
<br>
I simply thought I would mention as it caught me by surpris.<br>
<br>
Thomas<br>
<br>
</body>
</html>