strat.h

来自「关系型数据库 Postgresql 6.5.2」· C头文件 代码 · 共 99 行

H
99
字号
/*------------------------------------------------------------------------- * * strat.h *	  index strategy type definitions *	  (separated out from original istrat.h to avoid circular refs) * * * Copyright (c) 1994, Regents of the University of California * * $Id: strat.h,v 1.15.2.1 1999/07/30 18:26:59 scrappy Exp $ * *------------------------------------------------------------------------- */#ifndef STRAT_H#define STRAT_H#include "access/skey.h"typedef uint16 StrategyNumber;#define InvalidStrategy 0typedef struct StrategyTransformMapData{	StrategyNumber strategy[1]; /* VARIABLE LENGTH ARRAY */} StrategyTransformMapData;		/* VARIABLE LENGTH								 *								 *								 *								 *								 *								 *								 *								 *								 *								 * STRUCTURE */typedef StrategyTransformMapData *StrategyTransformMap;typedef struct StrategyOperatorData{	StrategyNumber strategy;	bits16		flags;			/* scan qualification flags h/skey.h */} StrategyOperatorData;typedef StrategyOperatorData *StrategyOperator;typedef struct StrategyTermData{								/* conjunctive term */	uint16		degree;	StrategyOperatorData operatorData[1];		/* VARIABLE LENGTH */} StrategyTermData;				/* VARIABLE LENGTH STRUCTURE */typedef StrategyTermData *StrategyTerm;typedef struct StrategyExpressionData{								/* disjunctive normal form */	StrategyTerm term[1];		/* VARIABLE LENGTH ARRAY */} StrategyExpressionData;		/* VARIABLE LENGTH STRUCTURE */typedef StrategyExpressionData *StrategyExpression;typedef struct StrategyEvaluationData{	StrategyNumber maxStrategy;	StrategyTransformMap negateTransform;	StrategyTransformMap commuteTransform;	StrategyTransformMap negateCommuteTransform;	StrategyExpression expression[12];	/* XXX VARIABLE LENGTH */} StrategyEvaluationData;		/* VARIABLE LENGTH STRUCTURE */typedef StrategyEvaluationData *StrategyEvaluation;/* * StrategyTransformMapIsValid *		Returns true iff strategy transformation map is valid. */#define StrategyTransformMapIsValid(transform) PointerIsValid(transform)#define AMStrategies(foo)		(foo)typedef struct StrategyMapData{	ScanKeyData entry[1];		/* VARIABLE LENGTH ARRAY */} StrategyMapData;				/* VARIABLE LENGTH STRUCTURE */typedef StrategyMapData *StrategyMap;typedef struct IndexStrategyData{	StrategyMapData strategyMapData[1]; /* VARIABLE LENGTH ARRAY */} IndexStrategyData;			/* VARIABLE LENGTH STRUCTURE */typedef IndexStrategyData *IndexStrategy;#endif	 /* STRAT_H */

⌨️ 快捷键说明

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