This is an automated email from the ASF dual-hosted git repository. jlli pushed a commit to branch fix-pretty-print-response in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git
commit 8d01dd0748fe22c95c78a7d5b3ee61a982955c8b Author: jackjlli <[email protected]> AuthorDate: Mon Jun 24 14:13:42 2019 -0700 Fix NPE when there is no aggregation results in prettyPrintResponse method --- .../main/java/org/apache/pinot/tools/Quickstart.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pinot-tools/src/main/java/org/apache/pinot/tools/Quickstart.java b/pinot-tools/src/main/java/org/apache/pinot/tools/Quickstart.java index ea50eeb..724763d 100644 --- a/pinot-tools/src/main/java/org/apache/pinot/tools/Quickstart.java +++ b/pinot-tools/src/main/java/org/apache/pinot/tools/Quickstart.java @@ -34,6 +34,8 @@ public class Quickstart { private static final String TAB = "\t\t"; private static final String NEW_LINE = "\n"; + private static final String SELECTION_RESULTS_FIELD = "selectionResults"; + private static final String AGGREGATION_RESULTS_FIELD = "aggregationResults"; public enum Color { RESET("\u001B[0m"), GREEN("\u001B[32m"), YELLOW("\u001B[33m"), CYAN("\u001B[36m"); @@ -53,14 +55,14 @@ public class Quickstart { StringBuilder responseBuilder = new StringBuilder(); // Selection query - if (response.has("selectionResults")) { - JsonNode columns = response.get("selectionResults").get("columns"); + if (response.has(SELECTION_RESULTS_FIELD)) { + JsonNode columns = response.get(SELECTION_RESULTS_FIELD).get("columns"); int numColumns = columns.size(); for (int i = 0; i < numColumns; i++) { responseBuilder.append(columns.get(i).asText()).append(TAB); } responseBuilder.append(NEW_LINE); - JsonNode rows = response.get("selectionResults").get("results"); + JsonNode rows = response.get(SELECTION_RESULTS_FIELD).get("results"); int numRows = rows.size(); for (int i = 0; i < numRows; i++) { JsonNode row = rows.get(i); @@ -73,8 +75,11 @@ public class Quickstart { } // Aggregation only query - if (!response.get("aggregationResults").get(0).has("groupByResult")) { - JsonNode aggregationResults = response.get("aggregationResults"); + if (!response.has(AGGREGATION_RESULTS_FIELD)) { + return responseBuilder.toString(); + } + JsonNode aggregationResults = response.get(AGGREGATION_RESULTS_FIELD); + if (!aggregationResults.get(0).has("groupByResult")) { int numAggregations = aggregationResults.size(); for (int i = 0; i < numAggregations; i++) { responseBuilder.append(aggregationResults.get(i).get("function").asText()).append(TAB); @@ -88,7 +93,7 @@ public class Quickstart { } // Aggregation group-by query - JsonNode groupByResults = response.get("aggregationResults"); + JsonNode groupByResults = response.get(AGGREGATION_RESULTS_FIELD); int numGroupBys = groupByResults.size(); for (int i = 0; i < numGroupBys; i++) { JsonNode groupByResult = groupByResults.get(i); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
