PostGIS  2.4.9dev-r@@SVN_REVISION@@

◆ postgis_typmod_type()

Datum postgis_typmod_type ( PG_FUNCTION_ARGS  )

Definition at line 367 of file gserialized_typmod.c.

References lwtype_name(), PG_FUNCTION_INFO_V1(), postgis_typmod_dims(), s, ovdump::type, TYPMOD_GET_M, TYPMOD_GET_TYPE, and TYPMOD_GET_Z.

Referenced by geometry_enforce_typmod().

368 {
369  int32 typmod = PG_GETARG_INT32(0);
370  int32 type = TYPMOD_GET_TYPE(typmod);
371  char *s = (char*)palloc(64);
372  char *ptr = s;
373  text *stext;
374 
375  /* Has type? */
376  if ( typmod < 0 || type == 0 )
377  ptr += sprintf(ptr, "Geometry");
378  else
379  ptr += sprintf(ptr, "%s", lwtype_name(type));
380 
381  /* Has Z? */
382  if ( typmod >= 0 && TYPMOD_GET_Z(typmod) )
383  ptr += sprintf(ptr, "%s", "Z");
384 
385  /* Has M? */
386  if ( typmod >= 0 && TYPMOD_GET_M(typmod) )
387  ptr += sprintf(ptr, "%s", "M");
388 
389  stext = cstring2text(s);
390  pfree(s);
391  PG_RETURN_TEXT_P(stext);
392 }
#define TYPMOD_GET_TYPE(typmod)
Definition: liblwgeom.h:167
unsigned int int32
Definition: shpopen.c:273
#define TYPMOD_GET_M(typmod)
Definition: liblwgeom.h:171
const char * lwtype_name(uint8_t type)
Return the type name string associated with a type number (e.g.
Definition: lwutil.c:218
char * s
Definition: cu_in_wkt.c:23
type
Definition: ovdump.py:41
#define TYPMOD_GET_Z(typmod)
Definition: liblwgeom.h:169
Here is the call graph for this function:
Here is the caller graph for this function: