[
https://issues.apache.org/jira/browse/GEODE-3019?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16095597#comment-16095597
]
ASF GitHub Bot commented on GEODE-3019:
---------------------------------------
Github user dgkimura commented on a diff in the pull request:
https://github.com/apache/geode-native/pull/107#discussion_r128660879
--- Diff: src/cppcache/src/StructSetImpl.cpp ---
@@ -66,25 +66,22 @@ SelectResultsIterator StructSetImpl::getIterator() {
return SelectResultsIterator(m_structVector, shared_from_this());
}
-int32_t StructSetImpl::getFieldIndex(const char* fieldname) {
- std::map<std::string, int32_t>::iterator iter =
+const int32_t StructSetImpl::getFieldIndex(const std::string& fieldname) {
+ const auto& iter =
m_fieldNameIndexMap.find(fieldname);
if (iter != m_fieldNameIndexMap.end()) {
return iter->second;
} else {
- // std::string tmp = "fieldname ";
- // tmp += fieldname + " not found";
- throw IllegalArgumentException("fieldname not found");
+ throw std::invalid_argument("fieldname not found");
}
}
-const char* StructSetImpl::getFieldName(int32_t index) {
- for (std::map<std::string, int32_t>::iterator iter =
- m_fieldNameIndexMap.begin();
- iter != m_fieldNameIndexMap.end(); ++iter) {
- if (iter->second == index) return iter->first.c_str();
+const std::string& StructSetImpl::getFieldName(int32_t index) {
+ for (const auto& iter : m_fieldNameIndexMap) {
+ if (iter.second == index) return (iter.first);
}
- return nullptr;
+
+ throw std::out_of_range("Struct: fieldName not found.");
--- End diff --
Would it add any value having the index in the error message?
> Refactor Struct
> ---------------
>
> Key: GEODE-3019
> URL: https://issues.apache.org/jira/browse/GEODE-3019
> Project: Geode
> Issue Type: Task
> Components: native client
> Reporter: Jacob S. Barrett
>
> Refactor Struct (geode/Struct.hpp):
> * Replace {{char *}} with {{std::string}}
> * Replace {{m_fieldname}} type with {{std::unordered_map<std::string,
> int32_t>}}
> * Add vector for index to field name lookup.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)