diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-05-28 23:06:16 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-05-28 23:06:16 +0000 |
commit | 7c7139cf29b56d1b24cecf09a04ffd7e75c31737 (patch) | |
tree | 6b45d9f7484a9dd0b7fa5a2319348b48abe92a99 /src/backend/commands/explain.c | |
parent | 8a6ac83dab3b3a5701a0508daa1d9356e2d59cdb (diff) | |
download | postgresql-7c7139cf29b56d1b24cecf09a04ffd7e75c31737.tar.gz postgresql-7c7139cf29b56d1b24cecf09a04ffd7e75c31737.zip |
Knock down a couple more lappend() hotspots for large WHERE clauses.
Diffstat (limited to 'src/backend/commands/explain.c')
-rw-r--r-- | src/backend/commands/explain.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index 879a7e6d682..3ce00d4ad0c 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994-5, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.109 2003/05/08 18:16:36 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.110 2003/05/28 23:06:16 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1033,12 +1033,15 @@ make_ors_ands_explicit(List *orclauses) return (Node *) make_ands_explicit(lfirst(orclauses)); else { - List *args = NIL; + FastList args; List *orptr; + FastListInit(&args); foreach(orptr, orclauses) - args = lappend(args, make_ands_explicit(lfirst(orptr))); + { + FastAppend(&args, make_ands_explicit(lfirst(orptr))); + } - return (Node *) make_orclause(args); + return (Node *) make_orclause(FastListValue(&args)); } } |