Community
Participate
Working Groups
Build Identifier: EclipseLink 2.3.0 RC4 Hi there, we would like to submit a patch for your review for EclipseLink 2.3.1. The changes we made were: 1. Index Name issue Implementation of unique index name for unique table columns. Symfoware V10.1 requires that index name must be unique in schema. 2. Index Name issue Corrections of test data as workaround to resolve collision of duplication of index names. Regards, Tanya Reproducible: Always
Created attachment 198237 [details] The attachment contains patch for support of Symfoware v10.1
I'll look at this for 2.3.1 An initial comment: This appears to hard code prefixes for index names into TableDefinition. Am I wrong? Why is this necessary? Is there a Symfoware restriction that requires those names? If so, at the very least, this prefix should come from SymfowarePlatform and not be hard coded for other databases.
(In reply to comment #2) > I'll look at this for 2.3.1 > An initial comment: > This appears to hard code prefixes for index names into TableDefinition. Am I > wrong? Why is this necessary? Is there a Symfoware restriction that requires > those names? If so, at the very least, this prefix should come from > SymfowarePlatform and not be hard coded for other databases. We need to add prefixes IX_/UIX_ to differ the index for primary key, index column from index for unique column because when the column is part of aggregated primary key and unique - there are two different indexes are created with the same name as index name is generated basing on column name and index prefix. This causes Symfoware database error(duplication of indexes). The prefix “IX_” was hardcoded before. Now we added just new prefix “UIX_” for unique column index in this patch. And as I said before we use prefix just to ensure the name is unique(different from the column names). This code is only executed for DB platforms that need indexes created explicitly at table creation time (currently only Symfoware).
Created attachment 199148 [details] Updated patch Attaching an alternate patch. This patch consolidates some duplicated code and moves the Index prefix to the DatabasePlatform. Feedback Welcome.
(In reply to comment #4) > Created attachment 199148 [details] > Updated patch > Attaching an alternate patch. This patch consolidates some duplicated code and > moves the Index prefix to the DatabasePlatform. > Feedback Welcome. Hi Tom, I looked through your changes - they look ok to me. But you didnt include the fix of test data for 2) (I mean the fix for second problem mentioned in patch description) I would like to test your patch. What version of EclipseLink code did you use for your patch? I will download it and run tests. Thank you, Tanya
The patch is on our trunk stream. The changes for the tests are already checked in.
(In reply to comment #6) > The patch is on our trunk stream. > The changes for the tests are already checked in. Hi Tom, I am sorry but I need some help. I downloaded current trunk but seems that build.xml files are missed in it. So I am not able to build EclipseLink. Do you why those files are missed? Is build procedure is changed? Thank you
We have just converted to be more compatible with some of the Eclipse build machinery. To build with ant use the antbuild.xml file.
(In reply to comment #8) > We have just converted to be more compatible with some of the Eclipse build > machinery. To build with ant use the antbuild.xml file. Tom, Thank you for your answer regarding build. I tested the patch you provided, everything ok and you can check it in.
Checked in to 2.3.1 and trunk Change alters TableDefinition to allow the platform to specify a prefix for index names Reviewed: Tom Ware reviewed customer submitted fix Tested with Core and JPA LRG Symfoware testing to be conducted by submitter
(In reply to comment #10) > Checked in to 2.3.1 and trunk > Change alters TableDefinition to allow the platform to specify a prefix for > index names > Reviewed: Tom Ware reviewed customer submitted fix > Tested with Core and JPA LRG > Symfoware testing to be conducted by submitter I confirmed that all tests pass on EclipseLink2.3.1_r9697 + SymfowareV10.1. Thank you.
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink