diff options
Diffstat (limited to 'src/include/access/cmptype.h')
-rw-r--r-- | src/include/access/cmptype.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/include/access/cmptype.h b/src/include/access/cmptype.h new file mode 100644 index 00000000000..2b964227d60 --- /dev/null +++ b/src/include/access/cmptype.h @@ -0,0 +1,43 @@ +/*------------------------------------------------------------------------- + * + * cmptype.h + * POSTGRES compare type definitions. + * + * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group + * Portions Copyright (c) 1994, Regents of the University of California + * + * src/include/access/cmptype.h + * + *------------------------------------------------------------------------- + */ +#ifndef CMPTYPE_H +#define CMPTYPE_H + +/* + * CompareType - fundamental semantics of certain operators + * + * These enum symbols represent the fundamental semantics of certain operators + * that the system needs to have some hardcoded knowledge about. (For + * example, RowCompareExpr needs to know which operators can be determined to + * act like =, <>, <, etc.) Index access methods map (some of) strategy + * numbers to these values so that the system can know about the meaning of + * (some of) the operators without needing hardcoded knowledge of index AM's + * strategy numbering. + * + * XXX Currently, this mapping is not fully developed and most values are + * chosen to match btree strategy numbers, which is not going to work very + * well for other access methods. + */ +typedef enum CompareType +{ + COMPARE_LT = 1, /* BTLessStrategyNumber */ + COMPARE_LE = 2, /* BTLessEqualStrategyNumber */ + COMPARE_EQ = 3, /* BTEqualStrategyNumber */ + COMPARE_GE = 4, /* BTGreaterEqualStrategyNumber */ + COMPARE_GT = 5, /* BTGreaterStrategyNumber */ + COMPARE_NE = 6, /* no such btree strategy */ + COMPARE_OVERLAP, + COMPARE_CONTAINED_BY, +} CompareType; + +#endif /* CMPTYPE_H */ |