#699 closed defect (fixed)
RDBMS: Fixes for classes with inherited associations and constraints
Reported by: | brentrobinson | Owned by: | brentrobinson |
---|---|---|---|
Priority: | minor | Milestone: | 3.6.0 |
Component: | GenericRdbms API | Version: | |
Severity: | 3 | Keywords: | Association Property List Constraint inherited base class |
Cc: | External ID: |
Description
The following fails for MySQL, PostgreSQL and SQLServerSpatial providers:
- Create a class definition (A)
- Add an identity property
- Create a class definition (B).
- Add an identity property
- Add an assocation property with class A as the associated class
- Apply the schema
- Create a class definition (C) with class B as base class
- Apply the schema. This will fail with an error indicating that Classes B and A are already associated.
The following fails for the PostgreSQL provider:
- Create a class definition (A)
- Add an identity property
- Add a data property with a list constraint
- Apply the schema
- Create a class definition (B) with class A as base class
- Apply the schema.
Change History (2)
comment:1 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:2 by , 14 years ago
Revision: 5682 Author: brentrobinson Date: 2:49:50 PM, Friday, September 24, 2010 Message: Ticket#669:
FdoSmPhRdPostGisConstraintReader:corrected left/right bracket imbalance resulting from conversion of check constraint from PostGreSQL to FDO format.
FdoSmLpAssociationProperty: there is a check to ensure that an assocation between the containing and associated classes does not already exist. This check is now performed only for new associations.
Also, removed "text", "cascade" and "mode" as reserved words.
Modified : /trunk/Providers/GenericRdbms/Src/PostGis/SchemaMgr/Ph/Mgr.cpp Modified : /trunk/Providers/GenericRdbms/Src/PostGis/SchemaMgr/Ph/Rd/ConstraintReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/SchemaMgr/Ph/Mgr.cpp Modified : /trunk/Providers/GenericRdbms/Src/UnitTest/Common/SchemaMgrTests.cpp Modified : /trunk/Utilities/SchemaMgr/Inc/Sm/Ph/Table.h Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Lp/AssociationPropertyDefinition.cpp Modified : /trunk/Utilities/SchemaMgr/Src/Sm/Ph/Table.cpp
Revision: 5723 Author: brentrobinson Date: 11:30:38 AM, Friday, October 01, 2010 Message: Ticket#699: Modified the SQL for retrieving unique and check constraints, to go against the SQLServer sys views instead of the information_schema. This resolves a problem that occurred when ApplySchema created a class that inherits from an existing class with check constraint longer than 4000 characters. The constraint got truncated and the creation of the class table failed with SQL syntax error. The problem can still happen but the constraint now has to be longer than 32000 characters.
This change also speeds up the retrieval of unique and check constraints.
Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/ODBCDriver/constants.h Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/ODBCDriver/desc_slct.c Modified : /trunk/Providers/GenericRdbms/Src/SQLServerSpatial/SchemaMgr/Ph/Rd/ConstraintReader.cpp Modified : /trunk/Providers/GenericRdbms/Src/UnitTest/apply_no_meta_test1_SQLServerSpatial_master.xml
Revision: 5739 Author: brentrobinson Date: 10:27:22 AM, Tuesday, October 05, 2010 Message: Ticket#699: Added test for creating class based on existing class that has association properties.
Modified : /trunk/Providers/GenericRdbms/Src/UnitTest/Common/FdoAssociationSchemaTest.cpp Modified : /trunk/Providers/GenericRdbms/Src/UnitTest/Common/FdoAssociationSchemaTest.h
Revision: 5740 Author: brentrobinson Date: 8:48:43 AM, Thursday, October 07, 2010 Message: Ticket#699: Added case for adding class based on existing class with constraints.
Modified : /trunk/Utilities/TestCommon/Src/TestCommonConstraints.cpp