Re: how can I recover from truncate write?

Поиск
Список
Период
Сортировка
От Barry Lind
Тема Re: how can I recover from truncate write?
Дата
Msg-id 3DD5BB56.6050300@xythos.com
обсуждение исходный текст
Ответ на how can I recover from truncate write?  (Steve Pothier <pothiers@nemesis.tucson.saic.com>)
Список pgsql-jdbc
Steve,

There really is no good way to do this.  The database is generating the
error.  And actually the SQL standard says this is supposed to be an
error condition.  So I am not sure anything should be changed in either
the driver or the database.  You really need to test the data before
sending it to the driver.

thanks,
--Barry


Steve Pothier wrote:
> If I attempt to write a field to the DB that is too long, I get an
> SQLException (not SQLWarning, not DataTrunctation).  The INSERT
> apparently fails.  I'ld like to issue a warning and automatically
> truncate to fit.  Given that I only get a general SQLException,
> PROGRAMATICALLY its difficult to know that I got a data truncation (as
> opposed to other exception) and if truncation, its difficult to know
> how long the field is allowed to be (or even which field failed).
>
> SQLException.getMessage() yields: "value too long for type character
> varying(20)"  so I COULD parse that message but that seems horrid.
>
> Any better ideas?
>
>
>
> The doc http://lab.applinet.nl/postgresql-jdbc/ discusses two
> conflicting readings on what should happen with regard to data
> truncation.  I just tried some tests and neither approaches work
> (ie. the truncation is not reported by Statement.getWarnings(), and
> is not thrown as an SQLWarning or DataTruncation exceptions).  I think
> this means the driver is guaranteed to be wrong (and hard to use in
> the face of truncations!)
>
> The doc already warns that DataTruncation is never thrown. It does not
> point out that Statement.getWarnings also does not work for data
> truncation errors.
>
>
> -Steve-
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>




В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Barry Lind
Дата:
Сообщение: Re: krb5 authentication
Следующее
От: Barry Lind
Дата:
Сообщение: Re: streaming result sets: progress