ensure rest api returns a single json object with a single 'results' field for each query
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/QueryResultAPIServlet.java b/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/QueryResultAPIServlet.java
index f06dbcd..05c9023 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/QueryResultAPIServlet.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/api/http/servlet/QueryResultAPIServlet.java
@@ -81,7 +81,7 @@
             JSONObject jsonResponse = new JSONObject();
             JSONArray results = new JSONArray();
             while (resultReader.read(buffer) > 0) {
-                results.put(ResultUtils.getJSONFromBuffer(buffer, resultReader.getFrameTupleAccessor()));
+                ResultUtils.getJSONFromBuffer(buffer, resultReader.getFrameTupleAccessor(), results);
             }
             jsonResponse.put("results", results);
             out.write(jsonResponse.toString());
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java b/asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java
index 4202db3..1883e1a 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java
@@ -1750,21 +1750,24 @@
                     resultReader.open(jobId, metadataProvider.getResultSetId());
                     buffer.clear();
 
+                    JSONArray results = new JSONArray();
                     while (resultReader.read(buffer) > 0) {
-                        response.put("results",
-                                ResultUtils.getJSONFromBuffer(buffer, resultReader.getFrameTupleAccessor()));
+                        ResultUtils.getJSONFromBuffer(buffer, resultReader.getFrameTupleAccessor(), results);
                         buffer.clear();
-                        switch (pdf) {
-                            case HTML:
-                                ResultUtils.prettyPrintHTML(out, response);
-                                break;
-                            case TEXT:
-                            case JSON:
-                                out.print(response);
-                                break;
-                        }
-                        out.flush();
                     }
+
+                    response.put("results", results);
+                    switch (pdf) {
+                        case HTML:
+                            ResultUtils.prettyPrintHTML(out, response);
+                            break;
+                        case TEXT:
+                        case JSON:
+                            out.print(response);
+                            break;
+                    }
+                    out.flush();
+
                     if (pdf == DisplayFormat.HTML) {
                         out.println("</pre>");
                     }
diff --git a/asterix-app/src/main/java/edu/uci/ics/asterix/result/ResultUtils.java b/asterix-app/src/main/java/edu/uci/ics/asterix/result/ResultUtils.java
index ad60843..18ed62a 100644
--- a/asterix-app/src/main/java/edu/uci/ics/asterix/result/ResultUtils.java
+++ b/asterix-app/src/main/java/edu/uci/ics/asterix/result/ResultUtils.java
@@ -35,8 +35,8 @@
 import edu.uci.ics.hyracks.dataflow.common.comm.util.ByteBufferInputStream;
 
 public class ResultUtils {
-    public static JSONArray getJSONFromBuffer(ByteBuffer buffer, IFrameTupleAccessor fta) throws HyracksDataException {
-        JSONArray resultRecords = new JSONArray();
+    public static void getJSONFromBuffer(ByteBuffer buffer, IFrameTupleAccessor fta, JSONArray resultRecords)
+            throws HyracksDataException {
         ByteBufferInputStream bbis = new ByteBufferInputStream();
 
         try {
@@ -56,7 +56,6 @@
                 throw new HyracksDataException(e);
             }
         }
-        return resultRecords;
     }
 
     public static JSONObject getErrorResponse(int errorCode, String errorMessage, String errorSummary,