From 6ecb0cf111ed6a8674717d0bed114cb23f9cad04 Mon Sep 17 00:00:00 2001 From: Theresa Kamerman Date: Mon, 3 Mar 2025 12:56:56 -0800 Subject: [PATCH] fix Update constraint params --- .../postgres/PostgresConstraintRepository.java | 2 +- .../postgres/UpdateConstraintParametersAction.java | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/merlin-server/src/main/java/gov/nasa/jpl/aerie/merlin/server/remotes/postgres/PostgresConstraintRepository.java b/merlin-server/src/main/java/gov/nasa/jpl/aerie/merlin/server/remotes/postgres/PostgresConstraintRepository.java index 88b2428c06..866b824c26 100644 --- a/merlin-server/src/main/java/gov/nasa/jpl/aerie/merlin/server/remotes/postgres/PostgresConstraintRepository.java +++ b/merlin-server/src/main/java/gov/nasa/jpl/aerie/merlin/server/remotes/postgres/PostgresConstraintRepository.java @@ -71,7 +71,7 @@ public void updateConstraintParameterSchema(final long constraintId, final long updateConstraintAction.update(constraintId, revision, schema); } } catch (final SQLException ex) { - throw new DatabaseException("Failed to get scheduling specification revision data", ex); + throw new DatabaseException("Failed to get constraint revision data", ex); } } } diff --git a/merlin-server/src/main/java/gov/nasa/jpl/aerie/merlin/server/remotes/postgres/UpdateConstraintParametersAction.java b/merlin-server/src/main/java/gov/nasa/jpl/aerie/merlin/server/remotes/postgres/UpdateConstraintParametersAction.java index 4aff4285cc..3bf8316cd3 100644 --- a/merlin-server/src/main/java/gov/nasa/jpl/aerie/merlin/server/remotes/postgres/UpdateConstraintParametersAction.java +++ b/merlin-server/src/main/java/gov/nasa/jpl/aerie/merlin/server/remotes/postgres/UpdateConstraintParametersAction.java @@ -13,9 +13,8 @@ public class UpdateConstraintParametersAction implements AutoCloseable { private static final @Language("SQL") String sql = """ update merlin.constraint_definition - set parameter_schema=? - where (constraint_id, revision)= (?,?) - returning constraint_id + set parameter_schema=?::jsonb + where (constraint_id, revision)= (?,?); """; private final PreparedStatement statement; @@ -28,10 +27,10 @@ public void update(final long constraintId, final long revision, final ValueSche this.statement.setString(1, new ValueSchemaJsonParser().unparse(schema).toString()); this.statement.setLong(2, constraintId); this.statement.setLong(3, revision); - this.statement.executeUpdate(); + final var rowsUpdated = this.statement.executeUpdate(); - try (final var results = statement.executeQuery()) { - if (!results.next()) throw new FailedUpdateException("merlin.constraint_definition"); + if (rowsUpdated != 1) { + throw new FailedUpdateException("merlin.constraint_definition"); } }