Skip site navigation (1) Skip section navigation (2)

Re: libpq custom row processing

From: Federico Di Gregorio <fog(at)dndg(dot)it>
To: Marko Kreen <markokr(at)gmail(dot)com>
Cc: psycopg(at)postgresql(dot)org
Subject: Re: libpq custom row processing
Date: 2012-08-07 11:46:10
Message-ID: 50210002.8060100@dndg.it (view raw or flat)
Thread:
Lists: psycopg
On 07/08/12 13:41, Marko Kreen wrote:
> Same thing happens when you fetch the result in transaction
> and later query fails with error thus invalidating earlier
> processing.  So nothing new.
> 
> Or how about FETCH 100 from cursor in transaction,
> and first few succeed and later one fails.
> 
> It's up to user code to handle such cases correctly
> and "correct" here depends on actual business logic
> of the transaction.
> 
> The warning is there because there is now new
> failure scenario, but not because the failure
> needs any kind of special handling.

I don't agree. Simple code like:

curs.execute("SELECT * FROM xs")
for x in curs.fetchall():
    # do something like writing to the file system with x

will have a different effect if row-by-row processing is enabled. Before
nothing would be changed on the file system in case of error: the
fetchall() is "atomic"; while now you write to the file system until the
row that causes the error is processed.

federico

-- 
Federico Di Gregorio                         federico(dot)digregorio(at)dndg(dot)it
Studio Associato Di Nunzio e Di Gregorio                  http://dndg.it
 There's no greys, only white that's got grubby. I'm surprised you
  don't know that. And sin, young man, is when you treat people as
  things. Including yourself.                       -- Granny Weatherwax

In response to

Responses

psycopg by date

Next:From: Marko KreenDate: 2012-08-07 13:14:37
Subject: Re: libpq custom row processing
Previous:From: Marko KreenDate: 2012-08-07 11:41:41
Subject: Re: libpq custom row processing

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group