Thread: pgsql: Be more tense about not creating tuplestores with randomAccess =

pgsql: Be more tense about not creating tuplestores with randomAccess =

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Be more tense about not creating tuplestores with randomAccess = true unless
backwards scan could actually happen.  In particular, pass a flag to
materialize-mode SRFs that tells them whether they need to require random
access.  In passing, also suppress unneeded backward-scan overhead for a
Portal's holdStore tuplestore.  Per my proposal about reducing I/O costs for
tuplestores.

Modified Files:
--------------
    pgsql/contrib/tablefunc:
        tablefunc.c (r1.54 -> r1.55)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/contrib/tablefunc/tablefunc.c?r1=1.54&r2=1.55)
    pgsql/contrib/xml2:
        xpath.c (r1.20 -> r1.21)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/contrib/xml2/xpath.c?r1=1.20&r2=1.21)
    pgsql/src/backend/commands:
        prepare.c (r1.91 -> r1.92)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/prepare.c?r1=1.91&r2=1.92)
    pgsql/src/backend/executor:
        execQual.c (r1.234 -> r1.235)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c?r1=1.234&r2=1.235)
        nodeFunctionscan.c (r1.48 -> r1.49)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeFunctionscan.c?r1=1.48&r2=1.49)
    pgsql/src/backend/utils/fmgr:
        README (r1.14 -> r1.15)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/README?r1=1.14&r2=1.15)
    pgsql/src/backend/utils/mmgr:
        portalmem.c (r1.111 -> r1.112)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/mmgr/portalmem.c?r1=1.111&r2=1.112)
    pgsql/src/include/executor:
        executor.h (r1.150 -> r1.151)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/executor.h?r1=1.150&r2=1.151)
    pgsql/src/include/nodes:
        execnodes.h (r1.192 -> r1.193)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/execnodes.h?r1=1.192&r2=1.193)
    pgsql/src/pl/plperl:
        plperl.c (r1.140 -> r1.141)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c?r1=1.140&r2=1.141)
    pgsql/src/pl/plpgsql/src:
        pl_exec.c (r1.221 -> r1.222)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_exec.c?r1=1.221&r2=1.222)