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

◆ add_value_as_string_with_size()

static bool add_value_as_string_with_size ( mvt_agg_context ctx,
struct feature_builder feature,
char *  value,
size_t  size,
uint32_t  k 
)
static

Definition at line 507 of file mvt.c.

508{
509 bool kept = false;
510 struct mvt_kv_value *kv;
511 unsigned hashv;
512 HASH_VALUE(value, size, hashv);
513 POSTGIS_DEBUG(2, "add_value_as_string called");
514 HASH_FIND_BYHASHVALUE(hh, ctx->string_values_hash, value, size, hashv, kv);
515 if (!kv)
516 {
517 POSTGIS_DEBUG(4, "add_value_as_string value not found");
518 kv = palloc(sizeof(*kv));
519 POSTGIS_DEBUGF(4, "add_value_as_string new hash key: %d",
520 ctx->values_hash_i);
521 kv->id = ctx->values_hash_i++;
522 vector_tile__tile__value__init(kv->value);
523 kv->value->string_value = value;
524 kv->value->test_oneof_case = VECTOR_TILE__TILE__VALUE__TEST_ONEOF_STRING_VALUE;
525 HASH_ADD_KEYPTR_BYHASHVALUE(hh, ctx->string_values_hash, kv->value->string_value, size, hashv, kv);
526 kept = true;
527 }
528
529 feature_add_property(feature, k, kv->id);
530 return kept;
531}
static void feature_add_property(struct feature_builder *builder, uint32_t key_id, uint32_t value_id)
Definition mvt.c:123
uint32_t values_hash_i
Definition mvt.h:94
struct mvt_kv_value * string_values_hash
Definition mvt.h:86
VectorTile__Tile__Value value[1]
Definition mvt.c:70
UT_hash_handle hh
Definition mvt.c:72
uint32_t id
Definition mvt.c:71

References feature_add_property(), mvt_kv_value::hh, mvt_kv_value::id, mvt_agg_context::string_values_hash, mvt_kv_value::value, and mvt_agg_context::values_hash_i.

Referenced by add_value_as_string().

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