aboutsummaryrefslogtreecommitdiff
path: root/src/include/executor
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-12-04 02:06:55 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-12-04 02:06:55 +0000
commit8dcc8e376149adcfba012a9e9b7b0692bcbff9a2 (patch)
treebe2c6c7978e6a041ee7a0b70bbd833d391108500 /src/include/executor
parent406d028a9bb1a531d8e413918709f8d99f5c7783 (diff)
downloadpostgresql-8dcc8e376149adcfba012a9e9b7b0692bcbff9a2.tar.gz
postgresql-8dcc8e376149adcfba012a9e9b7b0692bcbff9a2.zip
Refactor ExecGetJunkAttribute to avoid searching for junk attributes
by name on each and every row processed. Profiling suggests this may buy a percent or two for simple UPDATE scenarios, which isn't huge, but when it's so easy to get ...
Diffstat (limited to 'src/include/executor')
-rw-r--r--src/include/executor/executor.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/include/executor/executor.h b/src/include/executor/executor.h
index d030b4deea4..beb103c88e3 100644
--- a/src/include/executor/executor.h
+++ b/src/include/executor/executor.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/executor/executor.h,v 1.130 2006/10/04 00:30:08 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/executor/executor.h,v 1.131 2006/12/04 02:06:55 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -110,8 +110,10 @@ extern JunkFilter *ExecInitJunkFilter(List *targetList, bool hasoid,
extern JunkFilter *ExecInitJunkFilterConversion(List *targetList,
TupleDesc cleanTupType,
TupleTableSlot *slot);
-extern bool ExecGetJunkAttribute(JunkFilter *junkfilter, TupleTableSlot *slot,
- char *attrName, Datum *value, bool *isNull);
+extern AttrNumber ExecFindJunkAttribute(JunkFilter *junkfilter,
+ const char *attrName);
+extern Datum ExecGetJunkAttribute(TupleTableSlot *slot, AttrNumber attno,
+ bool *isNull);
extern TupleTableSlot *ExecFilterJunk(JunkFilter *junkfilter,
TupleTableSlot *slot);
extern HeapTuple ExecRemoveJunk(JunkFilter *junkfilter, TupleTableSlot *slot);