[Building Sakai] removeEnrollmentSet constraint error
Gary Seibold
gseibold at bumail.bradley.edu
Thu Sep 10 14:22:55 PDT 2009
When I try and using removeEnrollmentSet (or removeEnrollment) on
Sakai 2.5 with mySQL I get a constraint error. How should I be
removing enrollments or enrollmentsets?
WARN: SQL Error: 1451, SQLState: 23000 (2009-09-09 11:55:22,202
QuartzScheduler_Worker-0_org.hibernate.util.JDBCExceptionReporter)
ERROR: Cannot delete or update a parent row: a foreign key constraint
fails (`sakai`.`cm_member_container_t`, CONSTRAINT
`FKD96A9BC6456D3EA1` FOREIGN KEY (`ENROLLMENT_SET`) REFERENCES
`cm_enrollment_set_t` (`ENROLLMENT_SET_ID`)) (2009-09-09 11:55:22,202
QuartzScheduler_Worker-0_org.hibernate.util.JDBCExceptionReporter)
ERROR: Could not synchronize database state with session (2009-09-09
11:55:22,202
QuartzScheduler_Worker
-0_org.hibernate.event.def.AbstractFlushingEventListener)
org.hibernate.exception.ConstraintViolationException: could not
delete: [org.sakaiproject.coursemanagement.impl.EnrollmentSetCmImpl#1]
at
org
.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:
71)
at
org
.hibernate
.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at
org
.hibernate
.persister
.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:
2541)
at
org
.hibernate
.persister
.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:
2697)
at
org
.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:74)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:250)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:
234)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:
146)
at
org
.hibernate
.event
.def
.AbstractFlushingEventListener
.performExecutions(AbstractFlushingEventListener.java:298)
at
org
.hibernate
.event
.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:
27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:
106)
at
org
.springframework
.orm
.hibernate3
.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:
575)
at
org
.springframework
.transaction
.support
.AbstractPlatformTransactionManager
.processCommit(AbstractPlatformTransactionManager.java:662)
at
org
.springframework
.transaction
.support
.AbstractPlatformTransactionManager
.commit(AbstractPlatformTransactionManager.java:632)
at
org
.springframework
.transaction
.interceptor
.TransactionAspectSupport
.commitTransactionAfterReturning(TransactionAspectSupport.java:314)
at
org
.springframework
.transaction
.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:
117)
at
org
.springframework
.aop
.framework
.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)
at
org
.springframework
.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy98.removeEnrollmentSet(Unknown Source)
at
edu
.bradley.sakai.SakaiHelper.addOrUpdateEnrollmentSet(SakaiHelper.java:
257)
at edu.bradley.sakai.SakaiHelper.doSetUpCourses(SakaiHelper.java:701)
at edu.bradley.sakai.jobs.MaintainSites.execute(MaintainSites.java:28)
at
org
.sakaiproject
.component
.app
.scheduler.jobs.SpringJobBeanWrapper.execute(SpringJobBeanWrapper.java:
80)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at org.quartz.simpl.SimpleThreadPool
$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: java.sql.SQLException: Cannot delete or update a parent
row: a foreign key constraint fails (`sakai`.`cm_member_container_t`,
CONSTRAINT `FKD96A9BC6456D3EA1` FOREIGN KEY (`ENROLLMENT_SET`)
REFERENCES `cm_enrollment_set_t` (`ENROLLMENT_SET_ID`))
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2921)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1570)
at
com
.mysql
.jdbc
.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:
1085)
at
com
.mysql
.jdbc
.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:
670)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:
1159)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:
1076)
at
com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:
1061)
at
org
.apache
.commons
.dbcp
.DelegatingPreparedStatement
.executeUpdate(DelegatingPreparedStatement.java:102)
at
org
.hibernate
.persister
.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:
2523)
... 24 more
More information about the sakai-dev
mailing list