I believe that changes to security-schema.xml on 12/3 just before the M1 release that included adding "on delete cascade" to these foreign keys is what broke the MSSQL configuration for me. While I believe these constraints are appropriate schema wise, I am afraid they are hitting a MS SQL Server 2000 limitation. Fixing this probably involves customizing Torque... something Ate is pondering replacing... not sure it is worth the trouble.

If we want to keep the cascading deletes, a Simpler fix might involve splitting the usage of the SECURITY_PRINCIPAL into its separate usages, (i.e. USER_PRINCIPAL, ROLE_PRINCIPAL, GROUP_PRINCIPAL, and REMOTE_PRINCIPAL). This way, the cascading delete will not attempt to visit the same table twice. Will this change cause problems in the admin portlets?

Any thoughts on preserving the SECURITY_PRINCIPAL heterogeneous mapping vs. cascading deletes? Does anyone want to even consider extending Torque?

Randy

Randy Watler wrote:

Guys,

Apparently, multiple foreign keys to a single related table with an ON DELETE CASCADE constraint is not supported in MS SQL Server by design. It requires use of yet another trigger to implement. Unfortunately, this is not the first time I have been told to use a trigger for basic constraints, (such as ON DELETE SET NULL), in MS SQL Server, >:-(.

I am no SQL Server expert, so does anyone else care to attempt this before I do?

Randy

rwatler wrote:

David/Ate/Scott,

While executing the M1 scripts for DB configuration of MS SQL Server 2K, I ended up with these errors:

db.execute:
[echo] Executing scripts for ./sql/DDL/mssql/security-schema.sql
[sql] Executing file: /usr/share/tomcat5/jetspeed-database/scripts/sql/DDL/mssql/security-schema.sql


[sql] Failed to execute: BEGIN ALTER TABLE SSO_PRINCIPAL_TO_REMOTE ADD CONSTRAINT SSO_PRINCIPAL_TO_REMOTE_FK_2 FOREIGN KEY (REMOTE_PRINCIPAL_ID) REFERENCES SECURITY_PRINCIPAL (PRINCIPAL_ID) ON DELETE CASCADE END

BUILD FAILED
/usr/share/tomcat5/jetspeed-database/scripts/build.xml:64: The following error occurred while executing this line:
/usr/share/tomcat5/jetspeed-database/scripts/build.xml:38: java.sql.SQLException: Introducing FOREIGN KEY constraint 'SSO_PRINCIPAL_TO_REMOTE_FK_2' on table 'SSO_PRINCIPAL_TO_REMOTE' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.


...



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to