From 95c034cfa82a947d53cb5209f0c0051348165eb0 Mon Sep 17 00:00:00 2001 From: Dimitris Christodoulou Date: Fri, 26 Jan 2024 13:24:20 +0000 Subject: [PATCH] CXXCBC-421: Return feature_not_available when query preserve expiry is not supported --- core/operations/document_query.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/operations/document_query.cxx b/core/operations/document_query.cxx index 3c4f1a03..593fd199 100644 --- a/core/operations/document_query.cxx +++ b/core/operations/document_query.cxx @@ -327,7 +327,12 @@ query_request::make_response(error_context::query&& ctx, const encoded_response_ response.ctx.first_error_message = response.meta.errors->front().message; switch (response.ctx.first_error_code) { case 1065: /* IKey: "service.io.request.unrecognized_parameter" */ - response.ctx.ec = errc::common::invalid_argument; + if ((response.ctx.first_error_message.find("Unrecognized parameter in request") != std::string::npos) && + (response.ctx.first_error_message.find("preserve_expiry") != std::string::npos)) { + response.ctx.ec = errc::common::feature_not_available; + } else { + response.ctx.ec = errc::common::invalid_argument; + } break; case 1080: /* IKey: "timeout" */ response.ctx.ec = errc::common::unambiguous_timeout;