Hi Craig,

you are right. I will change the project_member table as we discussed and check in the changes tomorrow.

Regards Michael

Hi Michael,

You won't hear any objections from the U.S. Everyone is on vacation until Tuesday!

So let's go ahead. We can always make minor changes later.

On Sep 4, 2005, at 3:18 PM, Michael Bouschen wrote:

Hi Craig,


Hi Michael,

I believe that the patch applies to the other datastoreidentityschemafiles as well.


Yes, this is what I think, too. I will check in the change for all datastoreidentity schema files unless I hear any objections.



Any idea why one join table uses this pattern:

CREATE TABLE project_member (
    PROJID INTEGER REFERENCES projects NOT NULL,
    MEMBER INTEGER REFERENCES persons NOT NULL);

and others use this pattern?

CREATE TABLE project_reviewer (
    PROJID INTEGER NOT NULL,
    REVIEWER INTEGER NOT NULL
);
ALTER TABLE project_reviewer
    ADD CONSTRAINT PR_PROJ_FK FOREIGN KEY
        (PROJID) REFERENCES projects(PROJID);

ALTER TABLE project_reviewer
    ADD CONSTRAINT PR_REV_FK FOREIGN KEY
        (REVIEWER) REFERENCES persons(PERSONID);

I guess the latter allows us to name the foreign key so it's easier to delete them by name.


No I have no idea.

This is a good catch. I guess the first pattern creates a FK to the column having the same name in the referenced table.


I don't know for sure, but I don't think so. I think the first pattern creates an FK to the primary key column.

Anyone have a SQL reference handy?

But we want the FK to reference a different column called DATASTORE_IDENTITY. Andys patch adds ALTER TABLE definitions for table project_member, so we should skip the REFERENCES clause from its definition:
CREATE TABLE project_member (
   PROJID INTEGER NOT NULL,
   MEMBER INTEGER NOT NULL
);

What do you think?


Yes. Let's make the FK definitions explicit.

Regards,

Craig


Regards Michael



Craig

On Sep 4, 2005, at 2:55 PM, Michael Bouschen wrote:


Hi Andy,

thanks for the patch!

I think the changes also apply to the other datastoreidentity schema files: schema[1-4].sql, since they have exactly the same problem. Am I right? I have patched all 5 schema files in my workspace. I just want to double check before I check in the changes.

Regards Michael



Hi Craig,



I'd be happy if you could propose a patch fixing the FK's.




patch is attached. Not raised a JIRA because in the time taken to raise the JIRA somebody could just have applied the patch


------------------------------------------------------------------------

Index: test/sql/derby/datastoreidentity/schema.sql
===================================================================
--- test/sql/derby/datastoreidentity/schema.sql    (revision 267234)
+++ test/sql/derby/datastoreidentity/schema.sql    (working copy)
@@ -167,12 +167,20 @@
ALTER TABLE project_reviewer     ADD CONSTRAINT PR_PROJ_FK FOREIGN KEY
-        (PROJID) REFERENCES projects(PROJID);
+        (PROJID) REFERENCES projects(DATASTORE_IDENTITY);
ALTER TABLE project_reviewer     ADD CONSTRAINT PR_REV_FK FOREIGN KEY
-        (REVIEWER) REFERENCES persons(PERSONID);
+        (REVIEWER) REFERENCES persons(DATASTORE_IDENTITY);
+ALTER TABLE project_member +    ADD CONSTRAINT PM_PROJ_FK FOREIGN KEY
+        (PROJID) REFERENCES projects(DATASTORE_IDENTITY);
+
+ALTER TABLE project_member +    ADD CONSTRAINT PM_MEMB_FK FOREIGN KEY
+        (MEMBER) REFERENCES persons(DATASTORE_IDENTITY);
+
ALTER TABLE departments     ADD CONSTRAINT EMP_MO_FK FOREIGN KEY
        (EMP_OF_THE_MONTH) REFERENCES persons(DATASTORE_IDENTITY);





--
Michael Bouschen        [EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED]    http://www.tech.spree.de/
Tel.:++49/30/235 520-33 Buelowstr. 66 Fax.:++49/30/2175 2012 D-10783 Berlin


Craig Russell

Architect, Sun Java Enterprise System http://java.sun.com/products/jdo

408 276-5638 mailto:[EMAIL PROTECTED]

P.S. A good JDO? O, Gasp!





--
Michael Bouschen        [EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED]    http://www.tech.spree.de/
Tel.:++49/30/235 520-33 Buelowstr. 66 Fax.:++49/30/2175 2012 D-10783 Berlin


Craig Russell

Architect, Sun Java Enterprise System http://java.sun.com/products/jdo

408 276-5638 mailto:[EMAIL PROTECTED]

P.S. A good JDO? O, Gasp!




--
Michael Bouschen                [EMAIL PROTECTED] Engineering GmbH
mailto:[EMAIL PROTECTED]        http://www.tech.spree.de/
Tel.:++49/30/235 520-33         Buelowstr. 66                   
Fax.:++49/30/2175 2012          D-10783 Berlin                  

Reply via email to