Seite 1 von 1

Mitglied mit Wiedervorlageeintrag nicht löschbar

Verfasst: Montag 18. Februar 2019, 09:03
von moss_the_TeXie
Ich versuchte gerade, einen Datensatz wg. Austritts des Mitglieds zu löschen, bekomme den nichtssagenden Fehler "Fehler beim Löschen" und sehe im Log an der Stelle:

Code: Alles auswählen

Caused by: org.h2.jdbc.JdbcSQLException: Referentielle Integrität verletzt: "FKWIEDERVORLAGE1: PUBLIC.WIEDERVORLAGE FOREIGN KEY(MITGLIED) REFERENCES PUBLIC.MITGLIED(ID) (6306)"
Referential integrity constraint violation: "FKWIEDERVORLAGE1: PUBLIC.WIEDERVORLAGE FOREIGN KEY(MITGLIED) REFERENCES PUBLIC.MITGLIED(ID) (6306)"; SQL statement:
delete from MITGLIED where ID = 6306 [23503-193]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
	at org.h2.message.DbException.get(DbException.java:179)
	at org.h2.message.DbException.get(DbException.java:155)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:426)
	at org.h2.constraint.ConstraintReferential.checkRowRefTable(ConstraintReferential.java:443)
	at org.h2.constraint.ConstraintReferential.checkRow(ConstraintReferential.java:318)
	at org.h2.table.Table.fireConstraints(Table.java:967)
	at org.h2.table.Table.fireAfterRow(Table.java:985)
	at org.h2.command.dml.Delete.update(Delete.java:101)
	at org.h2.command.CommandContainer.update(CommandContainer.java:98)
	at org.h2.command.Command.executeUpdate(Command.java:258)
	at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:130)
	at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:115)
	at de.willuhn.datasource.db.AbstractDBObject.delete(AbstractDBObject.java:374)
	... 12 more
Nachdem ich die Wiedervorlage einzeln gelöscht hatte, konnte auch der restliche Datensatz gelöscht werden.

Ich betrachte das als Bug. Zudem ist die nichtssagende Fehlermeldung unnütz; wenn man die Fehlerursache ins Log schreiben kann, kann man auch eine anständige Fehlermeldung ausgeben.

Bitte beide Bugs fixen! Danke!