PostGIS 3.6.2dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ gserialized_gist_union_2d()

Datum gserialized_gist_union_2d ( PG_FUNCTION_ARGS  )

Definition at line 1294 of file gserialized_gist_2d.c.

1295{
1296 GistEntryVector *entryvec = (GistEntryVector *) PG_GETARG_POINTER(0);
1297 int *sizep = (int *) PG_GETARG_POINTER(1); /* Size of the return value */
1298 int numranges, i;
1299 BOX2DF *box_cur, *box_union;
1300
1301 POSTGIS_DEBUG(4, "[GIST] 'union' function called");
1302
1303 numranges = entryvec->n;
1304
1305 box_cur = (BOX2DF*) DatumGetPointer(entryvec->vector[0].key);
1306
1307 box_union = box2df_copy(box_cur);
1308
1309 for ( i = 1; i < numranges; i++ )
1310 {
1311 box_cur = (BOX2DF*) DatumGetPointer(entryvec->vector[i].key);
1312 box2df_merge(box_union, box_cur);
1313 }
1314
1315 *sizep = sizeof(BOX2DF);
1316
1317 POSTGIS_DEBUGF(4, "[GIST] 'union', numranges(%i), pageunion %s", numranges, box2df_to_string(box_union));
1318
1319 PG_RETURN_POINTER(box_union);
1320
1321}
void box2df_merge(BOX2DF *b_union, BOX2DF *b_new)
static char * box2df_to_string(const BOX2DF *a)
BOX2DF * box2df_copy(BOX2DF *b)

References box2df_copy(), box2df_merge(), and box2df_to_string().

Here is the call graph for this function: