You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by jl...@apache.org on 2019/06/24 21:14:04 UTC
[incubator-pinot] 01/01: Fix NPE when there is no aggregation
results in prettyPrintResponse method
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 <jl...@linkedin.com>
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: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org