Thread: pgsql-server: Reimplement the linked list data structure used throughout
pgsql-server: Reimplement the linked list data structure used throughout
From
neilc@svr1.postgresql.org (Neil Conway)
Date:
Log Message: ----------- Reimplement the linked list data structure used throughout the backend. In the past, we used a 'Lispy' linked list implementation: a "list" was merely a pointer to the head node of the list. The problem with that design is that it makes lappend() and length() linear time. This patch fixes that problem (and others) by maintaining a count of the list length and a pointer to the tail node along with each head node pointer. A "list" is now a pointer to a structure containing some meta-data about the list; the head and tail pointers in that structure refer to ListCell structures that maintain the actual linked list of nodes. The function names of the list API have also been changed to, I hope, be more logically consistent. By default, the old function names are still available; they will be disabled-by-default once the rest of the tree has been updated to use the new API names. Modified Files: -------------- pgsql-server/src/backend/access/common: printtup.c (r1.80 -> r1.81) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/common/printtup.c.diff?r1=1.80&r2=1.81) tupdesc.c (r1.102 -> r1.103) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/common/tupdesc.c.diff?r1=1.102&r2=1.103) pgsql-server/src/backend/access/nbtree: nbtxlog.c (r1.10 -> r1.11) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/nbtree/nbtxlog.c.diff?r1=1.10&r2=1.11) pgsql-server/src/backend/bootstrap: bootparse.y (r1.67 -> r1.68) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/bootstrap/bootparse.y.diff?r1=1.67&r2=1.68) pgsql-server/src/backend/catalog: aclchk.c (r1.98 -> r1.99) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/catalog/aclchk.c.diff?r1=1.98&r2=1.99) dependency.c (r1.35 -> r1.36) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/catalog/dependency.c.diff?r1=1.35&r2=1.36) heap.c (r1.264 -> r1.265) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/catalog/heap.c.diff?r1=1.264&r2=1.265) index.c (r1.231 -> r1.232) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/catalog/index.c.diff?r1=1.231&r2=1.232) namespace.c (r1.63 -> r1.64) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/catalog/namespace.c.diff?r1=1.63&r2=1.64) pg_proc.c (r1.115 -> r1.116) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/catalog/pg_proc.c.diff?r1=1.115&r2=1.116) pgsql-server/src/backend/commands: aggregatecmds.c (r1.17 -> r1.18) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/aggregatecmds.c.diff?r1=1.17&r2=1.18) alter.c (r1.6 -> r1.7) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/alter.c.diff?r1=1.6&r2=1.7) analyze.c (r1.72 -> r1.73) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/analyze.c.diff?r1=1.72&r2=1.73) async.c (r1.111 -> r1.112) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/async.c.diff?r1=1.111&r2=1.112) cluster.c (r1.123 -> r1.124) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/cluster.c.diff?r1=1.123&r2=1.124) comment.c (r1.76 -> r1.77) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/comment.c.diff?r1=1.76&r2=1.77) copy.c (r1.223 -> r1.224) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/copy.c.diff?r1=1.223&r2=1.224) dbcommands.c (r1.132 -> r1.133) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/dbcommands.c.diff?r1=1.132&r2=1.133) define.c (r1.88 -> r1.89) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/define.c.diff?r1=1.88&r2=1.89) explain.c (r1.120 -> r1.121) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/explain.c.diff?r1=1.120&r2=1.121) functioncmds.c (r1.46 -> r1.47) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/functioncmds.c.diff?r1=1.46&r2=1.47) indexcmds.c (r1.119 -> r1.120) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/indexcmds.c.diff?r1=1.119&r2=1.120) lockcmds.c (r1.9 -> r1.10) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/lockcmds.c.diff?r1=1.9&r2=1.10) opclasscmds.c (r1.24 -> r1.25) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/opclasscmds.c.diff?r1=1.24&r2=1.25) operatorcmds.c (r1.15 -> r1.16) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/operatorcmds.c.diff?r1=1.15&r2=1.16) portalcmds.c (r1.26 -> r1.27) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/portalcmds.c.diff?r1=1.26&r2=1.27) prepare.c (r1.26 -> r1.27) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/prepare.c.diff?r1=1.26&r2=1.27) schemacmds.c (r1.17 -> r1.18) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/schemacmds.c.diff?r1=1.17&r2=1.18) sequence.c (r1.110 -> r1.111) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/sequence.c.diff?r1=1.110&r2=1.111) tablecmds.c (r1.107 -> r1.108) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/tablecmds.c.diff?r1=1.107&r2=1.108) trigger.c (r1.164 -> r1.165) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/trigger.c.diff?r1=1.164&r2=1.165) typecmds.c (r1.56 -> r1.57) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/typecmds.c.diff?r1=1.56&r2=1.57) user.c (r1.140 -> r1.141) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/user.c.diff?r1=1.140&r2=1.141) vacuum.c (r1.277 -> r1.278) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/vacuum.c.diff?r1=1.277&r2=1.278) variable.c (r1.96 -> r1.97) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/variable.c.diff?r1=1.96&r2=1.97) view.c (r1.81 -> r1.82) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/view.c.diff?r1=1.81&r2=1.82) pgsql-server/src/backend/executor: execAmi.c (r1.78 -> r1.79) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execAmi.c.diff?r1=1.78&r2=1.79) execJunk.c (r1.39 -> r1.40) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execJunk.c.diff?r1=1.39&r2=1.40) execMain.c (r1.231 -> r1.232) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execMain.c.diff?r1=1.231&r2=1.232) execProcnode.c (r1.42 -> r1.43) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execProcnode.c.diff?r1=1.42&r2=1.43) execQual.c (r1.159 -> r1.160) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execQual.c.diff?r1=1.159&r2=1.160) execScan.c (r1.30 -> r1.31) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execScan.c.diff?r1=1.30&r2=1.31) execTuples.c (r1.77 -> r1.78) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execTuples.c.diff?r1=1.77&r2=1.78) execUtils.c (r1.110 -> r1.111) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execUtils.c.diff?r1=1.110&r2=1.111) functions.c (r1.80 -> r1.81) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/functions.c.diff?r1=1.80&r2=1.81) nodeAgg.c (r1.119 -> r1.120) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeAgg.c.diff?r1=1.119&r2=1.120) nodeAppend.c (r1.56 -> r1.57) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeAppend.c.diff?r1=1.56&r2=1.57) nodeFunctionscan.c (r1.24 -> r1.25) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeFunctionscan.c.diff?r1=1.24&r2=1.25) nodeHash.c (r1.83 -> r1.84) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeHash.c.diff?r1=1.83&r2=1.84) nodeHashjoin.c (r1.60 -> r1.61) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeHashjoin.c.diff?r1=1.60&r2=1.61) nodeIndexscan.c (r1.93 -> r1.94) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeIndexscan.c.diff?r1=1.93&r2=1.94) nodeMergejoin.c (r1.64 -> r1.65) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeMergejoin.c.diff?r1=1.64&r2=1.65) nodeSubplan.c (r1.61 -> r1.62) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeSubplan.c.diff?r1=1.61&r2=1.62) nodeTidscan.c (r1.37 -> r1.38) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/nodeTidscan.c.diff?r1=1.37&r2=1.38) spi.c (r1.113 -> r1.114) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/spi.c.diff?r1=1.113&r2=1.114) pgsql-server/src/backend/libpq: crypt.c (r1.58 -> r1.59) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/libpq/crypt.c.diff?r1=1.58&r2=1.59) hba.c (r1.122 -> r1.123) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/libpq/hba.c.diff?r1=1.122&r2=1.123) pgsql-server/src/backend/nodes: copyfuncs.c (r1.281 -> r1.282) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/nodes/copyfuncs.c.diff?r1=1.281&r2=1.282) equalfuncs.c (r1.220 -> r1.221) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/nodes/equalfuncs.c.diff?r1=1.220&r2=1.221) list.c (r1.56 -> r1.57) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/nodes/list.c.diff?r1=1.56&r2=1.57) outfuncs.c (r1.236 -> r1.237) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/nodes/outfuncs.c.diff?r1=1.236&r2=1.237) print.c (r1.66 -> r1.67) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/nodes/print.c.diff?r1=1.66&r2=1.67) read.c (r1.41 -> r1.42) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/nodes/read.c.diff?r1=1.41&r2=1.42) readfuncs.c (r1.169 -> r1.170) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/nodes/readfuncs.c.diff?r1=1.169&r2=1.170) pgsql-server/src/backend/optimizer/geqo: geqo_eval.c (r1.67 -> r1.68) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/geqo/geqo_eval.c.diff?r1=1.67&r2=1.68) pgsql-server/src/backend/optimizer/path: allpaths.c (r1.114 -> r1.115) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/path/allpaths.c.diff?r1=1.114&r2=1.115) clausesel.c (r1.65 -> r1.66) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/path/clausesel.c.diff?r1=1.65&r2=1.66) costsize.c (r1.126 -> r1.127) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/path/costsize.c.diff?r1=1.126&r2=1.127) indxpath.c (r1.158 -> r1.159) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/path/indxpath.c.diff?r1=1.158&r2=1.159) joinpath.c (r1.86 -> r1.87) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/path/joinpath.c.diff?r1=1.86&r2=1.87) joinrels.c (r1.67 -> r1.68) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/path/joinrels.c.diff?r1=1.67&r2=1.68) orindxpath.c (r1.57 -> r1.58) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/path/orindxpath.c.diff?r1=1.57&r2=1.58) pathkeys.c (r1.56 -> r1.57) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/path/pathkeys.c.diff?r1=1.56&r2=1.57) tidpath.c (r1.18 -> r1.19) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/path/tidpath.c.diff?r1=1.18&r2=1.19) pgsql-server/src/backend/optimizer/plan: createplan.c (r1.169 -> r1.170) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/plan/createplan.c.diff?r1=1.169&r2=1.170) initsplan.c (r1.98 -> r1.99) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/plan/initsplan.c.diff?r1=1.98&r2=1.99) planner.c (r1.169 -> r1.170) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/plan/planner.c.diff?r1=1.169&r2=1.170) setrefs.c (r1.101 -> r1.102) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/plan/setrefs.c.diff?r1=1.101&r2=1.102) subselect.c (r1.89 -> r1.90) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/plan/subselect.c.diff?r1=1.89&r2=1.90) pgsql-server/src/backend/optimizer/prep: prepjointree.c (r1.17 -> r1.18) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/prep/prepjointree.c.diff?r1=1.17&r2=1.18) prepqual.c (r1.41 -> r1.42) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/prep/prepqual.c.diff?r1=1.41&r2=1.42) preptlist.c (r1.66 -> r1.67) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/prep/preptlist.c.diff?r1=1.66&r2=1.67) prepunion.c (r1.110 -> r1.111) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/prep/prepunion.c.diff?r1=1.110&r2=1.111) pgsql-server/src/backend/optimizer/util: clauses.c (r1.170 -> r1.171) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/util/clauses.c.diff?r1=1.170&r2=1.171) joininfo.c (r1.37 -> r1.38) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/util/joininfo.c.diff?r1=1.37&r2=1.38) pathnode.c (r1.104 -> r1.105) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/util/pathnode.c.diff?r1=1.104&r2=1.105) plancat.c (r1.91 -> r1.92) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/util/plancat.c.diff?r1=1.91&r2=1.92) relnode.c (r1.56 -> r1.57) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/util/relnode.c.diff?r1=1.56&r2=1.57) restrictinfo.c (r1.26 -> r1.27) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/util/restrictinfo.c.diff?r1=1.26&r2=1.27) tlist.c (r1.62 -> r1.63) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/util/tlist.c.diff?r1=1.62&r2=1.63) var.c (r1.56 -> r1.57) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/optimizer/util/var.c.diff?r1=1.56&r2=1.57) pgsql-server/src/backend/parser: analyze.c (r1.300 -> r1.301) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/analyze.c.diff?r1=1.300&r2=1.301) gram.y (r2.454 -> r2.455) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/gram.y.diff?r1=2.454&r2=2.455) parse_agg.c (r1.61 -> r1.62) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/parse_agg.c.diff?r1=1.61&r2=1.62) parse_clause.c (r1.129 -> r1.130) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/parse_clause.c.diff?r1=1.129&r2=1.130) parse_coerce.c (r2.115 -> r2.116) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/parse_coerce.c.diff?r1=2.115&r2=2.116) parse_expr.c (r1.170 -> r1.171) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/parse_expr.c.diff?r1=1.170&r2=1.171) parse_func.c (r1.168 -> r1.169) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/parse_func.c.diff?r1=1.168&r2=1.169) parse_node.c (r1.82 -> r1.83) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/parse_node.c.diff?r1=1.82&r2=1.83) parse_relation.c (r1.94 -> r1.95) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/parse_relation.c.diff?r1=1.94&r2=1.95) parse_target.c (r1.117 -> r1.118) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/parse_target.c.diff?r1=1.117&r2=1.118) parse_type.c (r1.65 -> r1.66) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/parser/parse_type.c.diff?r1=1.65&r2=1.66) pgsql-server/src/backend/rewrite: rewriteDefine.c (r1.94 -> r1.95) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/rewrite/rewriteDefine.c.diff?r1=1.94&r2=1.95) rewriteHandler.c (r1.135 -> r1.136) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/rewrite/rewriteHandler.c.diff?r1=1.135&r2=1.136) rewriteManip.c (r1.82 -> r1.83) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/rewrite/rewriteManip.c.diff?r1=1.82&r2=1.83) pgsql-server/src/backend/tcop: postgres.c (r1.414 -> r1.415) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/tcop/postgres.c.diff?r1=1.414&r2=1.415) pquery.c (r1.77 -> r1.78) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/tcop/pquery.c.diff?r1=1.77&r2=1.78) utility.c (r1.215 -> r1.216) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/tcop/utility.c.diff?r1=1.215&r2=1.216) pgsql-server/src/backend/utils/adt: name.c (r1.50 -> r1.51) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/name.c.diff?r1=1.50&r2=1.51) regproc.c (r1.87 -> r1.88) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/regproc.c.diff?r1=1.87&r2=1.88) ri_triggers.c (r1.67 -> r1.68) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/ri_triggers.c.diff?r1=1.67&r2=1.68) ruleutils.c (r1.166 -> r1.167) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/ruleutils.c.diff?r1=1.166&r2=1.167) selfuncs.c (r1.158 -> r1.159) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/selfuncs.c.diff?r1=1.158&r2=1.159) tid.c (r1.43 -> r1.44) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/tid.c.diff?r1=1.43&r2=1.44) varlena.c (r1.112 -> r1.113) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/adt/varlena.c.diff?r1=1.112&r2=1.113) pgsql-server/src/backend/utils/cache: catcache.c (r1.111 -> r1.112) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/cache/catcache.c.diff?r1=1.111&r2=1.112) relcache.c (r1.202 -> r1.203) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/cache/relcache.c.diff?r1=1.202&r2=1.203) typcache.c (r1.5 -> r1.6) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/cache/typcache.c.diff?r1=1.5&r2=1.6) pgsql-server/src/backend/utils/init: miscinit.c (r1.124 -> r1.125) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/init/miscinit.c.diff?r1=1.124&r2=1.125) pgsql-server/src/backend/utils/misc: guc.c (r1.206 -> r1.207) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/misc/guc.c.diff?r1=1.206&r2=1.207) pgsql-server/src/include/nodes: nodes.h (r1.154 -> r1.155) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/nodes/nodes.h.diff?r1=1.154&r2=1.155) pg_list.h (r1.43 -> r1.44) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/nodes/pg_list.h.diff?r1=1.43&r2=1.44) pgsql-server/src/include/parser: parsetree.h (r1.23 -> r1.24) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/parser/parsetree.h.diff?r1=1.23&r2=1.24) pgsql-server/src/pl/plpgsql/src: pl_exec.c (r1.100 -> r1.101) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/pl/plpgsql/src/pl_exec.c.diff?r1=1.100&r2=1.101) pgsql-server/src/pl/tcl: pltcl.c (r1.83 -> r1.84) (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/pl/tcl/pltcl.c.diff?r1=1.83&r2=1.84)