Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes16kdownloads
valid.h59 linesDownload Raw Back to access
1/*-------------------------------------------------------------------------2 *3 * valid.h4 *	  POSTGRES tuple qualification validity definitions.5 *6 *7 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group8 * Portions Copyright (c) 1994, Regents of the University of California9 *10 * src/include/access/valid.h11 *12 *-------------------------------------------------------------------------13 */14#ifndef VALID_H15#define VALID_H16 17#include "access/htup.h"18#include "access/htup_details.h"19#include "access/skey.h"20#include "access/tupdesc.h"21 22/*23 *		HeapKeyTest24 *25 *		Test a heap tuple to see if it satisfies a scan key.26 */27static inline bool28HeapKeyTest(HeapTuple tuple, TupleDesc tupdesc, int nkeys, ScanKey keys)29{30	int			cur_nkeys = nkeys;31	ScanKey		cur_key = keys;32 33	for (; cur_nkeys--; cur_key++)34	{35		Datum		atp;36		bool		isnull;37		Datum		test;38 39		if (cur_key->sk_flags & SK_ISNULL)40			return false;41 42		atp = heap_getattr(tuple, cur_key->sk_attno, tupdesc, &isnull);43 44		if (isnull)45			return false;46 47		test = FunctionCall2Coll(&cur_key->sk_func,48								 cur_key->sk_collation,49								 atp, cur_key->sk_argument);50 51		if (!DatumGetBool(test))52			return false;53	}54 55	return true;56}57 58#endif							/* VALID_H */59 
codekingpro/portable-devtools · Team Ai