Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Murtadha Hubail has submitted this change and it was merged. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing - user model changes: no - storage format changes: no - interface changes: no Details: - Ensure results JSON field is closed when an exception is encountered. - Always return errors field if it exists in the API response. - Add test case. Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2057 Sonar-Qube: JenkinsTested-by: Jenkins Contrib: Jenkins Integration-Tests: Jenkins Reviewed-by: Ian Maxon --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java A asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java 3 files changed, 146 insertions(+), 32 deletions(-) Approvals: Jenkins: Verified; No violations found; ; Verified Ian Maxon: Looks good to me, approved Objections: Anon. E. Moose #1000171: diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java index 04ac0b3..c8d25f1 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java @@ -200,32 +200,33 @@ public void print(ResultReader resultReader) throws HyracksDataException { printPrefix(); +try { +final IFrameTupleAccessor fta = resultReader.getFrameTupleAccessor(); +final IFrame frame = new VSizeFrame(resultDisplayFrameMgr); -final IFrameTupleAccessor fta = resultReader.getFrameTupleAccessor(); -final IFrame frame = new VSizeFrame(resultDisplayFrameMgr); - -while (resultReader.read(frame) > 0) { -final ByteBuffer frameBuffer = frame.getBuffer(); -final byte[] frameBytes = frameBuffer.array(); -fta.reset(frameBuffer); -final int last = fta.getTupleCount(); -for (int tIndex = 0; tIndex < last; tIndex++) { -final int start = fta.getTupleStartOffset(tIndex); -int length = fta.getTupleEndOffset(tIndex) - start; -if (conf.fmt() == SessionConfig.OutputFormat.CSV -&& ((length > 0) && (frameBytes[start + length - 1] == '\n'))) { -length--; +while (resultReader.read(frame) > 0) { +final ByteBuffer frameBuffer = frame.getBuffer(); +final byte[] frameBytes = frameBuffer.array(); +fta.reset(frameBuffer); +final int last = fta.getTupleCount(); +for (int tIndex = 0; tIndex < last; tIndex++) { +final int start = fta.getTupleStartOffset(tIndex); +int length = fta.getTupleEndOffset(tIndex) - start; +if (conf.fmt() == SessionConfig.OutputFormat.CSV +&& ((length > 0) && (frameBytes[start + length - 1] == '\n'))) { +length--; +} +String result = new String(frameBytes, start, length, UTF_8); +if (wrapArray && notFirst) { +output.out().print(", "); +} +notFirst = true; +displayRecord(result); } -String result = new String(frameBytes, start, length, UTF_8); -if (wrapArray && notFirst) { -output.out().print(", "); -} -notFirst = true; -displayRecord(result); +frameBuffer.clear(); } -frameBuffer.clear(); +} finally { +printPostfix(); } - -printPostfix(); } } diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java new file mode 100644 index 000..6810e19 --- /dev/null +++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java @@ -0,0 +1,107 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License,
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Ian Maxon has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Code-Review+2 -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Ian Maxon Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Anon. E. Moose #1000171 has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Contrib-1 Analytics Compatibility Tests Failed Build 2712 : UNSTABLE -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Integration-Tests+1 Integration Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/4187/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Contrib+1 BAD Compatibility Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/1894/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/1894/ -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/4187/ -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/1137/ (3/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/1745/ (10/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/1467/ (5/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/1804/ (2/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/5186/ (9/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/1846/ (7/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/1127/ (1/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Hello Jenkins, I'd like you to reexamine a change. Please visit https://asterix-gerrit.ics.uci.edu/2057 to look at the new patch set (#2). Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing - user model changes: no - storage format changes: no - interface changes: no Details: - Ensure results JSON field is closed when an exception is encountered. - Always return errors field if it exists in the API response. - Add test case. Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java A asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java 3 files changed, 146 insertions(+), 32 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/57/2057/2 -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/2026/ (8/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/6682/ (4/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Integration-Tests-1 Integration Tests Failed https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/4186/ : FAILURE -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/4186/ -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/2025/ (10/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/5185/ (9/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/1137/ (8/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Murtadha Hubail has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/2057 Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing - user model changes: no - storage format changes: no - interface changes: no Details: - Ensure results JSON field is closed when an exception is encountered. - Always return errors field if it exists in the API response. - Add test case. Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java A asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/common/ResultExtractor.java 3 files changed, 128 insertions(+), 32 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/57/2057/1 diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java index 04ac0b3..c8d25f1 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/result/ResultPrinter.java @@ -200,32 +200,33 @@ public void print(ResultReader resultReader) throws HyracksDataException { printPrefix(); +try { +final IFrameTupleAccessor fta = resultReader.getFrameTupleAccessor(); +final IFrame frame = new VSizeFrame(resultDisplayFrameMgr); -final IFrameTupleAccessor fta = resultReader.getFrameTupleAccessor(); -final IFrame frame = new VSizeFrame(resultDisplayFrameMgr); - -while (resultReader.read(frame) > 0) { -final ByteBuffer frameBuffer = frame.getBuffer(); -final byte[] frameBytes = frameBuffer.array(); -fta.reset(frameBuffer); -final int last = fta.getTupleCount(); -for (int tIndex = 0; tIndex < last; tIndex++) { -final int start = fta.getTupleStartOffset(tIndex); -int length = fta.getTupleEndOffset(tIndex) - start; -if (conf.fmt() == SessionConfig.OutputFormat.CSV -&& ((length > 0) && (frameBytes[start + length - 1] == '\n'))) { -length--; +while (resultReader.read(frame) > 0) { +final ByteBuffer frameBuffer = frame.getBuffer(); +final byte[] frameBytes = frameBuffer.array(); +fta.reset(frameBuffer); +final int last = fta.getTupleCount(); +for (int tIndex = 0; tIndex < last; tIndex++) { +final int start = fta.getTupleStartOffset(tIndex); +int length = fta.getTupleEndOffset(tIndex) - start; +if (conf.fmt() == SessionConfig.OutputFormat.CSV +&& ((length > 0) && (frameBytes[start + length - 1] == '\n'))) { +length--; +} +String result = new String(frameBytes, start, length, UTF_8); +if (wrapArray && notFirst) { +output.out().print(", "); +} +notFirst = true; +displayRecord(result); } -String result = new String(frameBytes, start, length, UTF_8); -if (wrapArray && notFirst) { -output.out().print(", "); -} -notFirst = true; -displayRecord(result); +frameBuffer.clear(); } -frameBuffer.clear(); +} finally { +printPostfix(); } - -printPostfix(); } } diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java new file mode 100644 index 000..a733785 --- /dev/null +++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/app/result/ResultPrinterTest.java @@ -0,0 +1,89 @@ +package org.apache.asterix.app.result; + +import static org.apache.hyracks.util.StorageUtil.StorageUnit.KILOBYTE; + +import java.io.ByteArrayOutputStream; +import java.io.PrintWriter; +import java.nio.charset.StandardCharsets; + +import org.apache.asterix.api.http.server.AbstractQueryApiServlet; +import org.apache.asterix.api.http.server.ResultUtil; +import org.apache.asterix.common.api.IApplicationContext; +import org.apache.asterix.common.config.CompilerProperties; +import org.apache.asterix.common.exceptions.AsterixException; +import org.apache.asterix.test.common.ResultExtractor; +import
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/1803/ (6/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/6681/ (3/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/1126/ (7/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/1136/ (5/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/1744/ (1/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing
Jenkins has posted comments on this change. Change subject: [ASTERIXDB-2122][API] Ensure Valid JSON on Result Printing .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/1845/ (2/10) -- To view, visit https://asterix-gerrit.ics.uci.edu/2057 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ic16e9d234c5e127ea24e382c49f3c7cfa5bce9c7 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No