diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2008-04-13 20:51:21 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2008-04-13 20:51:21 +0000 |
commit | 226837e57eb6092b160e7272e7d09a3748c0eb47 (patch) | |
tree | 9d69fdeed5f89838191d2ba223e0d7a920bd4797 /src/backend/utils/cache | |
parent | 24558da14a26337e945732d3b435b07edcbb6733 (diff) | |
download | postgresql-226837e57eb6092b160e7272e7d09a3748c0eb47.tar.gz postgresql-226837e57eb6092b160e7272e7d09a3748c0eb47.zip |
Since createplan.c no longer cares whether index operators are lossy, it has
no particular need to do get_op_opfamily_properties() while building an
indexscan plan. Postpone that lookup until executor start. This simplifies
createplan.c a lot more than it complicates nodeIndexscan.c, and makes things
more uniform since we already had to do it that way for RowCompare
expressions. Should be a bit faster too, at least for plans that aren't
re-used many times, since we avoid palloc'ing and perhaps copying the
intermediate list data structure.
Diffstat (limited to 'src/backend/utils/cache')
-rw-r--r-- | src/backend/utils/cache/lsyscache.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/backend/utils/cache/lsyscache.c b/src/backend/utils/cache/lsyscache.c index 76e39ca8af7..e17bd49e629 100644 --- a/src/backend/utils/cache/lsyscache.c +++ b/src/backend/utils/cache/lsyscache.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/cache/lsyscache.c,v 1.156 2008/03/25 22:42:44 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/cache/lsyscache.c,v 1.157 2008/04/13 20:51:21 tgl Exp $ * * NOTES * Eventually, the index information should go through here, too. @@ -80,8 +80,8 @@ get_op_opfamily_strategy(Oid opno, Oid opfamily) /* * get_op_opfamily_properties * - * Get the operator's strategy number, input types, and recheck (lossy) - * flag within the specified opfamily. + * Get the operator's strategy number and declared input data types + * within the specified opfamily. * * Caller should already have verified that opno is a member of opfamily, * therefore we raise an error if the tuple is not found. @@ -90,8 +90,7 @@ void get_op_opfamily_properties(Oid opno, Oid opfamily, int *strategy, Oid *lefttype, - Oid *righttype, - bool *recheck) + Oid *righttype) { HeapTuple tp; Form_pg_amop amop_tup; @@ -107,7 +106,6 @@ get_op_opfamily_properties(Oid opno, Oid opfamily, *strategy = amop_tup->amopstrategy; *lefttype = amop_tup->amoplefttype; *righttype = amop_tup->amoprighttype; - *recheck = amop_tup->amopreqcheck; ReleaseSysCache(tp); } |