From be0978a29900b07f169129b9367494bc0ac91095 Mon Sep 17 00:00:00 2001 From: devplant Date: Thu, 6 Apr 2023 16:34:26 +0300 Subject: [PATCH] RED-5504 - Prevent using exact same database schema/buckets/index for multiple tenants - update the sql messages --- .../internal/api/controller/InternalControllerAdvice.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/InternalControllerAdvice.java b/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/InternalControllerAdvice.java index fc0fde898..a49ff5b31 100644 --- a/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/InternalControllerAdvice.java +++ b/persistence-service-v1/persistence-service-internal-api-impl-v1/src/main/java/com/iqser/red/service/persistence/v1/internal/api/controller/InternalControllerAdvice.java @@ -88,12 +88,14 @@ public class InternalControllerAdvice { public ResponseEntity handleSQLException(SQLException e) { if (e.getMessage().contains("violates unique constraint")) { - return new ResponseEntity<>(new ErrorMessage(OffsetDateTime.now(), "Unique constraint violation"), HttpStatus.CONFLICT); + int index = e.getMessage().indexOf("violates unique constraint"); + String violation_key = e.getMessage().substring(index); + return new ResponseEntity<>(new ErrorMessage(OffsetDateTime.now(), "Unique constraint violation" + violation_key), HttpStatus.CONFLICT); } else if (e.getMessage().contains("No suitable driver found")) { return new ResponseEntity<>(new ErrorMessage(OffsetDateTime.now(), "JDBC URL is incorrect"), HttpStatus.BAD_REQUEST); } else { log.error("PLSQL Exception occurred: {}", e.getMessage(), e); - return new ResponseEntity<>(new ErrorMessage(OffsetDateTime.now(), "SQL Exception"), HttpStatus.INTERNAL_SERVER_ERROR); + return new ResponseEntity<>(new ErrorMessage(OffsetDateTime.now(), "SQL Exception" + e.getMessage()), HttpStatus.INTERNAL_SERVER_ERROR); } }