PostGIS  2.4.9dev-r@@SVN_REVISION@@

◆ nd_box_to_json()

static char* nd_box_to_json ( const ND_BOX nd_box,
int  ndims 
)
static

Convert an ND_BOX to a JSON string for printing.

Definition at line 404 of file gserialized_estimate.c.

References ND_BOX_T::max, ND_BOX_T::min, stringbuffer_append(), stringbuffer_aprintf(), stringbuffer_create(), stringbuffer_destroy(), and stringbuffer_getstringcopy().

Referenced by compute_gserialized_stats_mode(), estimate_join_selectivity(), estimate_selectivity(), nd_box_overlap(), and nd_stats_to_json().

405 {
406  char *rv;
407  int i;
409 
410  stringbuffer_append(sb, "{\"min\":[");
411  for ( i = 0; i < ndims; i++ )
412  {
413  if ( i ) stringbuffer_append(sb, ",");
414  stringbuffer_aprintf(sb, "%.6g", nd_box->min[i]);
415  }
416  stringbuffer_append(sb, "],\"max\":[");
417  for ( i = 0; i < ndims; i++ )
418  {
419  if ( i ) stringbuffer_append(sb, ",");
420  stringbuffer_aprintf(sb, "%.6g", nd_box->max[i]);
421  }
422  stringbuffer_append(sb, "]}");
423 
426  return rv;
427 }
stringbuffer_t * stringbuffer_create(void)
Allocate a new stringbuffer_t.
Definition: stringbuffer.c:35
char * stringbuffer_getstringcopy(stringbuffer_t *s)
Returns a newly allocated string large enough to contain the current state of the string...
Definition: stringbuffer.c:160
int stringbuffer_aprintf(stringbuffer_t *s, const char *fmt,...)
Appends a formatted string to the current string buffer, using the format and argument list provided...
Definition: stringbuffer.c:253
float4 max[ND_DIMS]
void stringbuffer_append(stringbuffer_t *s, const char *a)
Append the specified string to the stringbuffer_t.
Definition: stringbuffer.c:134
void stringbuffer_destroy(stringbuffer_t *s)
Free the stringbuffer_t and all memory managed within it.
Definition: stringbuffer.c:78
float4 min[ND_DIMS]
Here is the call graph for this function:
Here is the caller graph for this function: