feat(bigtable): Add support for adding tags to an Instance in InstanceConfig#16014
feat(bigtable): Add support for adding tags to an Instance in InstanceConfig#16014dohun-dev wants to merge 2 commits intogoogleapis:mainfrom
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enhances the Highlights
Changelog
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request adds support for setting tags on an InstanceConfig, which is a useful feature. The implementation is straightforward, adding insert_tag and emplace_tag methods that are consistent with the existing insert_label and emplace_label methods. The new functionality is also well-tested. I have one suggestion to improve the efficiency of emplace_tag by adding an overload for rvalue keys.
| InstanceConfig& emplace_tag(std::string const& key, std::string value) { | ||
| (*proto_.mutable_instance()->mutable_tags())[key] = std::move(value); | ||
| return *this; | ||
| } |
There was a problem hiding this comment.
To optimize for cases where the key is an rvalue (e.g., a temporary from a string literal), consider adding an overload for emplace_tag that accepts an rvalue reference for the key. This allows moving the key into the map instead of copying it, improving efficiency.
A similar improvement could be made to emplace_label in a follow-up change for consistency.
InstanceConfig& emplace_tag(std::string const& key, std::string value) {
(*proto_.mutable_instance()->mutable_tags())[key] = std::move(value);
return *this;
}
InstanceConfig& emplace_tag(std::string&& key, std::string value) {
(*proto_.mutable_instance()->mutable_tags())[std::move(key)] =
std::move(value);
return *this;
}
No description provided.