Обсуждение: executeBatch() and operation after error

Поиск
Список
Период
Сортировка

executeBatch() and operation after error

От
"Heiko W.Rupp"
Дата:
Hi,

JDBC 3.0 spec speifies that in 15.1.3 a driver may continue
processing statements in a batch
if one of the statements throws an error.

Is this supported by the current driver? If yes, how can I enable this?

I have a use case where most of the time my application would very
much benefit from
using batches, but where sometimes the data to be inserted is already
there.

Of course there is the workaround to check for a BatchException and
then doing a
getUpdateCounts() to fall back inserting everyhing 'by hand'. But
obviously it is desirable
for e.g. a batch of 10 to only process statement #2 if this is
failing and having all other
statements be treated by the batching

   Heiko


--
Heiko W.Rupp
heiko.rupp@redhat.com, http://www.dpunkt.de/buch/3-89864-429-4.html




Re: executeBatch() and operation after error

От
Dave Cramer
Дата:
On 15-Jan-07, at 6:13 AM, Heiko W.Rupp wrote:

> Hi,
>
> JDBC 3.0 spec speifies that in 15.1.3 a driver may continue
> processing statements in a batch
> if one of the statements throws an error.
>
> Is this supported by the current driver? If yes, how can I enable
> this?
A cursory examination of the code suggests not.
>
> I have a use case where most of the time my application would very
> much benefit from
> using batches, but where sometimes the data to be inserted is
> already there.
>
> Of course there is the workaround to check for a BatchException and
> then doing a
> getUpdateCounts() to fall back inserting everyhing 'by hand'. But
> obviously it is desirable
> for e.g. a batch of 10 to only process statement #2 if this is
> failing and having all other
> statements be treated by the batching

Given  the semantics of postgresql transactions this would be onerous
to implement. If a single statement fails in a transaction subsequent
statements fail.

Dave
>
>   Heiko
>
>
> --
> Heiko W.Rupp
> heiko.rupp@redhat.com, http://www.dpunkt.de/buch/3-89864-429-4.html
>
>
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
>                http://www.postgresql.org/about/donate
>