diff options
| author | Peter Eisentraut <peter@eisentraut.org> | 2025-02-02 08:11:57 +0100 |
|---|---|---|
| committer | Peter Eisentraut <peter@eisentraut.org> | 2025-02-02 08:11:57 +0100 |
| commit | 119fc30dd5bd918819b864107ddc8baac51f4d22 (patch) | |
| tree | 792942fed830f1045641e8eb7c439efe1c732812 /src/include/access | |
| parent | d61b9662b09ea55d175680cc31b24768d95972f6 (diff) | |
Move CompareType to separate header file
We'll want to make use of it in more places, and we'd prefer to not
have to include all of primnodes.h everywhere.
Author: Mark Dilger <mark.dilger@enterprisedb.com>
Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://www.postgresql.org/message-id/flat/E72EAA49-354D-4C2E-8EB9-255197F55330@enterprisedb.com
Diffstat (limited to 'src/include/access')
| -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 */ |
