MCPcopy Create free account
hub / github.com/apple/foundationdb / insert

Method insert

fdbclient/GlobalConfig.actor.cpp:103–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

101}
102
103void GlobalConfig::insert(KeyRef key, ValueRef value) {
104 // TraceEvent(SevInfo, "GlobalConfigInsert").detail("Key", key).detail("Value", value);
105 data.erase(key);
106
107 Arena arena(key.expectedSize() + value.expectedSize());
108 KeyRef stableKey = KeyRef(arena, key);
109 try {
110 std::any any;
111 Tuple t = Tuple::unpack(value);
112 if (t.getType(0) == Tuple::ElementType::UTF8) {
113 any = StringRef(arena, t.getString(0).contents());
114 } else if (t.getType(0) == Tuple::ElementType::INT) {
115 any = t.getInt(0);
116 } else if (t.getType(0) == Tuple::ElementType::BOOL) {
117 any = t.getBool(0);
118 } else if (t.getType(0) == Tuple::ElementType::FLOAT) {
119 any = t.getFloat(0);
120 } else if (t.getType(0) == Tuple::ElementType::DOUBLE) {
121 any = t.getDouble(0);
122 } else if (t.getType(0) == Tuple::ElementType::VERSIONSTAMP) {
123 any = t.getVersionstamp(0);
124 } else {
125 ASSERT(false);
126 }
127 data[stableKey] = makeReference<ConfigValue>(std::move(arena), std::move(any));
128
129 if (callbacks.find(stableKey) != callbacks.end()) {
130 callbacks[stableKey](data[stableKey]->value);
131 }
132 } catch (Error& e) {
133 TraceEvent(SevWarn, "GlobalConfigTupleParseError").detail("What", e.what());
134 }
135}
136
137void GlobalConfig::erase(Key key) {
138 erase(KeyRangeRef(key, keyAfter(key)));

Calls 15

KeyRefClass · 0.85
unpackFunction · 0.85
moveFunction · 0.85
TraceEventClass · 0.85
detailMethod · 0.80
getVersionstampMethod · 0.65
StringRefClass · 0.50
eraseMethod · 0.45
expectedSizeMethod · 0.45
getTypeMethod · 0.45
getStringMethod · 0.45
getIntMethod · 0.45

Tested by 9

SpecialKeySpaceMethod · 0.36
modulesBoundaryInitMethod · 0.36
registerKeyRangeMethod · 0.36
Future<Void> commitActorFunction · 0.36
setMethod · 0.36
parseNetWorkAddrFromKeysFunction · 0.36
clearMethod · 0.36
parseLocalitiesFromKeysFunction · 0.36