PostGIS  2.3.8dev-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 394 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().

395 {
396  char *rv;
397  int i;
399 
400  stringbuffer_append(sb, "{\"min\":[");
401  for ( i = 0; i < ndims; i++ )
402  {
403  if ( i ) stringbuffer_append(sb, ",");
404  stringbuffer_aprintf(sb, "%.6g", nd_box->min[i]);
405  }
406  stringbuffer_append(sb, "],\"max\":[");
407  for ( i = 0; i < ndims; i++ )
408  {
409  if ( i ) stringbuffer_append(sb, ",");
410  stringbuffer_aprintf(sb, "%.6g", nd_box->max[i]);
411  }
412  stringbuffer_append(sb, "]}");
413 
416  return rv;
417 }
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: