Re: AW: Truncation of char, varchar types

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Zeugswetter Andreas SB <ZeugswetterA(at)wien(dot)spardat(dot)at>
Cc: PostgreSQL Development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: AW: Truncation of char, varchar types
Date: 2001-04-10 16:07:03
Message-ID: Pine.LNX.4.30.0104101802001.1403-100000@peter.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Zeugswetter Andreas SB writes:

> > Excessively long values are currently silently truncated when they are
> > inserted into char or varchar fields. This makes the entire notion of
> > specifying a length limit for these types kind of useless, IMO. Needless
> > to say, it's also not in compliance with SQL.
>
> To quote Tom "paragraph and verse please" :-)

SQL 1992, 9.2 GR 3 e)

"""
If the data type of T is variable-length character string and
the length in characters M of V is greater than the maximum
length in characters L of T, then,

Case:

i) If the rightmost M-L characters of V are all <space>s, then
the value of T is set to the first L characters of V and
the length in characters of T is set to L.

ii) If one or more of the rightmost M-L characters of V are
not <space>s, then an exception condition is raised: data
^^^^^^^^^
exception-string data, right truncation.
"""

Similarly in SQL 1999 and for other data types.

> > How do people feel about changing this to raise an error in this
> > situation?
>
> Can't do.

Why not?

--
Peter Eisentraut peter_e(at)gmx(dot)net http://yi.org/peter-e/

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Stephan Szabo 2001-04-10 16:13:49 Re: [HACKERS] Indexes not used in 7.1RC4: Bug?
Previous Message Peter Mount 2001-04-10 15:55:23 Re: JDBC and Perl compiling problems w/ postgresql-7.1rc4