<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 3 0 0 0 0 0 0 0;}
@font-face
        {font-family:"\@PMingLiU";
        panose-1:2 2 3 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:#606420;
        text-decoration:underline;}
span.EmailStyle17
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink="#606420">
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>This submission modifies the ApplySchema command
implementation, for RDBMS providers, to skip adding unique constraints whose
properties are the identity properties of the class for the constraint. Such
unique constraints are redundant since the identity properties already
effectively form a unique constraint. They are also illegal in some RDBMS’s.
Identity Properties are mapped onto primary key columns, and Oracle disallows
adding a unique constraint with the same columns as the primary key.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>The following unique constraints are ok and are not skipped:</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> - contain a subset of the identity properties</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> - contain some or all of the identity properties
plus at least one more class property.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>In order to unit test the above, a fix for constraints read
from a config file was also applied. In this case, constraints are read from
both the config file and the RDBMS. A check was added to ensure that a
constraint isn't added to the LogicalPhysical schemas twice if it is in both
places.</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Revision: 615</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Author: brentrobinson</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Date: </span></font><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>5:03:36 PM</span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>, </span></font><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Friday, January 05,
2007</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Message:</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Skip unique constraints that are identical to primary key</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>----</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Utilities/SchemaMgr/Inc/Sm/Lp/ClassDefinition.h</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Utilities/SchemaMgr/Inc/Sm/Lp/UniqueConstraint.h</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Utilities/SchemaMgr/Inc/Sm/Ph/Table.h</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Utilities/SchemaMgr/Nls/SmMessage.mc</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Utilities/SchemaMgr/Src/Sm/Lp/ClassDefinition.cpp</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Utilities/SchemaMgr/Src/Sm/Lp/UniqueConstraint.cpp</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Utilities/SchemaMgr/Src/Sm/Ph/Table.cpp</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Revision: 605</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Author: brentrobinson</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Date: </span></font><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>5:04:52 PM</span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>, </span></font><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Friday, January 05,
2007</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Message:</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Skip unique constraints that are identical to primary key</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>----</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoApplySchemaTest.cpp</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/SelectTests.cpp</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.cpp</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/LogicalPhysicalBender.xslt</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Modified : /branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/gen_default1_MySql_master.txt</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
</div>
</body>
</html>