DRILL-1235: Fix null handling in REST interface
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/e71a5059 Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/e71a5059 Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/e71a5059 Branch: refs/heads/master Commit: e71a5059f87aefc23a8e6811cbb5f078281c9549 Parents: 2d10e8b Author: akumarb2010 <[email protected]> Authored: Fri Aug 1 18:28:20 2014 +0530 Committer: Jacques Nadeau <[email protected]> Committed: Wed Aug 6 16:44:22 2014 -0700 ---------------------------------------------------------------------- .../java/org/apache/drill/exec/server/rest/QueryWrapper.java | 8 ++++++-- exec/java-exec/src/main/resources/rest/query/result.ftl | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/e71a5059/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java index 83c82db..8f299bb 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/QueryWrapper.java @@ -135,10 +135,14 @@ public class QueryWrapper { for (VectorWrapper<?> vw : loader) { ValueVector.Accessor accessor = vw.getValueVector().getAccessor(); Object object = accessor.getObject(i); - if (! object.getClass().getName().startsWith("java.lang")) { + if (object != null && (! object.getClass().getName().startsWith("java.lang"))) { object = object.toString(); } - record.put(columnNames.get(j), object); + if (object != null) { + record.put(columnNames.get(j), object); + } else { + record.put(columnNames.get(j), null); + } ++j; } output.add(record); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/e71a5059/exec/java-exec/src/main/resources/rest/query/result.ftl ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/resources/rest/query/result.ftl b/exec/java-exec/src/main/resources/rest/query/result.ftl index 0d60da8..d4e3508 100644 --- a/exec/java-exec/src/main/resources/rest/query/result.ftl +++ b/exec/java-exec/src/main/resources/rest/query/result.ftl @@ -38,7 +38,7 @@ <#list model.getRecords() as record> <tr> <#list record as value> - <td>${value}</td> + <td><#if value??>${value}<#else>null</#if></td> </#list> </tr> </#list>
