Fix the result reader initialization code in query result servlet to use new API and clear buffers after each read.
git-svn-id: https://asterixdb.googlecode.com/svn/branches/asterix_stabilization_result_distribution@1237 eaa15691-b419-025a-1212-ee371bd00084
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 5fd4f84..2b0aff4 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
@@ -28,7 +28,6 @@
import edu.uci.ics.asterix.result.ResultReader;
import edu.uci.ics.asterix.result.ResultUtils;
-import edu.uci.ics.asterix.runtime.formats.FormatUtils;
import edu.uci.ics.hyracks.api.client.HyracksConnection;
import edu.uci.ics.hyracks.api.client.IHyracksClientConnection;
import edu.uci.ics.hyracks.api.dataset.ResultSetId;
@@ -66,7 +65,7 @@
/* TODO(madhusudancs): We need to find a way to JSON serialize default format obtained from
* metadataProvider in the AQLTranslator and store it as part of the result handle.
*/
- ResultReader resultReader = new ResultReader(hcc, FormatUtils.getDefaultFormat());
+ ResultReader resultReader = new ResultReader(hcc);
resultReader.open(jobId, rsId);
buffer.clear();
JSONObject jsonResponse = new JSONObject();
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 45b45f8..7248972 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
@@ -304,6 +304,7 @@
JSONArray results = new JSONArray();
while (resultReader.read(buffer) > 0) {
results.put(ResultUtils.getJSONFromBuffer(buffer, resultReader.getFrameTupleAccessor()));
+ buffer.clear();
}
response.put("results", results);
}