diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2006-01-14 22:03:35 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2006-01-14 22:03:35 +0000 |
commit | f7ea9312877abcb508669359fa2a05fc69ec91b9 (patch) | |
tree | 5091d2d5bf06da0955d86c20038f9fa7eaf48346 /src/backend/access/common/indexvalid.c | |
parent | 7930e627d8aaf617f4edb8b9e4fe410cc475a93a (diff) | |
download | postgresql-f7ea9312877abcb508669359fa2a05fc69ec91b9.tar.gz postgresql-f7ea9312877abcb508669359fa2a05fc69ec91b9.zip |
Some minor code cleanup, falling out from the removal of rtree. SK_NEGATE
isn't being used anywhere anymore, and there seems no point in a generic
index_keytest() routine when two out of three remaining access methods
aren't using it. Also, add a comment documenting a convention for
letting access methods define private flag bits in ScanKey sk_flags.
There are no such flags at the moment but I'm thinking about changing
btree's handling of "required keys" to use flag bits in the keys
rather than a count of required key positions. Also, if some AM did
still want SK_NEGATE then it would be reasonable to treat it as a private
flag bit.
Diffstat (limited to 'src/backend/access/common/indexvalid.c')
-rw-r--r-- | src/backend/access/common/indexvalid.c | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/src/backend/access/common/indexvalid.c b/src/backend/access/common/indexvalid.c deleted file mode 100644 index 29ee54c3bfe..00000000000 --- a/src/backend/access/common/indexvalid.c +++ /dev/null @@ -1,78 +0,0 @@ -/*------------------------------------------------------------------------- - * - * indexvalid.c - * index tuple qualification validity checking code - * - * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/access/common/indexvalid.c,v 1.34 2005/06/24 00:18:52 tgl Exp $ - * - *------------------------------------------------------------------------- - */ - -#include "postgres.h" - -#include "access/iqual.h" -#include "executor/execdebug.h" - -/* ---------------------------------------------------------------- - * index scan key qualification code - * ---------------------------------------------------------------- - */ -int NIndexTupleProcessed; - - -/* ---------------- - * index_keytest - does this index tuple satisfy the scan key(s)? - * ---------------- - */ -bool -index_keytest(IndexTuple tuple, - TupleDesc tupdesc, - int scanKeySize, - ScanKey key) -{ - IncrIndexProcessed(); - - while (scanKeySize > 0) - { - Datum datum; - bool isNull; - Datum test; - - datum = index_getattr(tuple, - key->sk_attno, - tupdesc, - &isNull); - - if (isNull) - { - /* XXX eventually should check if SK_ISNULL */ - return false; - } - - if (key->sk_flags & SK_ISNULL) - return false; - - test = FunctionCall2(&key->sk_func, datum, key->sk_argument); - - if (key->sk_flags & SK_NEGATE) - { - if (DatumGetBool(test)) - return false; - } - else - { - if (!DatumGetBool(test)) - return false; - } - - key++; - scanKeySize--; - } - - return true; -} |