Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

Latest commit

 

History

History
41 lines (23 loc) · 1.2 KB

separate_key_name.md

File metadata and controls

41 lines (23 loc) · 1.2 KB

Key Name

Problem

Often a Key argument is used when you just need a key name. This is because with a Key we know the name is valid and we get an unescaped name. Using a Key here makes the API a bit confusing.

There could be a richer API for manipulating key names without relying on the escaped name (e.g. concatenating two full key names). With the current situation, all these functions would need to be part of the API for a key. Adding such functions to the key API is certainly not minimal.

Constraints

Assumptions

  • the key name is actually, in every implementation, a plain string

Considered Alternatives

  • add separate struct KeyName

Decision

Continue keeping 3 classes: Key, KeySet and KDB.

Rationale

  • A minimal Key ideally only consists of a key name and the goal is to keep Key small, so introducing KeyName would go the wrong direction.

Implications

Thus operations working on key names, directly use Key as argument.

Related Decisions

Notes

Text partly copied from @kodebach #4201 (review)