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 + -
显示快捷键?