HAWQ-542. Passing empty string to attribute vseg_resource_quota makes default 
value set instead of reporting error


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/31eb645b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/31eb645b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/31eb645b

Branch: refs/heads/HAWQ-459
Commit: 31eb645b44bbd8ec453dbcb33a491c16f3f69178
Parents: ca2a770
Author: YI JIN <[email protected]>
Authored: Wed Mar 16 13:37:55 2016 +1100
Committer: YI JIN <[email protected]>
Committed: Wed Mar 16 13:37:55 2016 +1100

----------------------------------------------------------------------
 src/backend/resourcemanager/resqueuemanager.c | 11 +++++++++++
 1 file changed, 11 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/31eb645b/src/backend/resourcemanager/resqueuemanager.c
----------------------------------------------------------------------
diff --git a/src/backend/resourcemanager/resqueuemanager.c 
b/src/backend/resourcemanager/resqueuemanager.c
index 7bc0e7b..cbf824e 100644
--- a/src/backend/resourcemanager/resqueuemanager.c
+++ b/src/backend/resourcemanager/resqueuemanager.c
@@ -346,6 +346,17 @@ int shallowparseResourceQueueWithAttributes(List   
*rawattr,
                case RSQ_DDL_ATTR_NVSEG_UPPER_LIMIT_PERSEG:
                case RSQ_DDL_ATTR_NVSEG_LOWER_LIMIT_PERSEG:
                {
+
+                       /* The empty value is not allowed. */
+                       if ( SimpleStringEmpty(&(property->Val)) )
+                       {
+                               snprintf(errorbuf, errorbufsize,
+                                                "the value of %s cannot be 
empty",
+                                                RSQDDLAttrNames[attrindex]);
+                               elog(WARNING, "Resource manager failed parsing 
attribute, %s",
+                                                         errorbuf);
+                               return RMDDL_WRONG_ATTRVALUE;
+                       }
                        /*
                         * Build property.
                         *

Reply via email to