Github user parthchandra commented on a diff in the pull request:
https://github.com/apache/drill/pull/1037#discussion_r151260565
--- Diff: contrib/native/client/src/include/drill/userProperties.hpp ---
@@ -28,6 +28,20 @@ class DECLSPEC_DRILL_CLIENT DrillUserProperties{
static const std::map<std::string, uint32_t> USER_PROPERTIES;
DrillUserProperties(){};
+
+ /// @brief Insert or update property value associate with the property key if
the value is
+ /// empty or key is undefined. This function is useful for setting default property.
+ ///
+ /// @param in_propName The property name.
+ /// @param in_propValue The property value.
+ void SetDefaultProperty(const std::string& in_propName, const std::string&
in_propValue)
+ {
+ // If the element value is empty (newly inserted or user defined), then update.
+ if (m_properties[in_propName].empty())
--- End diff --
I would have preferred to use isPropSet to see if the property value is set. Operator[]
for a map is intended only to add new values. I believe this might add a new empty element
to the map.
---
|