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
212#ifndef NDEBUG
213extern bool temptype_subtype(tempSubtype subtype);
214extern bool temptype_subtype_all(tempSubtype subtype);
215#endif
216extern const char *tempsubtype_name(tempSubtype subtype);
217extern bool tempsubtype_from_string(const char *str, int16 *subtype);
218extern const char *meosoper_name(meosOper oper);
219extern meosOper meosoper_from_string(const char *name);
220extern const char *interptype_name(interpType interp);
221extern interpType interptype_from_string(const char *interp_str);
222
223/* Type conversion functions */
224
225extern const char *meostype_name(meosType type);
233
234/* Catalog functions */
235
236extern bool tnumber_basetype(meosType type);
237extern bool geo_basetype(meosType type);
238#ifndef NDEBUG
239extern bool meos_basetype(meosType type);
240extern bool alphanum_basetype(meosType type);
241extern bool alphanum_temptype(meosType type);
242#endif
243
244extern bool time_type(meosType type);
245#ifndef NDEBUG
246extern bool set_basetype(meosType type);
247#endif
248
249extern bool set_type(meosType type);
250extern bool numset_type(meosType type);
251extern bool ensure_numset_type(meosType type);
252extern bool timeset_type(meosType type);
253extern bool set_spantype(meosType type);
254extern bool ensure_set_spantype(meosType type);
255extern bool alphanumset_type(meosType settype);
256extern bool geoset_type(meosType type);
257extern bool ensure_geoset_type(meosType type);
258extern bool spatialset_type(meosType type);
259extern bool ensure_spatialset_type(meosType type);
260
261extern bool span_basetype(meosType type);
262extern bool span_canon_basetype(meosType type);
263extern bool span_type(meosType type);
264extern bool type_span_bbox(meosType type);
265extern bool span_tbox_type(meosType type);
266extern bool ensure_span_tbox_type(meosType type);
267extern bool numspan_basetype(meosType type);
268extern bool numspan_type(meosType type);
269extern bool ensure_numspan_type(meosType type);
270extern bool timespan_basetype(meosType type);
271extern bool timespan_type(meosType type);
272
273extern bool spanset_type(meosType type);
274extern bool timespanset_type(meosType type);
275extern bool ensure_timespanset_type(meosType type);
276
277extern bool temporal_type(meosType type);
278#ifndef NDEBUG
279extern bool temporal_basetype(meosType type);
280#endif
281extern bool temptype_continuous(meosType type);
282extern bool basetype_byvalue(meosType type);
283extern bool basetype_varlength(meosType type);
284extern int16 basetype_length(meosType type);
285#ifndef NDEBUG
286extern bool talphanum_type(meosType type);
287#endif
288extern bool talpha_type(meosType type);
289extern bool tnumber_type(meosType type);
290extern bool ensure_tnumber_type(meosType type);
291extern bool ensure_tnumber_basetype(meosType type);
292extern bool tnumber_spantype(meosType type);
293extern bool spatial_basetype(meosType type);
294extern bool tspatial_type(meosType type);
295extern bool ensure_tspatial_type(meosType type);
296extern bool tpoint_type(meosType type);
297extern bool ensure_tpoint_type(meosType type);
298extern bool tgeo_type(meosType type);
299extern bool ensure_tgeo_type(meosType type);
300extern bool tgeo_type_all(meosType type);
301extern bool ensure_tgeo_type_all(meosType type);
302extern bool tgeometry_type(meosType type);
303extern bool ensure_tgeometry_type(meosType type);
304extern bool tgeodetic_type(meosType type);
305extern bool ensure_tgeodetic_type(meosType type);
306extern bool ensure_tnumber_tpoint_type(meosType type);
307
308/*****************************************************************************/
309
310#endif /* __MEOS_CATALOG_H__ */
311
bool span_tbox_type(meosType type)
Return true if the type can be converted to a temporal box.
Definition: meos_catalog.c:951
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:1185
bool ensure_tnumber_tpoint_type(meosType type)
Ensure that a type is a temporal number or a temporal point type.
Definition: meos_catalog.c:1383
bool temptype_subtype_all(tempSubtype subtype)
Ensure that the subtype of a temporal value is valid.
Definition: meos_catalog.c:377
meosType settype_basetype(meosType type)
Return the base type from a set type.
Definition: meos_catalog.c:472
meosType spansettype_spantype(meosType type)
Return the span type from the span set type.
Definition: meos_catalog.c:526
bool ensure_tspatial_type(meosType type)
Ensure that attype is a spatiotemporal type.
Definition: meos_catalog.c:1249
bool spatial_basetype(meosType type)
Return true if the type is a spatial base type.
Definition: meos_catalog.c:703
bool ensure_numspan_type(meosType type)
Ensure that a span is a number span type.
Definition: meos_catalog.c:994
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:1047
bool tgeodetic_type(meosType type)
Return true if a type is a temporal geodetic type.
Definition: meos_catalog.c:1358
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:585
bool ensure_span_tbox_type(meosType type)
Return true if the type can be converted to a temporal box.
Definition: meos_catalog.c:961
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:1037
bool alphanum_temptype(meosType type)
Return true if the type is an alphanumeric base type.
Definition: meos_catalog.c:683
bool span_basetype(meosType type)
Return true if the type is a span base type.
Definition: meos_catalog.c:910
bool timespan_type(meosType type)
Return true if the type is a time span type.
Definition: meos_catalog.c:1016
bool ensure_tgeo_type(meosType type)
Ensure that a type is a temporal geo type.
Definition: meos_catalog.c:1295
bool geoset_type(meosType type)
Return true if the type is a geo set type.
Definition: meos_catalog.c:851
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:1321
int16 basetype_length(meosType type)
Return the length of a base type.
Definition: meos_catalog.c:633
bool temporal_basetype(meosType type)
Return true if the type is a temporal base type.
Definition: meos_catalog.c:1092
bool tnumber_spantype(meosType type)
Return true if the type is a span number type.
Definition: meos_catalog.c:1209
bool timespan_basetype(meosType type)
Return true if the type is a time span type.
Definition: meos_catalog.c:1007
bool spatialset_type(meosType type)
Return true if the type is a geo set type.
Definition: meos_catalog.c:874
meosType spantype_spansettype(meosType type)
Return the span type from the span set type.
Definition: meos_catalog.c:562
bool set_type(meosType type)
Return true if the type is a set type.
Definition: meos_catalog.c:761
bool temporal_type(meosType type)
Return true if the type is an external temporal type.
Definition: meos_catalog.c:1064
bool ensure_numset_type(meosType type)
Ensure that the type is a number set type.
Definition: meos_catalog.c:794
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:418
meosOper meosoper_from_string(const char *name)
Fetch the operator number from its name.
Definition: meos_catalog.c:400
bool ensure_tnumber_basetype(meosType type)
Ensure that a type is a temporal number base type.
Definition: meos_catalog.c:1194
bool talphanum_type(meosType type)
Return true if the type is a temporal alphanumeric type.
Definition: meos_catalog.c:1141
bool alphanumset_type(meosType settype)
Return true if the type is a set type.
Definition: meos_catalog.c:840
bool numspan_basetype(meosType type)
Return true if the type is a number span type.
Definition: meos_catalog.c:974
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:1310
bool ensure_geoset_type(meosType type)
Ensure that a set value is a geo set.
Definition: meos_catalog.c:860
bool tpoint_type(meosType type)
Return true if a type is a temporal point type.
Definition: meos_catalog.c:1263
bool basetype_varlength(meosType type)
Return true if the values of the base type are of variable length.
Definition: meos_catalog.c:619
bool time_type(meosType type)
Return true if the type is a time type.
Definition: meos_catalog.c:724
bool span_type(meosType type)
Return true if the type is a span type.
Definition: meos_catalog.c:929
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:450
bool ensure_tpoint_type(meosType type)
Ensure that a type is a temporal point type.
Definition: meos_catalog.c:1272
bool ensure_tgeodetic_type(meosType type)
Ensure that a type is a temporal geodetic type.
Definition: meos_catalog.c:1368
meosType spantype_basetype(meosType type)
Return the base type from the span type.
Definition: meos_catalog.c:508
bool tgeo_type(meosType type)
Return true if a type is a temporal geo type.
Definition: meos_catalog.c:1285
meosType basetype_spantype(meosType type)
Return the span type of a base type.
Definition: meos_catalog.c:544
bool geo_basetype(meosType type)
Return true if the type is a geo base type.
Definition: meos_catalog.c:694
meosType basetype_settype(meosType type)
Return the base type from the set type.
Definition: meos_catalog.c:490
bool span_canon_basetype(meosType type)
Return true if the type is a canonical base type of a span type.
Definition: meos_catalog.c:920
bool basetype_byvalue(meosType type)
Return true if the values of the base type are passed by value.
Definition: meos_catalog.c:609
bool tspatial_type(meosType type)
Return true if a type is a spatiotemporal type.
Definition: meos_catalog.c:1225
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:1335
bool set_basetype(meosType type)
Return true if the type is a base type of a set type.
Definition: meos_catalog.c:739
bool timeset_type(meosType type)
Return true if the type is a time set type.
Definition: meos_catalog.c:808
bool ensure_tgeometry_type(meosType type)
Ensure that a type is a temporal geometry type.
Definition: meos_catalog.c:1344
bool ensure_spatialset_type(meosType type)
Ensure that a temporal value is a temporal number.
Definition: meos_catalog.c:894
bool ensure_tnumber_type(meosType type)
Ensure that a type is a temporal number.
Definition: meos_catalog.c:1172
bool numset_type(meosType type)
Return true if the type is a number set type.
Definition: meos_catalog.c:782
interpType interptype_from_string(const char *interp_str)
Get the interpolation type from the interpolation string.
Definition: meos_catalog.c:427
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:1163
bool temptype_continuous(meosType type)
Return true if the type is a temporal continuous type.
Definition: meos_catalog.c:1116
bool numspan_type(meosType type)
Return true if the type is a number span type.
Definition: meos_catalog.c:985
bool type_span_bbox(meosType type)
Return true if the type has a span type as bounding box.
Definition: meos_catalog.c:940
bool alphanum_basetype(meosType type)
Return true if the type is an alphanumeric base type.
Definition: meos_catalog.c:671
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:1153
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:390
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:817
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:827
bool spanset_type(meosType type)
Return true if the type is a span set type.
Definition: meos_catalog.c:1027
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