This type is now being used to represent the tag name, as it offers ways
to check at compile time for the tag being valid.
Chromium change:
https://chromium.googlesource.com/chromium/src/+/dd2d901c3ecfb8685f4e4eda55edd6c8247f62da
commit dd2d901c3ecfb8685f4e4eda55edd6c8247f62da
Author: Anthony Vallée-Dubois <anthonyvd@google.com>
Date: Wed Dec 18 15:25:28 2024 -0800
Assert that database tag is valid at compile time
This CL adds facilities to assert at compile-time that a database tag
passed to the `sql::Database` constructors is specified in the
DatabaseTag variant list in the corresponding `histograms.xml` file.
For many users of `Database`, this change is a no-op. That said, some
create databases with `make_unique()`, and the mechanism for forwarding arguments used by that function is incompatible with the
implicit invocation of the consteval constructor this CL introduces.
For this reason, these callers are also updated to explicitly create
the tag object.
Finally, 19 databases were using tags not defined in the histograms
file, so this CL adds these tags as variants.
Change-Id: I7aa6fdc4b923325cc41038fef72b239b5c19e4bd