pgsql: Extend the ExecInitNode API so that plan nodes receive a set of - Mailing list pgsql-committers
From | tgl@postgresql.org (Tom Lane) |
---|---|
Subject | pgsql: Extend the ExecInitNode API so that plan nodes receive a set of |
Date | |
Msg-id | 20060228041028.822E59DCBA5@postgresql.org Whole thread Raw |
List | pgsql-committers |
Log Message: ----------- Extend the ExecInitNode API so that plan nodes receive a set of flag bits indicating which optional capabilities can actually be exercised at runtime. This will allow Sort and Material nodes, and perhaps later other nodes, to avoid unnecessary overhead in common cases. This commit just adds the infrastructure and arranges to pass the correct flag values down to plan nodes; none of the actual optimizations are here yet. I'm committing this separately in case anyone wants to measure the added overhead. (It should be negligible.) Simon Riggs and Tom Lane Modified Files: -------------- pgsql/src/backend/commands: explain.c (r1.143 -> r1.144) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/explain.c.diff?r1=1.143&r2=1.144) pgsql/src/backend/executor: execMain.c (r1.267 -> r1.268) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execMain.c.diff?r1=1.267&r2=1.268) execProcnode.c (r1.52 -> r1.53) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execProcnode.c.diff?r1=1.52&r2=1.53) functions.c (r1.99 -> r1.100) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/functions.c.diff?r1=1.99&r2=1.100) nodeAgg.c (r1.136 -> r1.137) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeAgg.c.diff?r1=1.136&r2=1.137) nodeAppend.c (r1.66 -> r1.67) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeAppend.c.diff?r1=1.66&r2=1.67) nodeBitmapAnd.c (r1.4 -> r1.5) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapAnd.c.diff?r1=1.4&r2=1.5) nodeBitmapHeapscan.c (r1.8 -> r1.9) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapHeapscan.c.diff?r1=1.8&r2=1.9) nodeBitmapIndexscan.c (r1.15 -> r1.16) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapIndexscan.c.diff?r1=1.15&r2=1.16) nodeBitmapOr.c (r1.3 -> r1.4) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeBitmapOr.c.diff?r1=1.3&r2=1.4) nodeFunctionscan.c (r1.35 -> r1.36) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeFunctionscan.c.diff?r1=1.35&r2=1.36) nodeGroup.c (r1.62 -> r1.63) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeGroup.c.diff?r1=1.62&r2=1.63) nodeHash.c (r1.99 -> r1.100) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHash.c.diff?r1=1.99&r2=1.100) nodeHashjoin.c (r1.79 -> r1.80) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeHashjoin.c.diff?r1=1.79&r2=1.80) nodeIndexscan.c (r1.110 -> r1.111) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeIndexscan.c.diff?r1=1.110&r2=1.111) nodeLimit.c (r1.23 -> r1.24) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeLimit.c.diff?r1=1.23&r2=1.24) nodeMaterial.c (r1.51 -> r1.52) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeMaterial.c.diff?r1=1.51&r2=1.52) nodeMergejoin.c (r1.76 -> r1.77) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeMergejoin.c.diff?r1=1.76&r2=1.77) nodeNestloop.c (r1.40 -> r1.41) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeNestloop.c.diff?r1=1.40&r2=1.41) nodeResult.c (r1.32 -> r1.33) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeResult.c.diff?r1=1.32&r2=1.33) nodeSeqscan.c (r1.56 -> r1.57) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSeqscan.c.diff?r1=1.56&r2=1.57) nodeSetOp.c (r1.19 -> r1.20) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSetOp.c.diff?r1=1.19&r2=1.20) nodeSort.c (r1.53 -> r1.54) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSort.c.diff?r1=1.53&r2=1.54) nodeSubplan.c (r1.72 -> r1.73) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSubplan.c.diff?r1=1.72&r2=1.73) nodeSubqueryscan.c (r1.27 -> r1.28) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeSubqueryscan.c.diff?r1=1.27&r2=1.28) nodeTidscan.c (r1.46 -> r1.47) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeTidscan.c.diff?r1=1.46&r2=1.47) nodeUnique.c (r1.50 -> r1.51) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeUnique.c.diff?r1=1.50&r2=1.51) spi.c (r1.146 -> r1.147) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/spi.c.diff?r1=1.146&r2=1.147) pgsql/src/backend/tcop: pquery.c (r1.99 -> r1.100) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/pquery.c.diff?r1=1.99&r2=1.100) pgsql/src/include/executor: executor.h (r1.124 -> r1.125) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/executor.h.diff?r1=1.124&r2=1.125) nodeAgg.h (r1.24 -> r1.25) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeAgg.h.diff?r1=1.24&r2=1.25) nodeAppend.h (r1.23 -> r1.24) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeAppend.h.diff?r1=1.23&r2=1.24) nodeBitmapAnd.h (r1.1 -> r1.2) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeBitmapAnd.h.diff?r1=1.1&r2=1.2) nodeBitmapHeapscan.h (r1.1 -> r1.2) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeBitmapHeapscan.h.diff?r1=1.1&r2=1.2) nodeBitmapIndexscan.h (r1.1 -> r1.2) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeBitmapIndexscan.h.diff?r1=1.1&r2=1.2) nodeBitmapOr.h (r1.1 -> r1.2) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeBitmapOr.h.diff?r1=1.1&r2=1.2) nodeFunctionscan.h (r1.7 -> r1.8) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeFunctionscan.h.diff?r1=1.7&r2=1.8) nodeGroup.h (r1.28 -> r1.29) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeGroup.h.diff?r1=1.28&r2=1.29) nodeHash.h (r1.38 -> r1.39) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeHash.h.diff?r1=1.38&r2=1.39) nodeHashjoin.h (r1.30 -> r1.31) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeHashjoin.h.diff?r1=1.30&r2=1.31) nodeIndexscan.h (r1.26 -> r1.27) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeIndexscan.h.diff?r1=1.26&r2=1.27) nodeLimit.h (r1.11 -> r1.12) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeLimit.h.diff?r1=1.11&r2=1.12) nodeMaterial.h (r1.23 -> r1.24) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeMaterial.h.diff?r1=1.23&r2=1.24) nodeMergejoin.h (r1.22 -> r1.23) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeMergejoin.h.diff?r1=1.22&r2=1.23) nodeNestloop.h (r1.23 -> r1.24) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeNestloop.h.diff?r1=1.23&r2=1.24) nodeResult.h (r1.20 -> r1.21) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeResult.h.diff?r1=1.20&r2=1.21) nodeSeqscan.h (r1.22 -> r1.23) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeSeqscan.h.diff?r1=1.22&r2=1.23) nodeSetOp.h (r1.11 -> r1.12) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeSetOp.h.diff?r1=1.11&r2=1.12) nodeSort.h (r1.20 -> r1.21) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeSort.h.diff?r1=1.20&r2=1.21) nodeSubplan.h (r1.22 -> r1.23) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeSubplan.h.diff?r1=1.22&r2=1.23) nodeSubqueryscan.h (r1.11 -> r1.12) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeSubqueryscan.h.diff?r1=1.11&r2=1.12) nodeTidscan.h (r1.15 -> r1.16) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeTidscan.h.diff?r1=1.15&r2=1.16) nodeUnique.h (r1.20 -> r1.21) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/nodeUnique.h.diff?r1=1.20&r2=1.21)
pgsql-committers by date: