HAWQ-1103. Added comments and test case for empty string.

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

Branch: refs/heads/HAWQ-1103
Commit: b2dd7de0c332922f647309f58e6e4a3630d33418
Parents: 3544222
Author: Oleksandr Diachenko <[email protected]>
Authored: Fri Oct 21 15:09:39 2016 -0700
Committer: Oleksandr Diachenko <[email protected]>
Committed: Fri Oct 21 15:09:39 2016 -0700

----------------------------------------------------------------------
 src/backend/access/external/pxffilters.c        | 22 +++++++++++++++++++-
 .../access/external/test/pxffilters_test.c      |  4 +++-
 2 files changed, 24 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/b2dd7de0/src/backend/access/external/pxffilters.c
----------------------------------------------------------------------
diff --git a/src/backend/access/external/pxffilters.c 
b/src/backend/access/external/pxffilters.c
index 0d13074..f06b07f 100644
--- a/src/backend/access/external/pxffilters.c
+++ b/src/backend/access/external/pxffilters.c
@@ -329,7 +329,27 @@ pxf_free_filter(PxfFilterDesc* filter)
  *
  * Yields the following serialized string:
  *
- * a0c1o2a0c5o1o7a2c"third"o5o7
+ * a0c23s1d1o2a1c23s1d5o1a2c25s5dthirdo5l0l0
+ *
+ * Where:
+ *
+ * a0     - first column of table
+ * c23    - scalar constant with type oid 23(INT4)
+ * s1     - size of constant in bytes
+ * d1     - serialized constant value
+ * o2     - greater than operation
+ * a1     - second column of table
+ * c23    - scalar constant with type oid 23(INT4)
+ * s1     - size of constant in bytes
+ * d5     - serialized constant value
+ * o1     - less than operation
+ * a2     - third column of table
+ * c25    - scalar constant with type oid 25(TEXT)
+ * s5     - size of constant in bytes
+ * dthird - serialized constant value
+ * o5     - equals operation
+ * l0     - AND operator
+ * l0     - AND operator
  *
  */
 static char *

http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/b2dd7de0/src/backend/access/external/test/pxffilters_test.c
----------------------------------------------------------------------
diff --git a/src/backend/access/external/test/pxffilters_test.c 
b/src/backend/access/external/test/pxffilters_test.c
index 3679587..fa1db94 100644
--- a/src/backend/access/external/test/pxffilters_test.c
+++ b/src/backend/access/external/test/pxffilters_test.c
@@ -518,6 +518,7 @@ test__pxf_serialize_filter_list__manyFilters(void **state)
        ExpressionItem* expressionItem3 = build_expression_item(3, TEXTOID, 
"Winston", TEXTOID, TextEqualOperator);
        ExpressionItem* expressionItem4 = build_expression_item(4, TEXTOID, 
"Eric-%", TEXTOID, 1209);
        ExpressionItem* expressionItem5 = build_expression_item(5, TEXTOID, 
"\"Ugly\" string with quotes", TEXTOID, TextEqualOperator);
+       ExpressionItem* expressionItem6 = build_expression_item(6, TEXTOID, "", 
TEXTOID, TextEqualOperator);
 
 
        expressionItems = lappend(expressionItems, expressionItem1);
@@ -525,9 +526,10 @@ test__pxf_serialize_filter_list__manyFilters(void **state)
        expressionItems = lappend(expressionItems, expressionItem3);
        expressionItems = lappend(expressionItems, expressionItem4);
        expressionItems = lappend(expressionItems, expressionItem5);
+       expressionItems = lappend(expressionItems, expressionItem6);
 
        result = pxf_serialize_filter_list(expressionItems);
-       assert_string_equal(result, "a0c25s4d1984o5a1c25s13dGeorge 
Orwello5a2c25s7dWinstono5a3c25s6dEric-%o7a4c25s25d\"Ugly\" string with 
quoteso5");
+       assert_string_equal(result, "a0c25s4d1984o5a1c25s13dGeorge 
Orwello5a2c25s7dWinstono5a3c25s6dEric-%o7a4c25s25d\"Ugly\" string with 
quoteso5a5c25s0do5");
        pfree(result);
 
        int trivialExpressionItems = expressionItems->length;

Reply via email to