⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 indexvalid.c

📁 PostgreSQL7.4.6 for Linux
💻 C
字号:
/*------------------------------------------------------------------------- * * indexvalid.c *	  index tuple qualification validity checking code * * Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION *	  $Header: /cvsroot/pgsql/src/backend/access/common/indexvalid.c,v 1.29 2003/08/04 02:39:56 momjian 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)? * ---------------- */boolindex_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;		if (key->sk_flags & SK_COMMUTE)			test = FunctionCall2(&key->sk_func, key->sk_argument, datum);		else			test = FunctionCall2(&key->sk_func, datum, key->sk_argument);		if (DatumGetBool(test) == !!(key->sk_flags & SK_NEGATE))			return false;		key++;		scanKeySize--;	}	return true;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -