>From Vijay Sarathy <[email protected]>:

Vijay Sarathy has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17425 )


Change subject: [ASTERIXDB-3139][COMP] Cardinality in explain output should not 
show fractional part
......................................................................

[ASTERIXDB-3139][COMP] Cardinality in explain output should not show fractional 
part

Change-Id: I9d19cea939531a832b6f40c59b6051510fd7e0fb
---
M 
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
M 
hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
2 files changed, 29 insertions(+), 2 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/25/17425/1

diff --git 
a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
 
b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
index a60c969..7787cd9 100644
--- 
a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
+++ 
b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
@@ -110,6 +110,15 @@
         }
     }

+    private String removeDecimalPart(double value) {
+        String doubleAsString = Double.toString(value);
+        int indexOfDecimal = doubleAsString.indexOf(".");
+        if (indexOfDecimal != -1) {
+            return doubleAsString.substring(0, indexOfDecimal);
+        }
+        return doubleAsString;
+    }
+
     private void printOperatorImpl(AbstractLogicalOperator op, int indent, 
boolean printInputs,
             boolean printOptimizerEstimates) throws AlgebricksException {
         double opCard, opLocalCost, opTotalCost;
@@ -122,7 +131,7 @@
             buffer.append(" [");
             buffer.append(CARDINALITY);
             buffer.append(": ");
-            buffer.append(Double.toString(opCard));
+            buffer.append(removeDecimalPart(opCard));
             buffer.append(", ");
             buffer.append(OP_COST_LOCAL);
             buffer.append(": ");
diff --git 
a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
 
b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
index 464d15e..3ab576e 100644
--- 
a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
+++ 
b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
@@ -229,6 +229,15 @@
         jsonGenerator.writeEndArray();
     }

+    private double removeDecimalPart(double value) {
+        String doubleAsString = Double.toString(value);
+        int indexOfDecimal = doubleAsString.indexOf(".");
+        if (indexOfDecimal != -1) {
+            return Double.parseDouble(doubleAsString.substring(0, 
indexOfDecimal));
+        }
+        return value;
+    }
+
     private void generateCardCostFields(AbstractLogicalOperator op, boolean 
printOptimizerEstimates)
             throws AlgebricksException {
         double opCard, opLocalCost, opTotalCost;
@@ -238,7 +247,7 @@
             opTotalCost = getOpTotalCost(op);
             try {
                 jsonGenerator.writeObjectFieldStart(OPTIMIZER_ESTIMATES);
-                jsonGenerator.writeNumberField(CARDINALITY, opCard);
+                jsonGenerator.writeNumberField(CARDINALITY, 
removeDecimalPart(opCard));
                 jsonGenerator.writeNumberField(OP_COST_LOCAL, opLocalCost);
                 jsonGenerator.writeNumberField(OP_COST_TOTAL, opTotalCost);
                 jsonGenerator.writeEndObject();

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17425
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: neo
Gerrit-Change-Id: I9d19cea939531a832b6f40c59b6051510fd7e0fb
Gerrit-Change-Number: 17425
Gerrit-PatchSet: 1
Gerrit-Owner: Vijay Sarathy <[email protected]>
Gerrit-MessageType: newchange

Reply via email to