633 uint32_t *tags = palloc(n_keys * 2 *
sizeof(*tags));
636 uint32_t natts = (uint32_t) cc.
tupdesc->natts;
640 POSTGIS_DEBUG(2,
"parse_values called");
644 tuple.t_len = HeapTupleHeaderGetDatumLength(ctx->
row);
645 ItemPointerSetInvalid(&(tuple.t_self));
646 tuple.t_tableOid = InvalidOid;
647 tuple.t_data = ctx->
row;
652 POSTGIS_DEBUGF(3,
"parse_values natts: %d", natts);
654 for (i = 0; i < natts; i++)
659 Datum datum = cc.
values[i];
672 POSTGIS_DEBUG(3,
"parse_values isnull detected");
676 key = TupleDescAttr(cc.
tupdesc, i)->attname.data;
681 elog(ERROR,
"parse_values: unexpectedly could not find parsed key name '%s'", key);
682 if (typoid == JSONBOID)
694 sizeof(protobuf_c_boolean),
696 VECTOR_TILE__TILE__VALUE__TEST_ONEOF_BOOL_VALUE);
713 VECTOR_TILE__TILE__VALUE__TEST_ONEOF_FLOAT_VALUE);
721 VECTOR_TILE__TILE__VALUE__TEST_ONEOF_DOUBLE_VALUE);
741 POSTGIS_DEBUGF(3,
"parse_values n_tags %zd", ctx->
feature->n_tags);
static void parse_datum_as_string(mvt_agg_context *ctx, Oid typoid, Datum datum, uint32_t *tags, uint32_t k)
#define MVT_PARSE_DATUM(type, datumfunc, hash, size, pfvaluefield, pftype)
static void set_feature_id(mvt_agg_context *ctx, Datum datum, bool isNull)
Sets the feature id.
#define MVT_PARSE_INT_DATUM(type, datumfunc)
static uint32_t * parse_jsonb(mvt_agg_context *ctx, Jsonb *jb, uint32_t *tags)
static void add_value_as_string(mvt_agg_context *ctx, char *value, uint32_t *tags, uint32_t k)
VectorTile__Tile__Feature * feature
mvt_column_cache column_cache
uint32_t * column_keys_index