Ken Tanzer <ken.tanzer@gmail.com> writes:
> Hi. If you try to assign a too-long string to a field, Postgresql will say
> so, but won't tell you which value/field is causing the problem:
> CREATE TEMP TABLE foo (a VARCHAR(2));
> INSERT INTO foo VALUES ('ABC');
> CREATE TABLE
> ERROR: value too long for type character varying(2)
> That doesn't matter much in a simple example like that, but the example
> below is currently making me wish PG was just a little bit more specific.
> Is there much chance of this changing in future releases?
It's an issue that's been on the radar screen for a long time, but it's
not very clear how to improve matters without a lot of added overhead
and/or an API break for user-defined data types, neither of which seem
like prices we'd be willing to pay. For that matter, it's not totally
clear what would constitute an improvement --- what do you wish it would
show you, exactly? In the particular case here, the fact that a varchar
length coercion is being invoked isn't even explicit in the query.
Good ideas welcome ...
regards, tom lane