MobilityDB 1.3
Loading...
Searching...
No Matches
stratnum.h
Go to the documentation of this file.
1/*****************************************************************************
2 *
3 * This MobilityDB code is provided under The PostgreSQL License.
4 * Copyright (c) 2016-2025, Université libre de Bruxelles and MobilityDB
5 * contributors
6 *
7 * MobilityDB includes portions of PostGIS version 3 source code released
8 * under the GNU General Public License (GPLv2 or later).
9 * Copyright (c) 2001-2025, PostGIS contributors
10 *
11 * Permission to use, copy, modify, and distribute this software and its
12 * documentation for any purpose, without fee, and without a written
13 * agreement is hereby granted, provided that the above copyright notice and
14 * this paragraph and the following two paragraphs appear in all copies.
15 *
16 * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR
17 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
18 * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
19 * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY
20 * OF SUCH DAMAGE.
21 *
22 * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,
23 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
24 * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON
25 * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO
26 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
27 *
28 *****************************************************************************/
29
35#ifndef __STRATNUM_H__
36#define __STRATNUM_H__
37
38/* PostgreSQL */
39#include <postgres.h>
40
41/*****************************************************************************/
42
43#if ! MEOS
44/*
45 * Strategy numbers identify the semantics that particular operators have
46 * with respect to particular operator classes. In some cases a strategy
47 * subtype (an OID) is used as further information.
48 */
50
51#define InvalidStrategy ((StrategyNumber) 0)
52
53/*
54 * Strategy numbers common to (some) GiST, SP-GiST and BRIN opclasses.
55 *
56 * The first few of these come from the R-Tree indexing method (hence the
57 * names); the others have been added over time as they have been needed.
58 */
59#define RTLeftStrategyNumber 1 /* for << */
60#define RTOverLeftStrategyNumber 2 /* for &< */
61#define RTOverlapStrategyNumber 3 /* for && */
62#define RTOverRightStrategyNumber 4 /* for &> */
63#define RTRightStrategyNumber 5 /* for >> */
64#define RTSameStrategyNumber 6 /* for ~= */
65#define RTContainsStrategyNumber 7 /* for @> */
66#define RTContainedByStrategyNumber 8 /* for <@ */
67#define RTOverBelowStrategyNumber 9 /* for &<| */
68#define RTBelowStrategyNumber 10 /* for <<| */
69#define RTAboveStrategyNumber 11 /* for |>> */
70#define RTOverAboveStrategyNumber 12 /* for |&> */
71#define RTOldContainsStrategyNumber 13 /* for old spelling of @> */
72#define RTOldContainedByStrategyNumber 14 /* for old spelling of <@ */
73#define RTKNNSearchStrategyNumber 15 /* for <-> (distance) */
74#define RTContainsElemStrategyNumber 16 /* for range types @> elem */
75#define RTAdjacentStrategyNumber 17 /* for -|- */
76#define RTEqualStrategyNumber 18 /* for = */
77#define RTNotEqualStrategyNumber 19 /* for != */
78#define RTLessStrategyNumber 20 /* for < */
79#define RTLessEqualStrategyNumber 21 /* for <= */
80#define RTGreaterStrategyNumber 22 /* for > */
81#define RTGreaterEqualStrategyNumber 23 /* for >= */
82#define RTSubStrategyNumber 24 /* for inet >> */
83#define RTSubEqualStrategyNumber 25 /* for inet <<= */
84#define RTSuperStrategyNumber 26 /* for inet << */
85#define RTSuperEqualStrategyNumber 27 /* for inet >>= */
86#define RTPrefixStrategyNumber 28 /* for text ^@ */
87#define RTOldBelowStrategyNumber 29 /* for old spelling of <<| */
88#define RTOldAboveStrategyNumber 30 /* for old spelling of |>> */
89
90#endif /* ! MEOS */
91
92/* Additional operator strategy numbers used for temporal types */
93
94#define RTOverBeforeStrategyNumber 28 /* for &<# */
95#define RTBeforeStrategyNumber 29 /* for <<# */
96#define RTAfterStrategyNumber 30 /* for #>> */
97#define RTOverAfterStrategyNumber 31 /* for #&> */
98#define RTOverFrontStrategyNumber 32 /* for &</ */
99#define RTFrontStrategyNumber 33 /* for <</ */
100#define RTBackStrategyNumber 34 /* for />> */
101#define RTOverBackStrategyNumber 35 /* for /&> */
102
103/*****************************************************************************/
104
105#endif /* __STRATNUM_H__ */
uint16 StrategyNumber
Definition: stratnum.h:22
unsigned short uint16
Definition: postgres_ext_defs.in.h:15