MobilityDB 1.3
Loading...
Searching...
No Matches
Functions
type_parser.c File Reference

Functions for parsing base, set, span, tbox, and temporal types. More...

#include "temporal/type_parser.h"
#include <meos.h>
#include <meos_internal.h>
#include <meos_internal_geo.h>
#include "temporal/postgres_types.h"
#include "temporal/temporal.h"
#include "temporal/type_util.h"
#include "geo/tspatial_parser.h"

Functions

bool basetype_parse (const char **str, meosType basetype, char delim, Datum *result)
 Parse a base value from the buffer. More...
 
bool bound_parse (const char **str, meosType basetype, Datum *result)
 Parse a bound value from the buffer. More...
 
bool double_parse (const char **str, double *result)
 Input a double from the buffer. More...
 
bool elem_parse (const char **str, meosType basetype, Datum *result)
 Parse a element value from the buffer. More...
 
bool ensure_cbrace (const char **str, const char *type)
 Ensure to input a closing brace from the buffer. More...
 
bool ensure_cparen (const char **str, const char *type)
 Ensure to input a closing parenthesis from the buffer. More...
 
bool ensure_end_input (const char **str, const char *type)
 Ensure there is no more input excepted white spaces. More...
 
bool ensure_obrace (const char **str, const char *type)
 Ensure to input an opening brace from the buffer. More...
 
bool ensure_oparen (const char **str, const char *type)
 Ensure to input an opening parenthesis from the buffer. More...
 
bool p_cbrace (const char **str)
 Input a closing brace from the buffer. More...
 
bool p_cbracket (const char **str)
 Input a closing bracket from the buffer. More...
 
bool p_comma (const char **str)
 Input a comma from the buffer. More...
 
bool p_cparen (const char **str)
 Input a closing parenthesis from the buffer. More...
 
bool p_delimchar (const char **str, char delim)
 Input an opening brace from the buffer. More...
 
bool p_obrace (const char **str)
 Input an opening brace from the buffer. More...
 
bool p_obracket (const char **str)
 Input an opening bracket from the buffer. More...
 
bool p_oparen (const char **str)
 Input an opening parenthesis from the buffer. More...
 
void p_whitespace (const char **str)
 Input a white space from the buffer. More...
 
Setset_parse (const char **str, meosType settype)
 Parse a set value from the buffer. More...
 
bool span_parse (const char **str, meosType spantype, bool end, Span *span)
 Parse a span value from the buffer. More...
 
SpanSetspanset_parse (const char **str, meosType spansettype)
 Parse a span set value from the buffer. More...
 
TBoxtbox_parse (const char **str)
 Parse a temporal box value from the buffer. More...
 
bool tcontseq_parse (const char **str, meosType temptype, interpType interp, bool end, TSequence **result)
 Parse a temporal sequence value from the buffer. More...
 
TSequencetdiscseq_parse (const char **str, meosType temptype)
 Parse a temporal discrete sequence from the buffer. More...
 
Temporaltemporal_parse (const char **str, meosType temptype)
 Parse a temporal value from the buffer (dispatch function) More...
 
TimestampTz timestamp_parse (const char **str)
 Parse a timestamp value from the buffer. More...
 
bool tinstant_parse (const char **str, meosType temptype, bool end, TInstant **result)
 Parse a temporal instant value from the buffer. More...
 
TSequenceSettsequenceset_parse (const char **str, meosType temptype, interpType interp)
 Parse a temporal sequence set from the buffer. More...
 

Detailed Description

Functions for parsing base, set, span, tbox, and temporal types.

Many functions make two passes for parsing, the first one to obtain the number of elements in order to do memory allocation with palloc, the second one to create the type. This is the only approach we can see at the moment which is both correct and simple.