PostGIS  3.7.0dev-r@@SVN_REVISION@@

◆ flatgeobuf_agg_finalfn()

uint8_t* flatgeobuf_agg_finalfn ( struct flatgeobuf_agg_ctx ctx)

Finalize aggregation.

Encode into Data message and return it packed as a bytea.

Definition at line 557 of file flatgeobuf.c.

558 {
559  POSTGIS_DEBUGF(3, "called at offset %lld", ctx->ctx->offset);
560  if (ctx == NULL)
561  flatgeobuf_agg_ctx_init(NULL, false);
562  // header only result
563  if (ctx->ctx->features_count == 0) {
564  flatgeobuf_encode_header(ctx->ctx);
565  } else if (ctx->ctx->create_index) {
566  ctx->ctx->index_node_size = 16;
567  flatgeobuf_create_index(ctx->ctx);
568  }
569  if (ctx->tupdesc != NULL)
570  ReleaseTupleDesc(ctx->tupdesc);
571  SET_VARSIZE(ctx->ctx->buf, ctx->ctx->offset);
572  return ctx->ctx->buf;
573 }
struct flatgeobuf_agg_ctx * flatgeobuf_agg_ctx_init(const char *geom_name, const bool create_index)
Initialize aggregation context.
Definition: flatgeobuf.c:502
flatgeobuf_ctx * ctx
Definition: flatgeobuf.h:48
TupleDesc tupdesc
Definition: flatgeobuf.h:51

References flatgeobuf_agg_ctx::ctx, and flatgeobuf_agg_ctx_init().

Referenced by pgis_asflatgeobuf_finalfn().

Here is the call graph for this function:
Here is the caller graph for this function: