This is an automated email from the ASF dual-hosted git repository.
vavrtom pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/qpid-broker-j.git
The following commit(s) were added to refs/heads/main by this push:
new 0cd564d129 QPID-8718: [Broker-J] Broker query engine should support
newline characters (#341)
0cd564d129 is described below
commit 0cd564d1293af088d40dc7a6c54646bdf2d487c0
Author: Daniil Kirilyuk <[email protected]>
AuthorDate: Wed Nov 26 15:50:03 2025 +0100
QPID-8718: [Broker-J] Broker query engine should support newline characters
(#341)
---
.../management/plugin/servlet/rest/QueryServlet.java | 6 +++---
.../query/engine/evaluator/QueryEvaluatorTest.java | 18 ++++++++++++++++++
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
index 0825000dbf..061ed84046 100644
---
a/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
+++
b/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/QueryServlet.java
@@ -27,7 +27,6 @@ import java.time.ZoneId;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.stream.Collectors;
import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletException;
@@ -100,9 +99,10 @@ public abstract class QueryServlet<X extends
ConfiguredObject<?>> extends Abstra
final ConfiguredObject<?> managedObject
) throws IOException
{
+ String content = "";
try
{
- final String content =
request.getReader().lines().collect(Collectors.joining());
+ content = String.join(" ", request.getReader().lines().toList());
if (content.isEmpty())
{
performQuery(request, response, managedObject);
@@ -119,7 +119,7 @@ public abstract class QueryServlet<X extends
ConfiguredObject<?>> extends Abstra
catch (Exception e)
{
sendJsonErrorResponse(request, response,
HttpServletResponse.SC_INTERNAL_SERVER_ERROR, GENERIC_ERROR_MESSAGE);
- LOGGER.error("Error when executing query", e);
+ LOGGER.error("Error when executing query '%s'".formatted(content),
e);
}
}
diff --git
a/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/evaluator/QueryEvaluatorTest.java
b/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/evaluator/QueryEvaluatorTest.java
index 695482e597..2c6bcd2447 100644
---
a/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/evaluator/QueryEvaluatorTest.java
+++
b/broker-plugins/query-engine/src/test/java/org/apache/qpid/server/query/engine/evaluator/QueryEvaluatorTest.java
@@ -30,6 +30,9 @@ import
org.apache.qpid.server.query.engine.evaluator.settings.QuerySettings;
import org.apache.qpid.server.query.engine.exception.Errors;
import org.apache.qpid.server.query.engine.exception.QueryValidationException;
+import java.util.List;
+import java.util.Map;
+
/**
* Tests designed to verify the {@link QueryEvaluator} functionality
*/
@@ -152,4 +155,19 @@ public class QueryEvaluatorTest
assertEquals(Errors.EVALUATION.QUERY_NOT_SUPPLIED, e.getMessage());
}
}
+
+ @Test
+ public void multiLineQuery()
+ {
+ final QueryEvaluator evaluator = new QueryEvaluator(null, new
QuerySettings(), TestBroker.createBroker());
+ final List<String> delimiters = List.of("\n", "\r", "\r\n");
+ for (final String delimiter : delimiters)
+ {
+ final String query = "select * " + delimiter +
+ "from queue " + delimiter +
+ "where name = 'QUEUE_1'";
+ final List<Map<String, Object>> result =
evaluator.execute(query).getResults();
+ assertEquals(1, result.size());
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]