summaryrefslogtreecommitdiff
path: root/src/include/access/skey.h
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2015-05-15 17:03:16 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2015-05-15 17:03:16 -0300
commit26df7066cc229887d4defdf1d105c0a22b8a88fb (patch)
tree5b9cd2cefa7c52d703f9d51a48426f9820118f03 /src/include/access/skey.h
parent1e98fa0bf8de9d25d97fb346755a9c9c17bba549 (diff)
downloadpostgresql-26df7066cc229887d4defdf1d105c0a22b8a88fb.tar.gz
Move strategy numbers to include/access/stratnum.h
For upcoming BRIN opclasses, it's convenient to have strategy numbers defined in a single place. Since there's nothing appropriate, create it. The StrategyNumber typedef now lives there, as well as existing strategy numbers for B-trees (from skey.h) and R-tree-and-friends (from gist.h). skey.h is forced to include stratnum.h because of the StrategyNumber typedef, but gist.h is not; extensions that currently rely on gist.h for rtree strategy numbers might need to add a new A few .c files can stop including skey.h and/or gist.h, which is a nice side benefit. Per discussion: https://www.postgresql.org/message-id/20150514232132.GZ2523@alvh.no-ip.org Authored by Emre Hasegeli and Álvaro. (It's not clear to me why bootscanner.l has any #include lines at all.)
Diffstat (limited to 'src/include/access/skey.h')
-rw-r--r--src/include/access/skey.h23
1 files changed, 1 insertions, 22 deletions
diff --git a/src/include/access/skey.h b/src/include/access/skey.h
index eeee1f43d4..76c33bcfc4 100644
--- a/src/include/access/skey.h
+++ b/src/include/access/skey.h
@@ -15,32 +15,11 @@
#define SKEY_H
#include "access/attnum.h"
+#include "access/stratnum.h"
#include "fmgr.h"
/*
- * Strategy numbers identify the semantics that particular operators have
- * with respect to particular operator classes. In some cases a strategy
- * subtype (an OID) is used as further information.
- */
-typedef uint16 StrategyNumber;
-
-#define InvalidStrategy ((StrategyNumber) 0)
-
-/*
- * We define the strategy numbers for B-tree indexes here, to avoid having
- * to import access/nbtree.h into a lot of places that shouldn't need it.
- */
-#define BTLessStrategyNumber 1
-#define BTLessEqualStrategyNumber 2
-#define BTEqualStrategyNumber 3
-#define BTGreaterEqualStrategyNumber 4
-#define BTGreaterStrategyNumber 5
-
-#define BTMaxStrategyNumber 5
-
-
-/*
* A ScanKey represents the application of a comparison operator between
* a table or index column and a constant. When it's part of an array of
* ScanKeys, the comparison conditions are implicitly ANDed. The index