Current Path : /compat/linux/proc/self/root/usr/local/include/postgresql/server/access/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/proc/self/root/usr/local/include/postgresql/server/access/valid.h |
/*------------------------------------------------------------------------- * * valid.h * POSTGRES tuple qualification validity definitions. * * * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * $PostgreSQL: pgsql/src/include/access/valid.h,v 1.40 2008/01/01 19:45:56 momjian Exp $ * *------------------------------------------------------------------------- */ #ifndef VALID_H #define VALID_H /* * HeapKeyTest * * Test a heap tuple to see if it satisfies a scan key. */ #define HeapKeyTest(tuple, \ tupdesc, \ nkeys, \ keys, \ result) \ do \ { \ /* Use underscores to protect the variables passed in as parameters */ \ int __cur_nkeys = (nkeys); \ ScanKey __cur_keys = (keys); \ \ (result) = true; /* may change */ \ for (; __cur_nkeys--; __cur_keys++) \ { \ Datum __atp; \ bool __isnull; \ Datum __test; \ \ if (__cur_keys->sk_flags & SK_ISNULL) \ { \ (result) = false; \ break; \ } \ \ __atp = heap_getattr((tuple), \ __cur_keys->sk_attno, \ (tupdesc), \ &__isnull); \ \ if (__isnull) \ { \ (result) = false; \ break; \ } \ \ __test = FunctionCall2(&__cur_keys->sk_func, \ __atp, __cur_keys->sk_argument); \ \ if (!DatumGetBool(__test)) \ { \ (result) = false; \ break; \ } \ } \ } while (0) #endif /* VALID_H */