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

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: Fix PL/Python metadata when there is no result
Дата
Msg-id 1333647205.2524.10.camel@vanquo.pezone.net
обсуждение исходный текст
Ответ на Re: Fix PL/Python metadata when there is no result  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Fix PL/Python metadata when there is no result  (Jean-Baptiste Quenot <jbq@caraldi.com>)
Re: Fix PL/Python metadata when there is no result  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On lör, 2012-03-24 at 16:24 -0400, Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
> > On ons, 2012-03-07 at 17:14 -0500, Tom Lane wrote:
> >> I said it was a reasonable alternative, not that it was the only one
> >> we should consider.  The behavior of .nrows() might be accidental,
> >> but perhaps it is a preferable model to adopt.
> 
> > After pondering this for several days now I still think the best
> > approach is to change .nrows() to return None for utility commands and
> > have the other metadata functions throw exceptions.
> 
> OK, I don't have strong feelings about it.

Well, scratch that.

This whole area is sloppily documented.  resultset.nrows() returns
SPI_processed, which is the number of rows, er, processed by the
statement, which may or may not be the number of rows returned.  So a
statement that returns no result set could very well have nrows() > 0.

The number of rows returned can be obtained by using len(resultset) (not
documented, but one could perhaps guess it).  But len() cannot return
None, so we cannot use that as a marker.

The alternatives are now to introduce a new function like has_rows()
that returns True iff result rows exist and therefore result metadata
can be fetched, or go back to having coltypes() et al. return None when
no metadata exists.  I'm in favor of the latter, because the former
would add somewhat needless complications and doesn't really add any
robustness or the like.




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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: patch: improve SLRU replacement algorithm
Следующее
От: Simon Riggs
Дата:
Сообщение: Last gasp