MCPcopy Create free account
hub / github.com/documentdb/documentdb / InitShardKeyMetadata

Function InitShardKeyMetadata

pg_documentdb/src/sharding/sharding.c:465–480  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

463
464
465static void
466InitShardKeyMetadata(pgbson *shardKeyBson, ShardKeyMetadata *shardKeyMetadata)
467{
468 int shardKeyCount = PgbsonCountKeys(shardKeyBson);
469 shardKeyMetadata->fieldCount = shardKeyCount;
470 shardKeyMetadata->fields = palloc(shardKeyCount * sizeof(const char *));
471
472 /* build array of shard key field names */
473 bson_iter_t shardKeyIter;
474 PgbsonInitIterator(shardKeyBson, &shardKeyIter);
475
476 for (int fieldIndex = 0; bson_iter_next(&shardKeyIter); fieldIndex++)
477 {
478 shardKeyMetadata->fields[fieldIndex] = bson_iter_key(&shardKeyIter);
479 }
480}
481
482
483/*

Calls 2

PgbsonCountKeysFunction · 0.85
PgbsonInitIteratorFunction · 0.85

Tested by

no test coverage detected