MobilityDB  1.0
tpoint_gist.h
Go to the documentation of this file.
1 /*****************************************************************************
2  *
3  * This MobilityDB code is provided under The PostgreSQL License.
4  *
5  * Copyright (c) 2016-2021, Université libre de Bruxelles and MobilityDB
6  * contributors
7  *
8  * Permission to use, copy, modify, and distribute this software and its
9  * documentation for any purpose, without fee, and without a written
10  * agreement is hereby granted, provided that the above copyright notice and
11  * this paragraph and the following two paragraphs appear in all copies.
12  *
13  * IN NO EVENT SHALL UNIVERSITE LIBRE DE BRUXELLES BE LIABLE TO ANY PARTY FOR
14  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
15  * LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION,
16  * EVEN IF UNIVERSITE LIBRE DE BRUXELLES HAS BEEN ADVISED OF THE POSSIBILITY
17  * OF SUCH DAMAGE.
18  *
19  * UNIVERSITE LIBRE DE BRUXELLES SPECIFICALLY DISCLAIMS ANY WARRANTIES,
20  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
21  * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON
22  * AN "AS IS" BASIS, AND UNIVERSITE LIBRE DE BRUXELLES HAS NO OBLIGATIONS TO
23  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 
24  *
25  *****************************************************************************/
26 
32 #ifndef __TPOINT_GIST_H__
33 #define __TPOINT_GIST_H__
34 
35 #include <postgres.h>
36 #include <catalog/pg_type.h>
37 #include <utils/builtins.h>
38 #include "general/temporal.h"
39 
40 /*****************************************************************************/
41 
42 extern Datum stbox_gist_consistent(PG_FUNCTION_ARGS);
43 extern Datum stbox_gist_union(PG_FUNCTION_ARGS);
44 extern Datum stbox_gist_penalty(PG_FUNCTION_ARGS);
45 extern Datum stbox_gist_picksplit(PG_FUNCTION_ARGS);
46 extern Datum stbox_gist_same(PG_FUNCTION_ARGS);
47 extern Datum tpoint_gist_compress(PG_FUNCTION_ARGS);
48 
49 /* The following functions are also called by tpoint_spgist.c */
50 extern bool tpoint_index_recheck(StrategyNumber strategy);
51 extern bool stbox_index_consistent_leaf(const STBOX *key, const STBOX *query,
52  StrategyNumber strategy);
53 
54 /*****************************************************************************/
55 
56 #endif
Datum tpoint_gist_compress(PG_FUNCTION_ARGS)
GiST compress methods for temporal points.
Definition: tpoint_gist.c:405
Structure to represent spatiotemporal boxes.
Definition: stbox.h:51
Basic functions for temporal types of any subtype.
Datum stbox_gist_consistent(PG_FUNCTION_ARGS)
GiST consistent method for temporal points.
Definition: tpoint_gist.c:314
Datum stbox_gist_penalty(PG_FUNCTION_ARGS)
GiST penalty method for temporal points.
Definition: tpoint_gist.c:512
Datum stbox_gist_union(PG_FUNCTION_ARGS)
GiST union method for temporal points.
Definition: tpoint_gist.c:377
bool stbox_index_consistent_leaf(const STBOX *key, const STBOX *query, StrategyNumber strategy)
Leaf-level consistency for temporal points.
Definition: tpoint_gist.c:76
Datum stbox_gist_picksplit(PG_FUNCTION_ARGS)
GiST picksplit method for temporal points.
Definition: tpoint_gist.c:741
Datum stbox_gist_same(PG_FUNCTION_ARGS)
GiST same method for temporal points.
Definition: tpoint_gist.c:1129
bool tpoint_index_recheck(StrategyNumber strategy)
Determine whether a recheck is necessary depending on the strategy.
Definition: tpoint_gist.c:249