Aleksander Kmetec <aleksander(dot)kmetec(at)intera(dot)si> writes:
> Some quick testing shows that util.row_number() only gets re-evaluated at every call if the subquery contains an ORDER
> BY clause. Now we can predict whether we need to compensate for that just by looking at the original query.
If you're going to use a cursor, I don't understand why you don't just
MOVE FORWARD ALL and look at the returned rowcount to determine how
many rows in the query. This won't be any more expensive than fetching
the last row ...
regards, tom lane