Hi all, Whats the reason for disallowing cursors on wCTEs? I am not sure I can follow the comment:
/* * We also disallow data-modifying WITH in a cursor. (This could be * allowed, but the semantics of when the updates occur might be * surprising.) */ if (result->hasModifyingCTE) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("DECLARE CURSOR must not contain data-modifying statements in WITH"))); Given that cursors are about the only sensible way to return larger amounts of data, that behaviour reduces the usefulness of wCTEs a bit. Whats the exact cause of concern here? I personally don't think there is a problem documenting that you should fetch the cursor fully before relying on the updated tables to be in a sensible state. But that may be just me. Thanks, Andres -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers