Re: Fix PL/Python metadata when there is no result

Peter Eisentraut <peter_e@gmx.net>

From: Peter Eisentraut <peter_e@gmx.net>
To: Jean-Baptiste Quenot <jbq@caraldi.com>
Cc: pgsql-hackers@postgresql.org
Date: 2012-03-07T20:47:22Z
Lists: pgsql-hackers
On lör, 2012-02-25 at 18:03 +0100, Jean-Baptiste Quenot wrote:
> IMO raising an error is much better because:
> 
> 1) It is not a valid usecase to retrieve result metadata when no rows
> are expected to be returned

Which led me to think, how are you actually expected to know when no
rows are expected to be returned, in PL/Python?  You can look at
result.status(), which returns a numeric SPI status, but that seems
fragile.  I notice that result.nrows() returns None when no rows are
returned.  Is that good enough?  In that case, we should document that
and then make the new functions throw exceptions like you suggest.