1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-14 08:21:07 +03:00

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.)
This commit is contained in:
Alvaro Herrera
2015-05-15 17:03:16 -03:00
parent 1e98fa0bf8
commit 26df7066cc
35 changed files with 129 additions and 95 deletions

View File

@ -16,7 +16,7 @@
*/
#include "postgres.h"
#include "access/skey.h"
#include "access/stratnum.h"
#include "catalog/pg_type.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"

View File

@ -17,7 +17,7 @@
#include <math.h>
#include "access/skey.h"
#include "access/stratnum.h"
#include "access/sysattr.h"
#include "catalog/pg_am.h"
#include "catalog/pg_collation.h"

View File

@ -17,7 +17,7 @@
*/
#include "postgres.h"
#include "access/skey.h"
#include "access/stratnum.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "nodes/plannodes.h"

View File

@ -19,7 +19,7 @@
#include <limits.h>
#include <math.h>
#include "access/skey.h"
#include "access/stratnum.h"
#include "access/sysattr.h"
#include "catalog/pg_class.h"
#include "catalog/pg_operator.h"

View File

@ -1248,7 +1248,7 @@ list_member_strip(List *list, Expr *datum)
* Define "operator implication tables" for btree operators ("strategies"),
* and similar tables for refutation.
*
* The strategy numbers defined by btree indexes (see access/skey.h) are:
* The strategy numbers defined by btree indexes (see access/stratnum.h) are:
* 1 < 2 <= 3 = 4 >= 5 >
* and in addition we use 6 to represent <>. <> is not a btree-indexable
* operator, but we assume here that if an equality operator of a btree