diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/DeleteAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/DeleteAction.java index a1c0096a..83776d9b 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/DeleteAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/DeleteAction.java @@ -369,11 +369,14 @@ public class DeleteAction QueryOutput queryOutput = new QueryAction().execute(queryInput); List associatedKeys = queryOutput.getRecords().stream().map(r -> r.getValue(associatedTable.getPrimaryKeyField())).toList(); - DeleteInput nextLevelDeleteInput = new DeleteInput(); - nextLevelDeleteInput.setTransaction(deleteInput.getTransaction()); - nextLevelDeleteInput.setTableName(association.getAssociatedTableName()); - nextLevelDeleteInput.setPrimaryKeys(associatedKeys); - DeleteOutput nextLevelDeleteOutput = new DeleteAction().execute(nextLevelDeleteInput); + if(CollectionUtils.nullSafeHasContents(associatedKeys)) + { + DeleteInput nextLevelDeleteInput = new DeleteInput(); + nextLevelDeleteInput.setTransaction(deleteInput.getTransaction()); + nextLevelDeleteInput.setTableName(association.getAssociatedTableName()); + nextLevelDeleteInput.setPrimaryKeys(associatedKeys); + DeleteOutput nextLevelDeleteOutput = new DeleteAction().execute(nextLevelDeleteInput); + } } } diff --git a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/InsertAction.java b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/InsertAction.java index 7198ae9f..e91b1440 100644 --- a/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/InsertAction.java +++ b/qqq-backend-core/src/main/java/com/kingsrook/qqq/backend/core/actions/tables/InsertAction.java @@ -239,11 +239,14 @@ public class InsertAction extends AbstractQActionFunction