MobilityDB 1.3
Loading...
Searching...
No Matches
meos_catalog.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
34#ifndef __MEOS_CATALOG_H__
35#define __MEOS_CATALOG_H__
36
37/* C */
38#include <stdbool.h>
39/* PostgreSQL */
40#ifndef int16
41typedef signed short int16;
42#endif
43/* MEOS */
44#include <meos.h>
45
46/*****************************************************************************
47 * Data structures
48 *****************************************************************************/
49
54typedef enum
55{
57 T_BOOL = 1,
58 T_DATE = 2,
66 T_DOUBLE4 = 10,
67 T_FLOAT8 = 11,
71 T_INT4 = 15,
74 T_INTSET = 18,
75 T_INTSPAN = 19,
77 T_INT8 = 21,
83 T_STBOX = 25,
84 T_TBOOL = 26,
85 T_TBOX = 27,
89 T_TEXT = 31,
90 T_TEXTSET = 32,
91 T_TFLOAT = 33,
93 T_TINT = 35,
96 T_TSTZSET = 38,
99 T_TTEXT = 41,
106 T_NPOINT = 48,
110 T_POSE = 54,
112 T_TPOSE = 56,
119} meosType;
120
121#define NO_MEOS_TYPES 63
122
127typedef enum
128{
130 EQ_OP = 1,
131 NE_OP = 2,
132 LT_OP = 3,
133 LE_OP = 4,
134 GT_OP = 5,
135 GE_OP = 6,
143 SAME_OP = 14,
144 LEFT_OP = 15,
146 RIGHT_OP = 17,
148 BELOW_OP = 19,
150 ABOVE_OP = 21,
152 FRONT_OP = 23,
154 BACK_OP = 25,
158 AFTER_OP = 29,
172} meosOper;
173
177typedef struct
178{
182
186typedef struct
187{
191
195typedef struct
196{
200
204typedef struct
205{
209
210/*****************************************************************************/
211
212extern bool temptype_subtype(tempSubtype subtype);
213extern bool temptype_subtype_all(tempSubtype subtype);
214extern const char *tempsubtype_name(tempSubtype subtype);
215extern bool tempsubtype_from_string(const char *str, int16 *subtype);
216extern const char *meosoper_name(meosOper oper);
217extern meosOper meosoper_from_string(const char *name);
218extern const char *interptype_name(interpType interp);
219extern interpType interptype_from_string(const char *interp_str);
220
221/* Type conversion functions */
222
223extern const char *meostype_name(meosType type);
231
232/* Catalog functions */
233
234extern bool meos_basetype(meosType type);
235extern bool tnumber_basetype(meosType type);
236extern bool alphanum_basetype(meosType type);
237extern bool alphanum_temptype(meosType type);
238extern bool geo_basetype(meosType type);
239
240extern bool time_type(meosType type);
241extern bool set_basetype(meosType type);
242
243extern bool set_type(meosType type);
244extern bool numset_type(meosType type);
245extern bool ensure_numset_type(meosType type);
246extern bool timeset_type(meosType type);
247extern bool set_spantype(meosType type);
248extern bool ensure_set_spantype(meosType type);
249extern bool alphanumset_type(meosType settype);
250extern bool geoset_type(meosType type);
251extern bool ensure_geoset_type(meosType type);
252extern bool spatialset_type(meosType type);
253extern bool ensure_spatialset_type(meosType type);
254
255extern bool span_basetype(meosType type);
256extern bool span_canon_basetype(meosType type);
257extern bool span_type(meosType type);
258extern bool type_span_bbox(meosType type);
259extern bool span_tbox_type(meosType type);
260extern bool ensure_span_tbox_type(meosType type);
261extern bool numspan_basetype(meosType type);
262extern bool numspan_type(meosType type);
263extern bool ensure_numspan_type(meosType type);
264extern bool timespan_basetype(meosType type);
265extern bool timespan_type(meosType type);
266
267extern bool spanset_type(meosType type);
268extern bool timespanset_type(meosType type);
269extern bool ensure_timespanset_type(meosType type);
270
271extern bool temporal_type(meosType type);
272extern bool temporal_basetype(meosType type);
273extern bool temptype_continuous(meosType type);
274extern bool basetype_byvalue(meosType type);
275extern bool basetype_varlength(meosType type);
276extern int16 basetype_length(meosType type);
277extern bool talphanum_type(meosType type);
278extern bool talpha_type(meosType type);
279extern bool tnumber_type(meosType type);
280extern bool ensure_tnumber_type(meosType type);
281extern bool ensure_tnumber_basetype(meosType type);
282extern bool tnumber_spantype(meosType type);
283extern bool spatial_basetype(meosType type);
284extern bool tspatial_type(meosType type);
285extern bool ensure_tspatial_type(meosType type);
286extern bool tpoint_type(meosType type);
287extern bool ensure_tpoint_type(meosType type);
288extern bool tgeo_type(meosType type);
289extern bool ensure_tgeo_type(meosType type);
290extern bool tgeo_type_all(meosType type);
291extern bool ensure_tgeo_type_all(meosType type);
292extern bool tgeometry_type(meosType type);
293extern bool ensure_tgeometry_type(meosType type);
294extern bool tgeodetic_type(meosType type);
295extern bool ensure_tgeodetic_type(meosType type);
296extern bool ensure_tnumber_tpoint_type(meosType type);
297
298/*****************************************************************************/
299
300#endif /* __MEOS_CATALOG_H__ */
301
bool span_tbox_type(meosType type)
Return true if the type can be converted to a temporal box.
Definition: meos_catalog.c:995
meosType
Enumeration that defines the built-in and temporal types used in MobilityDB.
Definition: meos_catalog.h:55
@ T_FLOAT8
float8 type
Definition: meos_catalog.h:67
@ T_INTSPANSET
int4 span set type
Definition: meos_catalog.h:76
@ T_TNPOINT
temporal network point type
Definition: meos_catalog.h:109
@ T_INT4RANGE
PostgreSQL int4 range type.
Definition: meos_catalog.h:73
@ T_TGEOMETRY
temporal geometry type
Definition: meos_catalog.h:116
@ T_TSTZSPANSET
timestamptz span set type
Definition: meos_catalog.h:98
@ T_INTSET
int4 set type
Definition: meos_catalog.h:74
@ T_TDOUBLE3
temporal double3 type
Definition: meos_catalog.h:87
@ T_DATE
date type
Definition: meos_catalog.h:58
@ T_INTSPAN
int4 span type
Definition: meos_catalog.h:75
@ T_TDOUBLE4
temporal double4 type
Definition: meos_catalog.h:88
@ T_DATESPAN
date span type
Definition: meos_catalog.h:62
@ T_TSTZSET
timestamptz set type
Definition: meos_catalog.h:96
@ T_TBOX
temporal box type
Definition: meos_catalog.h:85
@ T_INT4MULTIRANGE
PostgreSQL int4 multirange type.
Definition: meos_catalog.h:72
@ T_DOUBLE4
double4 type
Definition: meos_catalog.h:66
@ T_GEOMSET
geometry set type
Definition: meos_catalog.h:101
@ T_TGEOMPOINT
temporal geometry point type
Definition: meos_catalog.h:104
@ T_DATEMULTIRANGE
PostgreSQL date multirange type.
Definition: meos_catalog.h:59
@ T_TSTZSPAN
timestamptz span type
Definition: meos_catalog.h:97
@ T_DATESPANSET
date span set type
Definition: meos_catalog.h:63
@ T_STBOX
spatiotemporal box type
Definition: meos_catalog.h:83
@ T_BIGINTSPANSET
int8 span set type
Definition: meos_catalog.h:82
@ T_TFLOAT
temporal float type
Definition: meos_catalog.h:91
@ T_TGEOGRAPHY
temporal geography type
Definition: meos_catalog.h:117
@ T_TDOUBLE2
temporal double2 type
Definition: meos_catalog.h:86
@ T_DATESET
date set type
Definition: meos_catalog.h:61
@ T_POSESET
pose set type
Definition: meos_catalog.h:111
@ T_UNKNOWN
unknown type
Definition: meos_catalog.h:56
@ T_BOOL
boolean type
Definition: meos_catalog.h:57
@ T_DATERANGE
PostgreSQL date range type.
Definition: meos_catalog.h:60
@ T_INT8MULTIRANGE
PostgreSQL int8 multirange type.
Definition: meos_catalog.h:78
@ T_GEOGRAPHY
geography type
Definition: meos_catalog.h:102
@ T_TIMESTAMPTZ
timestamp with time zone type
Definition: meos_catalog.h:92
@ T_CBUFFERSET
buffer set type
Definition: meos_catalog.h:114
@ T_TEXTSET
text type
Definition: meos_catalog.h:90
@ T_GEOMETRY
geometry type
Definition: meos_catalog.h:100
@ T_INT8
int8 type
Definition: meos_catalog.h:77
@ T_FLOATSET
float8 set type
Definition: meos_catalog.h:68
@ T_BIGINTSET
int8 set type
Definition: meos_catalog.h:80
@ T_TBOOL
temporal boolean type
Definition: meos_catalog.h:84
@ T_INT4
int4 type
Definition: meos_catalog.h:71
@ T_TSTZMULTIRANGE
PostgreSQL timestamp with time zone multirange type.
Definition: meos_catalog.h:94
@ T_FLOATSPANSET
float8 span set type
Definition: meos_catalog.h:70
@ T_INT8RANGE
PostgreSQL int8 range type.
Definition: meos_catalog.h:79
@ T_DOUBLE2
double2 type
Definition: meos_catalog.h:64
@ T_POSE
pose type
Definition: meos_catalog.h:110
@ T_TCBUFFER
temporal buffer type
Definition: meos_catalog.h:115
@ T_DOUBLE3
double3 type
Definition: meos_catalog.h:65
@ T_FLOATSPAN
float8 span type
Definition: meos_catalog.h:69
@ T_TINT
temporal integer type
Definition: meos_catalog.h:93
@ T_TTEXT
temporal text type
Definition: meos_catalog.h:99
@ T_GEOGSET
geography set type
Definition: meos_catalog.h:103
@ T_NSEGMENT
network segment type
Definition: meos_catalog.h:108
@ T_TEXT
text type
Definition: meos_catalog.h:89
@ T_NPOINT
network point type
Definition: meos_catalog.h:106
@ T_TRGEOMETRY
temporal rigid geometry type
Definition: meos_catalog.h:118
@ T_TGEOGPOINT
temporal geography point type
Definition: meos_catalog.h:105
@ T_CBUFFER
buffer type
Definition: meos_catalog.h:113
@ T_BIGINTSPAN
int8 span type
Definition: meos_catalog.h:81
@ T_TSTZRANGE
PostgreSQL timestamp with time zone range type.
Definition: meos_catalog.h:95
@ T_NPOINTSET
network point set type
Definition: meos_catalog.h:107
@ T_TPOSE
temporal pose type
Definition: meos_catalog.h:112
bool tnumber_basetype(meosType type)
Return true if the type is a temporal number base type.
Definition: meos_catalog.c:1254
bool ensure_tnumber_tpoint_type(meosType type)
Ensure that a type is a temporal number or a temporal point type.
Definition: meos_catalog.c:1468
bool temptype_subtype_all(tempSubtype subtype)
Ensure that the subtype of a temporal value is valid.
Definition: meos_catalog.c:378
meosType settype_basetype(meosType type)
Return the base type from a set type.
Definition: meos_catalog.c:475
meosType spansettype_spantype(meosType type)
Return the span type from the span set type.
Definition: meos_catalog.c:529
bool ensure_tspatial_type(meosType type)
Ensure that attype is a spatiotemporal type.
Definition: meos_catalog.c:1324
bool spatial_basetype(meosType type)
Return true if the type is a spatial base type.
Definition: meos_catalog.c:718
bool ensure_numspan_type(meosType type)
Ensure that a span is a number span type.
Definition: meos_catalog.c:1045
signed short int16
Functions for building a cache of temporal types and operators.
Definition: meos_catalog.h:41
bool ensure_timespanset_type(meosType type)
Ensure that a span is a time span type.
Definition: meos_catalog.c:1106
bool tgeodetic_type(meosType type)
Return true if a type is a temporal geodetic type.
Definition: meos_catalog.c:1441
bool meos_basetype(meosType type)
Return true if the type is a base type of one of the template types, that is, Set,...
Definition: meos_catalog.c:588
bool ensure_span_tbox_type(meosType type)
Return true if the type can be converted to a temporal box.
Definition: meos_catalog.c:1007
const char * tempsubtype_name(tempSubtype subtype)
Return the string representation of the subtype of the temporal type corresponding to the enum value.
Definition: meos_catalog.c:301
bool timespanset_type(meosType type)
Return true if the type is a time span type.
Definition: meos_catalog.c:1094
bool alphanum_temptype(meosType type)
Return true if the type is an alphanumeric base type.
Definition: meos_catalog.c:695
bool span_basetype(meosType type)
Return true if the type is a span base type.
Definition: meos_catalog.c:945
bool timespan_type(meosType type)
Return true if the type is a time span type.
Definition: meos_catalog.c:1069
bool ensure_tgeo_type(meosType type)
Ensure that a type is a temporal geo type.
Definition: meos_catalog.c:1374
bool geoset_type(meosType type)
Return true if the type is a geo set type.
Definition: meos_catalog.c:882
bool ensure_tgeo_type_all(meosType type)
Ensure that a type is a temporal type with geometry/geography as base type.
Definition: meos_catalog.c:1402
int16 basetype_length(meosType type)
Return the length of a base type.
Definition: meos_catalog.c:644
bool temporal_basetype(meosType type)
Return true if the type is a temporal base type.
Definition: meos_catalog.c:1153
bool tnumber_spantype(meosType type)
Return true if the type is a span number type.
Definition: meos_catalog.c:1280
bool timespan_basetype(meosType type)
Return true if the type is a time span type.
Definition: meos_catalog.c:1058
bool spatialset_type(meosType type)
Return true if the type is a geo set type.
Definition: meos_catalog.c:907
meosType spantype_spansettype(meosType type)
Return the span type from the span set type.
Definition: meos_catalog.c:565
bool set_type(meosType type)
Return true if the type is a set type.
Definition: meos_catalog.c:782
bool temporal_type(meosType type)
Return true if the type is an external temporal type.
Definition: meos_catalog.c:1123
bool ensure_numset_type(meosType type)
Ensure that the type is a number set type.
Definition: meos_catalog.c:819
const char * interptype_name(interpType interp)
Return the string representation of the subtype of the temporal type corresponding to the enum value.
Definition: meos_catalog.c:421
meosOper meosoper_from_string(const char *name)
Fetch the operator number from its name.
Definition: meos_catalog.c:403
bool ensure_tnumber_basetype(meosType type)
Ensure that a type is a temporal number base type.
Definition: meos_catalog.c:1265
bool talphanum_type(meosType type)
Return true if the type is a temporal alphanumeric type.
Definition: meos_catalog.c:1205
bool alphanumset_type(meosType settype)
Return true if the type is a set type.
Definition: meos_catalog.c:869
bool numspan_basetype(meosType type)
Return true if the type is a number span type.
Definition: meos_catalog.c:1021
bool tgeo_type_all(meosType type)
Return true if a type is a temporal type with geometry/geography as base type.
Definition: meos_catalog.c:1389
bool ensure_geoset_type(meosType type)
Ensure that a set value is a geo set.
Definition: meos_catalog.c:893
bool tpoint_type(meosType type)
Return true if a type is a temporal point type.
Definition: meos_catalog.c:1338
bool basetype_varlength(meosType type)
Return true if the values of the base type are of variable length.
Definition: meos_catalog.c:627
bool time_type(meosType type)
Return true if the type is a time type.
Definition: meos_catalog.c:741
bool span_type(meosType type)
Return true if the type is a span type.
Definition: meos_catalog.c:968
meosOper
Enumeration that defines the classes of Boolean operators used in MobilityDB.
Definition: meos_catalog.h:128
@ UNKNOWN_OP
Definition: meos_catalog.h:129
@ FRONT_OP
Front <</ operator.
Definition: meos_catalog.h:152
@ EVEREQ_OP
Evereq ?= operator.
Definition: meos_catalog.h:160
@ OVERRIGHT_OP
Overright &> operator.
Definition: meos_catalog.h:147
@ NE_OP
Distinct != operator.
Definition: meos_catalog.h:131
@ GE_OP
Greater than or equal to >= operator.
Definition: meos_catalog.h:135
@ EQ_OP
Equality = operator.
Definition: meos_catalog.h:130
@ RIGHT_OP
Right >> operator.
Definition: meos_catalog.h:146
@ ALWAYSLT_OP
Alwayslt %< operator.
Definition: meos_catalog.h:168
@ ALWAYSGT_OP
Alwaysgt %> operator.
Definition: meos_catalog.h:170
@ ABOVE_OP
Above |>> operator.
Definition: meos_catalog.h:150
@ LT_OP
Less than < operator.
Definition: meos_catalog.h:132
@ BACK_OP
Back />> operator.
Definition: meos_catalog.h:154
@ ALWAYSLE_OP
Alwaysle %<= operator.
Definition: meos_catalog.h:169
@ OVERFRONT_OP
Overfront &</ operator.
Definition: meos_catalog.h:153
@ MINUS_OP
Minus - operator.
Definition: meos_catalog.h:138
@ ALWAYSEQ_OP
Alwayseq %= operator.
Definition: meos_catalog.h:166
@ OVERABOVE_OP
Overbove |&> operator.
Definition: meos_catalog.h:151
@ OVERLEFT_OP
Overleft &< operator.
Definition: meos_catalog.h:145
@ UNION_OP
Union + operator.
Definition: meos_catalog.h:137
@ AFTER_OP
After #>> operator.
Definition: meos_catalog.h:158
@ EVERGT_OP
Evergt ?> operator.
Definition: meos_catalog.h:164
@ BEFORE_OP
Before <<# operator.
Definition: meos_catalog.h:156
@ ADJACENT_OP
Adjacent -|- operator.
Definition: meos_catalog.h:136
@ CONTAINS_OP
Contains @> operator.
Definition: meos_catalog.h:141
@ OVERAFTER_OP
Overafter #&> operator.
Definition: meos_catalog.h:159
@ OVERBEFORE_OP
Overbefore &<# operator.
Definition: meos_catalog.h:157
@ LE_OP
Less than or equal to <= operator.
Definition: meos_catalog.h:133
@ CONTAINED_OP
Contained <@ operator.
Definition: meos_catalog.h:142
@ INTERSECT_OP
Intersection * operator.
Definition: meos_catalog.h:139
@ BELOW_OP
Below <<| operator.
Definition: meos_catalog.h:148
@ EVERLT_OP
Everlt ?< operator.
Definition: meos_catalog.h:162
@ EVERGE_OP
Everge ?>= operator.
Definition: meos_catalog.h:165
@ ALWAYSGE_OP
Alwaysge %>= operator.
Definition: meos_catalog.h:171
@ LEFT_OP
Left << operator.
Definition: meos_catalog.h:144
@ SAME_OP
Same ~= operator.
Definition: meos_catalog.h:143
@ EVERLE_OP
Everle ?<= operator.
Definition: meos_catalog.h:163
@ OVERBACK_OP
Overback /&> operator.
Definition: meos_catalog.h:155
@ GT_OP
Greater than < operator.
Definition: meos_catalog.h:134
@ ALWAYSNE_OP
Alwaysne %<> operator.
Definition: meos_catalog.h:167
@ OVERBELOW_OP
Overbelow &<| operator.
Definition: meos_catalog.h:149
@ EVERNE_OP
Everne ?<> operator.
Definition: meos_catalog.h:161
@ OVERLAPS_OP
Overlaps && operator.
Definition: meos_catalog.h:140
meosType temptype_basetype(meosType type)
Return the base type from the temporal type.
Definition: meos_catalog.c:453
bool ensure_tpoint_type(meosType type)
Ensure that a type is a temporal point type.
Definition: meos_catalog.c:1349
bool ensure_tgeodetic_type(meosType type)
Ensure that a type is a temporal geodetic type.
Definition: meos_catalog.c:1453
meosType spantype_basetype(meosType type)
Return the base type from the span type.
Definition: meos_catalog.c:511
bool tgeo_type(meosType type)
Return true if a type is a temporal geo type.
Definition: meos_catalog.c:1362
meosType basetype_spantype(meosType type)
Return the span type of a base type.
Definition: meos_catalog.c:547
bool geo_basetype(meosType type)
Return true if the type is a geo base type.
Definition: meos_catalog.c:707
meosType basetype_settype(meosType type)
Return the base type from the set type.
Definition: meos_catalog.c:493
bool span_canon_basetype(meosType type)
Return true if the type is a canonical base type of a span type.
Definition: meos_catalog.c:957
bool basetype_byvalue(meosType type)
Return true if the values of the base type are passed by value.
Definition: meos_catalog.c:614
bool tspatial_type(meosType type)
Return true if a type is a spatiotemporal type.
Definition: meos_catalog.c:1298
bool temptype_subtype(tempSubtype subtype)
Ensure that the subtype of a temporal value is valid.
Definition: meos_catalog.c:366
bool tgeometry_type(meosType type)
Return true if a type is a temporal geometry type.
Definition: meos_catalog.c:1416
bool set_basetype(meosType type)
Return true if the type is a base type of a set type.
Definition: meos_catalog.c:758
bool timeset_type(meosType type)
Return true if the type is a time set type.
Definition: meos_catalog.c:833
bool ensure_tgeometry_type(meosType type)
Ensure that a type is a temporal geometry type.
Definition: meos_catalog.c:1427
bool ensure_spatialset_type(meosType type)
Ensure that a temporal value is a temporal number.
Definition: meos_catalog.c:929
bool ensure_tnumber_type(meosType type)
Ensure that a type is a temporal number.
Definition: meos_catalog.c:1241
bool numset_type(meosType type)
Return true if the type is a number set type.
Definition: meos_catalog.c:805
interpType interptype_from_string(const char *interp_str)
Get the interpolation type from the interpolation string.
Definition: meos_catalog.c:430
const char * meostype_name(meosType type)
Return the string representation of the MEOS type.
Definition: meos_catalog.c:289
bool tnumber_type(meosType type)
Return true if the type is a temporal number type.
Definition: meos_catalog.c:1230
bool temptype_continuous(meosType type)
Return true if the type is a temporal continuous type.
Definition: meos_catalog.c:1178
bool numspan_type(meosType type)
Return true if the type is a number span type.
Definition: meos_catalog.c:1034
bool type_span_bbox(meosType type)
Return true if the type has a span type as bounding box.
Definition: meos_catalog.c:982
bool alphanum_basetype(meosType type)
Return true if the type is an alphanumeric base type.
Definition: meos_catalog.c:682
bool talpha_type(meosType type)
Return true if the type is a temporal alpha type (i.e., those whose bounding box is a timestamptz spa...
Definition: meos_catalog.c:1218
bool tempsubtype_from_string(const char *str, int16 *subtype)
Return the enum value corresponding to the string representation of the concrete subtype of a tempora...
Definition: meos_catalog.c:311
const char * meosoper_name(meosOper oper)
Return the string name from a MEOS operator number.
Definition: meos_catalog.c:393
bool set_spantype(meosType type)
Return true if the type is a set type with a span as a bounding box.
Definition: meos_catalog.c:844
bool ensure_set_spantype(meosType type)
Ensure that a set value is a set type with a span as a bounding box.
Definition: meos_catalog.c:856
bool spanset_type(meosType type)
Return true if the type is a span set type.
Definition: meos_catalog.c:1082
tempSubtype
Enumeration that defines the temporal subtypes used in MEOS.
Definition: meos.h:150
interpType
Enumeration that defines the interpolation types used in MEOS.
Definition: meos.h:161
External API of the Mobility Engine Open Source (MEOS) library.
signed short int16
Definition: postgres_ext_defs.in.h:10
meosType settype
Enum value of the set type.
Definition: meos_catalog.h:188
meosType basetype
Enum value of the base type.
Definition: meos_catalog.h:189
Structure to represent the span type cache array.
Definition: meos_catalog.h:187
meosType spantype
Enum value of the base type.
Definition: meos_catalog.h:207
meosType spansettype
Enum value of the span type.
Definition: meos_catalog.h:206
Structure to represent the spanset type cache array.
Definition: meos_catalog.h:205
meosType basetype
Enum value of the base type.
Definition: meos_catalog.h:198
meosType spantype
Enum value of the span type.
Definition: meos_catalog.h:197
Structure to represent the span type cache array.
Definition: meos_catalog.h:196
meosType temptype
Enum value of the temporal type.
Definition: meos_catalog.h:179
meosType basetype
Enum value of the base type.
Definition: meos_catalog.h:180
Structure to represent the temporal type cache array.
Definition: meos_catalog.h:178