Thread
-
DECLARE CURSOR code question
Neil Conway <neilc@samurai.com> — 2008-01-12T01:03:00Z
In CVS HEAD, why does exec_simple_query() pass an empty cursorOptions to pg_plan_queries() at postgres.c:903? If we're planning DECLARE CURSOR, ISTM we ought to be passing down the DECLARE CURSOR's cursorOptions. -Neil
-
Re: DECLARE CURSOR code question
Tom Lane <tgl@sss.pgh.pa.us> — 2008-01-12T02:02:02Z
Neil Conway <neilc@samurai.com> writes: > In CVS HEAD, why does exec_simple_query() pass an empty cursorOptions to > pg_plan_queries() at postgres.c:903? If we're planning DECLARE CURSOR, > ISTM we ought to be passing down the DECLARE CURSOR's cursorOptions. This code doesn't know (or care) whether it's dealing with DECLARE CURSOR. The planner picks up the information for itself --- look at the first few lines of standard_planner(). The cursorOptions parameter to planner() is kinda vestigial now as far as DECLARE CURSOR itself is concerned, but I left it in there since the SPI_prepare_cursor() API exposes it, and it seemed potentially useful for callers like plpgsql FOR-loops, which might want to impose some chosen semantics without physically modifying a querytree. regards, tom lane