[fdo-commits] r779 - in
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest: . Common
svn_fdo at osgeo.org
svn_fdo at osgeo.org
Tue Mar 6 08:36:53 EST 2007
Author: brentrobinson
Date: 2007-03-06 08:36:53 -0500 (Tue, 06 Mar 2007)
New Revision: 779
Added:
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_overrides_err1O_master.txt
Modified:
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/ConnectionUtil.cpp
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoApplySchemaTest.cpp
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoApplySchemaTest.h
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoImportExportTest.cpp
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoImportExportTest.h
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoInsertTest.cpp
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/SchemaMgrTests.cpp
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/SchemaMgrTests.h
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.cpp
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.h
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/LogicalPhysicalBender.xslt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/OverrideBender.xslt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_err5_master.txt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign1_master.txt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign2_master.txt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign_out2_master.txt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test1_master.txt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test2_master.txt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test3_master.txt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test4_master.txt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test5_master.txt
branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test_ov3_master.txt
Log:
Added various schema test cases
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/ConnectionUtil.cpp
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/ConnectionUtil.cpp 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/ConnectionUtil.cpp 2007-03-06 13:36:53 UTC (rev 779)
@@ -19,6 +19,7 @@
#include "Pch.h"
#include "ConnectionUtil.h"
+#ifndef RDBI_DEF_SA_ORA
extern void ut_thread_mutex_init ();
extern void ut_thread_mutex_destroy ();
@@ -39,6 +40,7 @@
};
static FdoMsgInitializerSingleton Singleton;
+#endif
StaticConnection::StaticConnection (void) :
m_rdbi_context(NULL),
@@ -55,10 +57,14 @@
{
mDatastore = UnitTestUtil::GetEnviron("datastore", suffix );
FdoStringP strDatastore = mDatastore;
+#ifndef RDBI_DEF_SA_ORA
if (m_rdbi_context->dispatch.capabilities.supports_unicode == 1)
::rdbi_set_schemaW( m_rdbi_context, strDatastore );
else
::rdbi_set_schema( m_rdbi_context, strDatastore );
+#else
+ ::rdbi_set_schema( m_rdbi_context, (char*)(const char*)strDatastore );
+#endif
}
int StaticConnection::do_rdbi_init (rdbi_context_def** rdbi_context)
@@ -80,7 +86,11 @@
try
{
CPPUNIT_ASSERT_MESSAGE ("rdbi_initialize failed", RDBI_SUCCESS == do_rdbi_init (&rdbi_context));
+#ifndef RDBI_DEF_SA_ORA
CPPUNIT_ASSERT_MESSAGE ("rdbi_term failed", RDBI_SUCCESS == rdbi_term (&rdbi_context));
+#else
+ CPPUNIT_ASSERT_MESSAGE ("rdbi_term failed", RDBI_SUCCESS == rdbi_term (rdbi_context));
+#endif
}
catch (CppUnit::Exception exception)
{
@@ -111,7 +121,11 @@
}
catch (CppUnit::Exception exception)
{
+#ifndef RDBI_DEF_SA_ORA
rdbi_term (&m_rdbi_context);
+#else
+ rdbi_term (m_rdbi_context);
+#endif
throw exception;
}
}
@@ -140,7 +154,12 @@
if ( m_rdbi_context ) {
CPPUNIT_ASSERT_MESSAGE ("rdbi_disconnect failed", RDBI_SUCCESS == rdbi_disconnect (m_rdbi_context));
+#ifndef RDBI_DEF_SA_ORA
CPPUNIT_ASSERT_MESSAGE ("rdbi_term failed", RDBI_SUCCESS == rdbi_term (&m_rdbi_context));
+#else
+ if ( m_rdbi_context->rdbi_initialized )
+ CPPUNIT_ASSERT_MESSAGE ("rdbi_term failed", RDBI_SUCCESS == rdbi_term (m_rdbi_context));
+#endif
}
}
@@ -192,7 +211,11 @@
CPPUNIT_ASSERT_MESSAGE ("rdbi_initialize failed", RDBI_SUCCESS == do_rdbi_init (&rdbi_context));
name = rdbi_vndr_name (rdbi_context);
printf ("%s\n", name);
+#ifndef RDBI_DEF_SA_ORA
CPPUNIT_ASSERT_MESSAGE ("rdbi_term failed", RDBI_SUCCESS == rdbi_term (&rdbi_context));
+#else
+ CPPUNIT_ASSERT_MESSAGE ("rdbi_term failed", RDBI_SUCCESS == rdbi_term (rdbi_context));
+#endif
}
catch (CppUnit::Exception exception)
{
@@ -229,10 +252,18 @@
}
catch (CppUnit::Exception exception)
{
+#ifndef RDBI_DEF_SA_ORA
rdbi_term (&rdbi_context);
+#else
+ rdbi_term (rdbi_context);
+#endif
throw exception;
}
+#ifndef RDBI_DEF_SA_ORA
CPPUNIT_ASSERT_MESSAGE ("rdbi_term failed", RDBI_SUCCESS == rdbi_term (&rdbi_context));
+#else
+ CPPUNIT_ASSERT_MESSAGE ("rdbi_term failed", RDBI_SUCCESS == rdbi_term (rdbi_context));
+#endif
}
catch (CppUnit::Exception exception)
{
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoApplySchemaTest.cpp
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoApplySchemaTest.cpp 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoApplySchemaTest.cpp 2007-03-06 13:36:53 UTC (rev 779)
@@ -563,6 +563,27 @@
);
#endif
+ table = owner->CreateTable( ph->GetDcDbObjectName(L"nofeatid") );
+ column = table->CreateColumnChar( ph->GetDcColumnName(L"id"), false, 20 );
+ column = table->CreateColumnChar( ph->GetDcColumnName(L"data"), true, 50 );
+ column = table->CreateColumnGeom( ph->GetDcColumnName(L"geometry"), (FdoSmPhScInfo*) NULL );
+#ifdef RDBI_DEF_SSQL
+ column = table->CreateColumnChar( ph->GetDcColumnName(L"GEOMETRY_SI_1"), true, 255 );
+ column = table->CreateColumnChar( ph->GetDcColumnName(L"GEOMETRY_SI_2"), true, 255 );
+#endif
+ table->Commit();
+
+#ifdef RDBI_DEF_ORA
+ UnitTestUtil::Sql2Db(
+ FdoStringP::Format(
+ L"grant select, insert, update, delete on %ls.nofeatid to %ls",
+ (FdoString*) UnitTestUtil::GetEnviron("datastore", DB_NAME_OVERRIDE_SUFFIX),
+ (FdoString*) UnitTestUtil::GetEnviron("datastore", DB_NAME_FOREIGN_SUFFIX)
+ ),
+ connection
+ );
+#endif
+
// Grab schemas and overrides to apply to foreign datastore
FdoPtr<FdoIDescribeSchema> pDescCmd = (FdoIDescribeSchema*) connection->CreateCommand(FdoCommandType_DescribeSchema);
@@ -684,6 +705,9 @@
lp = mgr->RefLogicalPhysicalSchemas();
lp->XMLSerialize( UnitTestUtil::GetOutputFileName( L"apply_schema_foreign2.xml" ) );
+ printf( "Checking access to feature class non-numeric id ... \n" );
+ CheckNonNumericForeignClass( connection );
+
printf( "Destroying foreign schemas ... \n" );
FdoPtr<FdoIDestroySchema> pDestCmd = (FdoIDestroySchema*) connection->CreateCommand(FdoCommandType_DestroySchema);
pDestCmd->SetSchemaName( L"ForeignBased" );
@@ -733,6 +757,7 @@
catch ( FdoException* e )
{
try {
+ if ( staticConn ) delete staticConn;
if (connection) connection->Close();
}
catch ( ... )
@@ -743,16 +768,17 @@
catch ( CppUnit::Exception e )
{
if (connection) connection->Close();
+ if ( staticConn ) delete staticConn;
throw;
}
catch (...)
{
if (connection) connection->Close();
+ if ( staticConn ) delete staticConn;
CPPUNIT_FAIL ("caught unexpected exception");
}
-
- printf( "Done\n" );
+ printf( "Done\n" );
}
void FdoApplySchemaTest::TestOverrideDefaults ()
@@ -896,7 +922,7 @@
{
UnitTestUtil::PrintException(
e,
- UnitTestUtil::GetOutputFileName( L"apply_schema_overrides_err1.txt" ),
+ UnitTestUtil::GetOutputFileName( SchemaOvErrFile(1,false) ),
true
);
FDO_SAFE_RELEASE(e);
@@ -916,8 +942,8 @@
#ifdef _WIN32
UnitTestUtil::CheckOutput(
- "apply_schema_overrides_err1_master.txt",
- UnitTestUtil::GetOutputFileName( L"apply_schema_overrides_err1.txt" )
+ SchemaOvErrFile(1,true),
+ UnitTestUtil::GetOutputFileName( SchemaOvErrFile(1,false) )
);
#endif
@@ -952,8 +978,6 @@
FdoPtr<FdoIConnection> connection;
StaticConnection* staticConn = NULL;
- int LtLckMethod = GetLtLockMethod();
-
try {
FdoSchemaManagerP mgr;
const FdoSmLpSchemaCollection* lp = NULL;
@@ -961,6 +985,21 @@
// delete, re-create and open the datastore
printf( "Initializing Connection ... \n" );
+ staticConn = UnitTestUtil::NewStaticConnection();
+ staticConn->connect();
+
+ // The following tests must be run in the following order to get the expected results.
+
+ mgr = staticConn->CreateSchemaManager();
+ ph = mgr->GetPhysicalSchema();
+
+ int LtLckMethod = GetLtLockMethod( ph );
+
+ ph = NULL;
+ lp = NULL;
+ mgr = NULL;
+ staticConn->disconnect();
+
connection = UnitTestUtil::CreateConnection(
true,
true,
@@ -971,15 +1010,11 @@
true
);
- staticConn = UnitTestUtil::NewStaticConnection();
- staticConn->connect();
- staticConn->SetSchema( DB_NAME_LT_SUFFIX );
-
- // The following tests must be run in the following order to get the expected results.
-
printf( "Creating LT Schema ... \n" );
CreateLTSchema( connection );
+ staticConn->connect();
+ staticConn->SetSchema( DB_NAME_LT_SUFFIX );
mgr = staticConn->CreateSchemaManager();
lp = mgr->RefLogicalPhysicalSchemas();
ph = mgr->GetPhysicalSchema();
@@ -1043,7 +1078,7 @@
FdoClassDefinitionP pClass = FdoClassesP( pSchema->GetClasses() )->GetItem( L"DelStatus" );
VldClassCapabilities( LtLckMethod, LtLckMethod, pClass );
-/*
+
if ( LtLckMethod > 0 ) {
InsertObject( connection, true, L"LT", L"Circle Lt", L"NextVer", L"1", NULL );
InsertObject( connection, true, L"LT", L"DelStatus", L"LtLock", L"1", NULL );
@@ -1057,7 +1092,7 @@
}
catch ( FdoSchemaException* e )
{
- UnitTestUtil::PrintException(e, UnitTestUtil::GetOutputFileName( "apply_schema_lt_err1.txt" ) );
+ UnitTestUtil::PrintException(e, UnitTestUtil::GetOutputFileName(L"apply_schema_lt_err1.txt"), true );
FDO_SAFE_RELEASE(e);
}
@@ -1074,14 +1109,14 @@
}
catch ( FdoSchemaException* e )
{
- UnitTestUtil::PrintException(e, UnitTestUtil::GetOutputFileName( "apply_schema_lt_err2.txt" ) );
+ UnitTestUtil::PrintException(e, UnitTestUtil::GetOutputFileName(L"apply_schema_lt_err2.txt"), true );
FDO_SAFE_RELEASE(e);
}
if ( succeeded )
CPPUNIT_FAIL( "2nd Modification was supposed to fail." );
- CPPUNIT_ASSERT( GetActiveLongTransaction(connection) == (FdoStringP(LT_NAME) + L"LT" ) );
+ CPPUNIT_ASSERT( GetActiveLongTransaction(connection) == GenLtName(L"LT") );
EndLongTransaction( connection );
RollbackLongTransaction(connection, L"LT" );
@@ -1089,20 +1124,27 @@
printf( "Last Modification, should succeed ... \n" );
ModLTSchema( connection );
}
-*/
+
printf( "Closing Connection ... \n" );
UnitTestUtil::CloseConnection(
connection,
false,
DB_NAME_SUFFIX
);
-/*
+
// Compare output files with expected results.
if ( LtLckMethod > 0 ) {
- UnitTestUtil::CheckOutput( "apply_schema_lt_err1_master.txt", UnitTestUtil::GetOutputFileName( "apply_schema_lt_err1.txt" ) );
- UnitTestUtil::CheckOutput( "apply_schema_lt_err1_master.txt", UnitTestUtil::GetOutputFileName( "apply_schema_lt_err2.txt" ) );
+#ifdef _WIN32
+ UnitTestUtil::CheckOutput( "apply_schema_lt_err1_master.txt", UnitTestUtil::GetOutputFileName( L"apply_schema_lt_err1.txt" ) );
+ UnitTestUtil::CheckOutput( "apply_schema_lt_err1_master.txt", UnitTestUtil::GetOutputFileName( L"apply_schema_lt_err2.txt" ) );
+#endif
}
-*/
+
+ ph = NULL;
+ lp = NULL;
+ mgr = NULL;
+ staticConn->disconnect();
+ delete staticConn;
}
catch ( FdoException* e )
{
@@ -1128,86 +1170,7 @@
printf( "Done\n" );
}
-/*
-// Test that various OWM reserved names are being recognized as such
-void FdoApplySchemaTest::TestLTReserved ()
-{
- FdoPtr<FdoIConnection> connection;
- mIsOWM = true;
-
- try {
- // delete, re-create and open the datastore
- printf( "Initializing Connection ... \n" );
- connection = UnitTestUtil::CreateConnection(
- false,
- false,
- ""
- );
-
- DbiConnection* dbiConn = connection->GetDbiConnection();
-*/
- /* Check some names with OWM reserved suffixes */
-/*
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_aux") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_base") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_bpkc") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_conf") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_cons") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_diff") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_hist") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_lock") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_lt") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_lts") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_mw") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_pkc") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_pkd") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_pkdb") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_pkdc") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_arc_pkdc") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_arc_ltb") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_arc_ri$b") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_arc_ri$t") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_arc_vtb") ) );
-*/
- /* Check some OWM reserved names */
-/*
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("childstate") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("parentstate") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("wm_retiretime") ) );
- CPPUNIT_ASSERT( dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("wm$otherchildsourcever") ) );
-*/
- /* Check some non-reserved names */
-/*
- CPPUNIT_ASSERT( !dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_aux1") ) );
- CPPUNIT_ASSERT( !dbiConn->dbi_is_res_object( (char*) (const char*) FdoStringP("circle_aux_ox") ) );
- }
- catch ( FdoException* e )
- {
- try {
- if (connection) connection->Close();
- }
- catch ( ... )
- {
- }
- UnitTestUtil::FailOnException( e );
- }
- catch ( CppUnit::Exception e )
- {
- if (connection) connection->Close();
- throw;
- }
- catch (...)
- {
- if (connection) connection->Close();
- CPPUNIT_FAIL ("caught unexpected exception");
- }
-
- printf( "Done\n" );
-
-}
-*/
-
// The following XSL stylesheet is used in TestConfigDoc, it modifies the
// LogicalPhysical Schema XML written from a datastore with MetaSchema, so that
// it looks like one from a datastore without. For example, system schemas and
@@ -1252,6 +1215,20 @@
<xsl:sort select=\"@name\" />\
</xsl:apply-templates>\
</xsl:copy>\
+</xsl:template>\
+<xsl:template match=\"lp:uniqueConstraints\">\
+ <xsl:copy>\
+ <xsl:apply-templates select=\"lp:uniqueConstraint\">\
+ <xsl:sort select=\"count(lp:property)\"/>\
+ </xsl:apply-templates>\
+ </xsl:copy>\
+</xsl:template>\
+<xsl:template match=\"lp:uniqueConstraint\">\
+ <xsl:copy>\
+ <xsl:apply-templates select=\"lp:property\">\
+ <xsl:sort select=\"@name\"/>\
+ </xsl:apply-templates>\
+ </xsl:copy>\
</xsl:template>";
static char* pRmvLpMetaSchema2 =
@@ -2096,10 +2073,13 @@
FdoSADP(pProp->GetAttributes())->Add( L"Calculable", L"yes" );
pProp->SetDataType( FdoDataType_Decimal );
pProp->SetPrecision(10);
-/* TODO: -2 on MySql?
- pProp->SetScale(-2);
-*/
+
+#ifdef RDBI_DEF_ORA
+ pProp->SetScale(-2);
+#else
pProp->SetScale(1);
+#endif
+
pProp->SetNullable(false);
FdoPropertiesP(pClass->GetProperties())->Add( pProp );
@@ -2326,12 +2306,17 @@
FdoPtr<FdoFeatureClass> pClass = FdoFeatureClass::Create( L"Parcel", L"land parcel" );
pClass->SetIsAbstract(false);
+ FdoPtr<FdoUniqueConstraintCollection> constraints = pClass->GetUniqueConstraints();
+ FdoPtr<FdoUniqueConstraint> constraint = FdoUniqueConstraint::Create();
+ constraints->Add( constraint );
+
pProp = FdoDataPropertyDefinition::Create( L"Province", L"" );
pProp->SetDataType( FdoDataType_String );
pProp->SetLength(20);
pProp->SetNullable(false);
FdoPropertiesP(pClass->GetProperties())->Add( pProp );
FdoDataPropertiesP(pClass->GetIdentityProperties())->Add( pProp );
+ FdoDataPropertiesP(constraint->GetProperties())->Add( pProp );
pProp = FdoDataPropertyDefinition::Create( L"PIN", L"parcel id" );
pProp->SetDataType( FdoDataType_String );
@@ -2339,6 +2324,7 @@
pProp->SetNullable(false);
FdoPropertiesP(pClass->GetProperties())->Add( pProp );
FdoDataPropertiesP(pClass->GetIdentityProperties())->Add( pProp );
+ FdoDataPropertiesP(constraint->GetProperties())->Add( pProp );
pProp = FdoDataPropertyDefinition::Create( L"Value", L"" );
pProp->SetDataType( FdoDataType_Decimal );
@@ -2372,12 +2358,17 @@
FdoPtr<FdoFeatureClass> pBldgClass = FdoFeatureClass::Create( L"Build'g", L"'" );
pBldgClass->SetIsAbstract(true);
+ constraints = pBldgClass->GetUniqueConstraints();
+ constraint = FdoUniqueConstraint::Create();
+ constraints->Add( constraint );
+
pProp = FdoDataPropertyDefinition::Create( L"FeatureId", L"" );
pProp->SetDataType( FdoDataType_Int64 );
pProp->SetNullable(false);
pProp->SetIsAutoGenerated(true);
FdoPropertiesP(pBldgClass->GetProperties())->Add( pProp );
FdoDataPropertiesP(pBldgClass->GetIdentityProperties())->Add( pProp );
+ FdoDataPropertiesP(constraint->GetProperties())->Add( pProp );
pProp = FdoDataPropertyDefinition::Create( L"# Rooms", L"" );
pProp->SetDataType( FdoDataType_Int16 );
@@ -2388,6 +2379,7 @@
pProp->SetDataType( FdoDataType_Double );
pProp->SetNullable(true);
FdoPropertiesP(pBldgClass->GetProperties())->Add( pProp );
+ FdoDataPropertiesP(constraint->GetProperties())->Add( pProp );
// Add a property with same name as a system property except for capitalization.
// Since columns are case-insensitve, this property's column should end up being
@@ -3572,14 +3564,12 @@
#endif
// Re-add deleted data property. Give it different type and nullibility than before.
- // Note that "volume" column is still around ( the provider doesn't yet support column deletes )
- // so the following creates a "volume1" column.
-/*
+
pProp = FdoDataPropertyDefinition::Create( L"Volume", L"" );
pProp->SetDataType( FdoDataType_Int64 );
pProp->SetNullable(true);
FdoPropertiesP(pClass->GetProperties())->Add( pProp );
-*/
+
// Re-add a nested object property. Since added to base class, this also tests inheritance.
FdoPtr<FdoClassDefinition> pMaintHist = FdoClassesP(pSchema->GetClasses())->GetItem( L"Maint History" );
@@ -3936,7 +3926,7 @@
// Root table must be Cogo Point class table
#ifdef _WIN32
- CPPUNIT_ASSERT( wcsicmp( pLpTable->GetName(), L"COGO_POINT" ) == 0 );
+ CPPUNIT_ASSERT( _wcsicmp( pLpTable->GetName(), L"COGO_POINT" ) == 0 );
#else
CPPUNIT_ASSERT( wcscasecmp( pLpTable->GetName(), L"COGO_POINT" ) == 0 );
#endif
@@ -3951,16 +3941,56 @@
FdoRdbmsLpJoinTreeNode* baseNode = rootNode->GetSourceNodes()->GetItem(0);
pLpTable = baseNode->GetTable();
- CPPUNIT_ASSERT( FdoStringP(pLpTable->GetName()).ICompare(L"F_CLASSDEFINITION") == 0 );
- CPPUNIT_ASSERT( FdoStringP(pLpTable->GetTargetTable()->GetName()).ICompare(L"COGO_POINT") == 0 );
+#ifdef _WIN32
+ CPPUNIT_ASSERT( _wcsicmp( pLpTable->GetName(), L"F_FEATURE" ) == 0 );
+ CPPUNIT_ASSERT( _wcsicmp( pLpTable->GetTargetTable()->GetName(), L"COGO_POINT" ) == 0 );
+#else
+ CPPUNIT_ASSERT( wcscasecmp( pLpTable->GetName(), L"F_FEATURE" ) == 0 );
+ CPPUNIT_ASSERT( wcscasecmp( pLpTable->GetTargetTable()->GetName(), L"COGO_POINT" ) == 0 );
+#endif
+ CPPUNIT_ASSERT( pLpTable->GetSourceColumns()->GetCount() == 1 );
+#ifdef _WIN32
+ CPPUNIT_ASSERT( _wcsicmp( pLpTable->GetSourceColumns()->GetItem(0)->GetName(), L"FEATID" ) == 0 );
+#else
+ CPPUNIT_ASSERT( wcscasecmp( pLpTable->GetSourceColumns()->GetItem(0)->GetName(), L"FEATID" ) == 0 );
+#endif
+ CPPUNIT_ASSERT( pLpTable->GetTargetColumns()->GetCount() == 1 );
+#ifdef _WIN32
+ CPPUNIT_ASSERT( _wcsicmp( pLpTable->GetTargetColumns()->GetItem(0)->GetName(), L"FEATID" ) == 0 );
+#else
+ CPPUNIT_ASSERT( wcscasecmp( pLpTable->GetTargetColumns()->GetItem(0)->GetName(), L"FEATID" ) == 0 );
+#endif
- CPPUNIT_ASSERT( pLpTable->GetSourceColumns()->GetCount() == 1 );
- CPPUNIT_ASSERT( FdoStringP(pLpTable->GetSourceColumns()->GetItem(0)->GetName()).ICompare(L"CLASSID") == 0 );
+ CPPUNIT_ASSERT( baseNode->GetSourceNodes()->GetCount() == 1 );
+
+ // F_CLASSDEFINITION is the last table to join
+
+ FdoRdbmsLpJoinTreeNode* metaNode = baseNode->GetSourceNodes()->GetItem(0);
+ pLpTable = metaNode->GetTable();
+
+#ifdef _WIN32
+ CPPUNIT_ASSERT( _wcsicmp( pLpTable->GetName(), L"F_CLASSDEFINITION" ) == 0 );
+ CPPUNIT_ASSERT( _wcsicmp( pLpTable->GetTargetTable()->GetName(), L"F_FEATURE" ) == 0 );
+#else
+ CPPUNIT_ASSERT( wcscasecmp( pLpTable->GetName(), L"F_CLASSDEFINITION" ) == 0 );
+ CPPUNIT_ASSERT( wcscasecmp( pLpTable->GetTargetTable()->GetName(), L"F_FEATURE" ) == 0 );
+#endif
+ CPPUNIT_ASSERT( pLpTable->GetSourceColumns()->GetCount() == 1 );
+#ifdef _WIN32
+ CPPUNIT_ASSERT( _wcsicmp( pLpTable->GetSourceColumns()->GetItem(0)->GetName(), L"CLASSID" ) == 0 );
+#else
+ CPPUNIT_ASSERT( wcscasecmp( pLpTable->GetSourceColumns()->GetItem(0)->GetName(), L"CLASSID" ) == 0 );
+#endif
CPPUNIT_ASSERT( pLpTable->GetTargetColumns()->GetCount() == 1 );
- CPPUNIT_ASSERT( FdoStringP(pLpTable->GetTargetColumns()->GetItem(0)->GetName()).ICompare(L"CLASSID") == 0 );
+#ifdef _WIN32
+ CPPUNIT_ASSERT( _wcsicmp( pLpTable->GetTargetColumns()->GetItem(0)->GetName(), L"CLASSID" ) == 0 );
+#else
+ CPPUNIT_ASSERT( wcscasecmp( pLpTable->GetTargetColumns()->GetItem(0)->GetName(), L"CLASSID" ) == 0 );
+#endif
- CPPUNIT_ASSERT( baseNode->GetSourceNodes()->GetCount() == 0 );
+ // Should be at the end at this point.
+ CPPUNIT_ASSERT( metaNode->GetSourceNodes()->GetCount() == 0 );
rootNode->Release();
}
#endif
@@ -3977,7 +4007,6 @@
pClass = FdoClassesP( pSchema->GetClasses() )->GetItem( L"AcXData" );
VldClassCapabilities( 0, 0, pClass );
-
}
void FdoApplySchemaTest::CheckBaseProperties( FdoIConnection* connection )
@@ -4066,6 +4095,52 @@
CPPUNIT_ASSERT( FdoPropertyP(pBaseProps->GetItem(L"RevisionNumber"))->GetQualifiedName() == L"RevisionNumber" );
}
+void FdoApplySchemaTest::CheckNonNumericForeignClass( FdoIConnection* connection )
+{
+ InsertObject( connection, false, L"OverridesA", L"NOFEATID", L"ID", L"1", L"DATA", L"abcd", NULL );
+ InsertObject( connection, false, L"OverridesA", L"NOFEATID", L"ID", L"2", L"DATA", L"wxyz", NULL );
+
+ FdoPtr<FdoFilter> filter = FdoComparisonCondition::Create(
+ FdoPtr<FdoIdentifier>(FdoIdentifier::Create(L"ID") ),
+ FdoComparisonOperations_EqualTo,
+ FdoPtr<FdoDataValue>(FdoDataValue::Create(L"1") ) );
+
+ FdoPtr<FdoIUpdate> updateCommand = (FdoIUpdate *) connection->CreateCommand(FdoCommandType_Update);
+ updateCommand->SetFeatureClassName(L"OverridesA:NOFEATID");
+ updateCommand->SetFilter( filter );
+ FdoPtr<FdoPropertyValueCollection> propertyValues = updateCommand->GetPropertyValues();
+ FdoPtr<FdoDataValue> dataValue = FdoDataValue::Create(L"efgh");
+ FdoPtr<FdoPropertyValue> propertyValue = FdoPropertyValue::Create(L"DATA", dataValue);
+ propertyValues->Add(propertyValue);
+ updateCommand->Execute();
+
+ FdoPtr<FdoISelect> selectCommand = (FdoISelect *) connection->CreateCommand(FdoCommandType_Select);
+ selectCommand->SetFeatureClassName( L"OverridesA:NOFEATID" );
+ selectCommand->SetFilter( filter );
+
+ FdoPtr<FdoIFeatureReader> rdr = selectCommand->Execute();
+
+ CPPUNIT_ASSERT( rdr->ReadNext() );
+ CPPUNIT_ASSERT( wcscmp(rdr->GetString(L"DATA"), L"efgh") == 0 );
+ CPPUNIT_ASSERT( !rdr->ReadNext() );
+
+ FdoPtr<FdoIDelete> deleteCommand = (FdoIDelete *) connection->CreateCommand(FdoCommandType_Delete);
+ deleteCommand->SetFeatureClassName(L"OverridesA:NOFEATID");
+ deleteCommand->SetFilter( filter );
+ deleteCommand->Execute();
+
+ selectCommand->SetFilter( (FdoFilter*) NULL );
+
+ rdr = selectCommand->Execute();
+
+ CPPUNIT_ASSERT( rdr->ReadNext() );
+ CPPUNIT_ASSERT( wcscmp(rdr->GetString(L"DATA"), L"wxyz") == 0 );
+ CPPUNIT_ASSERT( !rdr->ReadNext() );
+
+ deleteCommand->SetFilter( (FdoFilter*) NULL );
+ deleteCommand->Execute( );
+}
+
void FdoApplySchemaTest::CopySchemas(FdoFeatureSchemaCollection* pSchemas, FdoFeatureSchemaCollection* pSchemas2)
{
FdoFeatureSchemasP schemas = FdoFeatureSchemaCollection::Create(NULL);
@@ -4396,77 +4471,7 @@
pCmd->Execute();
}
-#if 0
-void FdoApplySchemaTest::CreateForeignErrorSchema( FdoIConnection* connection )
-{
- FdoPtr<FdoIApplySchema> pCmd = (FdoIApplySchema*) connection->CreateCommand(FdoCommandType_ApplySchema);
- FdoFeatureSchemaP pSchema = FdoFeatureSchema::Create( L"ForeignError", L"Foreign Schema with errors" );
- FdoFeatureClassP pClass;
- FdoDataPropertyP pProp;
- pClass = FdoFeatureClass::Create( L"ErrClassA", L"" );
- FdoClassesP(pSchema->GetClasses())->Add( pClass );
-
- pProp = FdoDataPropertyDefinition::Create( L"Id", L"id" );
- pProp->SetDataType( FdoDataType_Int32 );
- pProp->SetNullable(false);
- FdoPropertiesP(pClass->GetProperties())->Add( pProp );
- FdoDataPropertiesP(pClass->GetIdentityProperties())->Add( pProp );
-
- pProp = FdoDataPropertyDefinition::Create( L"Name", L"" );
- pProp->SetDataType( FdoDataType_String );
- pProp->SetLength( 50 );
- pProp->SetNullable(false);
- FdoPropertiesP(pClass->GetProperties())->Add( pProp );
-
- pClass = FdoFeatureClass::Create( L"ErrClassB", L"" );
- FdoClassesP(pSchema->GetClasses())->Add( pClass );
-
- pProp = FdoDataPropertyDefinition::Create( L"Id", L"id" );
- pProp->SetDataType( FdoDataType_Int64 );
- pProp->SetNullable(false);
- pProp->SetIsAutoGenerated(true);
- FdoPropertiesP(pClass->GetProperties())->Add( pProp );
- FdoDataPropertiesP(pClass->GetIdentityProperties())->Add( pProp );
-
- pProp = FdoDataPropertyDefinition::Create( L"Name", L"" );
- pProp->SetDataType( FdoDataType_String );
- pProp->SetLength( 50 );
- pProp->SetNullable(false);
- FdoPropertiesP(pClass->GetProperties())->Add( pProp );
- FdoDataPropertiesP(pClass->GetIdentityProperties())->Add( pProp );
-
- pClass = FdoFeatureClass::Create( L"ClassC", L"no errors" );
- FdoClassesP(pSchema->GetClasses())->Add( pClass );
-
- pProp = FdoDataPropertyDefinition::Create( L"Id", L"id" );
- pProp->SetDataType( FdoDataType_Int64 );
- pProp->SetNullable(false);
- pProp->SetIsAutoGenerated(true);
- FdoPropertiesP(pClass->GetProperties())->Add( pProp );
- FdoDataPropertiesP(pClass->GetIdentityProperties())->Add( pProp );
-
- pProp = FdoDataPropertyDefinition::Create( L"Name", L"" );
- pProp->SetDataType( FdoDataType_String );
- pProp->SetLength( 50 );
- pProp->SetNullable(false);
- FdoPropertiesP(pClass->GetProperties())->Add( pProp );
- FdoDataPropertiesP(pClass->GetIdentityProperties())->Add( pProp );
-
- pProp = FdoDataPropertyDefinition::Create( L"FeatId", L"id" );
- pProp->SetDataType( FdoDataType_Int64 );
- pProp->SetNullable(false);
- pProp->SetIsAutoGenerated(true);
- FdoPropertiesP(pClass->GetProperties())->Add( pProp );
-
- FdoOracleOvSchemaMappingP mapping = FdoOracleOvPhysicalSchemaMapping::Create( L"ForeignError");
- mapping->SetOwner( UnitTestUtil::GetEnviron("datastore", DB_NAME_OVERRIDE_SUFFIX) );
-
- pCmd->SetFeatureSchema( pSchema );
- pCmd->SetPhysicalMapping( mapping );
- pCmd->Execute();
-}
-#endif
void FdoApplySchemaTest::ModOverrideSchema1( FdoIConnection* connection, FdoRdbmsOvPhysicalSchemaMapping* pOverrides )
{
FdoPtr<FdoIDescribeSchema> pDescCmd = (FdoIDescribeSchema*) connection->CreateCommand(FdoCommandType_DescribeSchema);
@@ -4783,8 +4788,9 @@
pProps->Add( pProp );
// this "if" can be removed when defect 772351 is fixed
+ FdoGeometricPropertyP pGeomProp;
#ifndef RDBI_DEF_SSQL
- FdoGeometricPropertyP pGeomProp = FdoGeometricPropertyDefinition::Create( L"Floor", L"location and shape" );
+ pGeomProp = FdoGeometricPropertyDefinition::Create( L"Floor", L"location and shape" );
pGeomProp->SetGeometryTypes( FdoGeometricType_Point | FdoGeometricType_Curve );
pGeomProp->SetHasElevation(true);
pProps->Add( pGeomProp );
@@ -4793,6 +4799,30 @@
pObProp->SetClass( pOpClass );
pObProp->SetObjectType( FdoObjectType_Value );
pProps->Add( pObProp );
+
+ pClass = FdoFeatureClass::Create( L"NOFEATID", L"" );
+ FdoClassesP(pSchema->GetClasses())->Add( pClass );
+ pProps = pClass->GetProperties();
+ pIdProps = pClass->GetIdentityProperties();
+
+ pProp = FdoDataPropertyDefinition::Create( L"ID", L"id" );
+ pProp->SetDataType( FdoDataType_String );
+ pProp->SetNullable(false);
+ pProp->SetLength(20);
+ pProps->Add( pProp );
+ pIdProps->Add( pProp );
+
+ pProp = FdoDataPropertyDefinition::Create( L"DATA", L"" );
+ pProp->SetDataType( FdoDataType_String );
+ pProp->SetNullable(true);
+ pProp->SetLength(50);
+ pProps->Add( pProp );
+
+ pGeomProp = FdoGeometricPropertyDefinition::Create( L"GEOMETRY", L"location and shape" );
+ pGeomProp->SetGeometryTypes( FdoGeometricType_Point | FdoGeometricType_Curve );
+ pGeomProp->SetHasElevation(true);
+ pProps->Add( pGeomProp );
+ pClass->SetGeometryProperty( pGeomProp );
}
void FdoApplySchemaTest::ModOverrideSchemaForeign2( FdoIConnection* connection, FdoRdbmsOvPhysicalSchemaMapping* pOverrides )
@@ -5787,23 +5817,33 @@
formatter.Format();
}
+FdoStringP FdoApplySchemaTest::GenLtName( FdoStringP transName )
+{
+ return FdoStringP::Format(
+ L"%ls_%hs%ls",
+ (FdoString*) UnitTestUtil::GetEnviron( "username" ),
+ LT_NAME,
+ (FdoString*) transName
+ );
+}
+
void FdoApplySchemaTest::StartLongTransaction( FdoIConnection* connection, FdoStringP transName )
{
if ( mIsOWM ) {
FdoPtr<FdoIGetLongTransactions> gettrans = (FdoIGetLongTransactions *) connection->CreateCommand(FdoCommandType_GetLongTransactions);
- gettrans->SetName( FdoStringP(LT_NAME) + transName );
+ gettrans->SetName( GenLtName(transName) );
FdoPtr<FdoILongTransactionReader> rdr = gettrans->Execute();
if ( rdr->ReadNext() == 0 ) {
FdoPtr<FdoICreateLongTransaction> crtrans = (FdoICreateLongTransaction *) connection->CreateCommand(FdoCommandType_CreateLongTransaction);
- crtrans->SetName( FdoStringP(LT_NAME) + transName );
+ crtrans->SetName( GenLtName(transName) );
crtrans->Execute();
}
rdr = NULL;
FdoPtr<FdoIActivateLongTransaction> acttrans = (FdoIActivateLongTransaction *) connection->CreateCommand(FdoCommandType_ActivateLongTransaction);
- acttrans->SetName( FdoStringP(LT_NAME) + transName );
+ acttrans->SetName( GenLtName(transName) );
acttrans->Execute();
}
}
@@ -5820,13 +5860,13 @@
{
if ( mIsOWM ) {
FdoPtr<FdoIGetLongTransactions> gettrans = (FdoIGetLongTransactions *) connection->CreateCommand(FdoCommandType_GetLongTransactions);
- gettrans->SetName( FdoStringP(LT_NAME) + transName );
+ gettrans->SetName( GenLtName(transName) );
FdoPtr<FdoILongTransactionReader> rdr = gettrans->Execute();
if ( rdr->ReadNext() != 0 ) {
rdr = NULL;
FdoPtr<FdoIRollbackLongTransaction> rbtrans = (FdoIRollbackLongTransaction *) connection->CreateCommand(FdoCommandType_RollbackLongTransaction);
- rbtrans->SetName( FdoStringP(LT_NAME) + transName );
+ rbtrans->SetName( GenLtName(transName) );
rbtrans->Execute();
}
}
@@ -5859,10 +5899,10 @@
va_start(arguments, className);
arg = va_arg(arguments,FdoString*);
-/*
+
if ( conditional )
StartLongTransaction( connection, schemaName );
-*/
+
FdoITransaction* trans = (FdoITransaction *) connection->BeginTransaction();
FdoPtr<FdoIInsert> insertCommand = (FdoIInsert *) connection->CreateCommand(FdoCommandType_Insert);
FdoPtr<FdoPropertyValueCollection> propertyValues;
@@ -5888,24 +5928,23 @@
trans->Commit();
FDO_SAFE_RELEASE(trans);
-/*
+
if ( conditional )
EndLongTransaction( connection );
-*/
+
va_end(arguments);
}
void FdoApplySchemaTest::DeleteObjects( FdoIConnection* connection, FdoStringP schemaName, FdoStringP className )
{
-/*
+
StartLongTransaction( connection, schemaName );
-*/
+
FdoPtr<FdoIDelete> deleteCommand = (FdoIDelete *) connection->CreateCommand(FdoCommandType_Delete);
deleteCommand->SetFeatureClassName(schemaName + L":" + className);
deleteCommand->Execute();
-/*
+
EndLongTransaction( connection );
-*/
}
void FdoApplySchemaTest::_logicalPhysicalBend( FdoString* inFile, FdoString* outFile, FdoStringP providerName )
@@ -5950,5 +5989,13 @@
if (isMaster)
return FdoStringP::Format( L"apply_schema_err%d%ls.txt", fileNum, L"_master");
else
- return UnitTestUtil::GetOutputFileName( FdoStringP::Format( L"apply_schema_err%d%ls.txt", fileNum, L"_master") );
+ return UnitTestUtil::GetOutputFileName( FdoStringP::Format( L"apply_schema_err%d.txt", fileNum) );
}
+
+FdoStringP FdoApplySchemaTest::SchemaOvErrFile( int fileNum, bool isMaster )
+{
+ if (isMaster)
+ return FdoStringP::Format( L"apply_schema_overrides_err%d%ls.txt", fileNum, L"_master");
+ else
+ return UnitTestUtil::GetOutputFileName( FdoStringP::Format( L"apply_schema_overrides_err%d%ls.txt", fileNum, L"_master") );
+}
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoApplySchemaTest.h
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoApplySchemaTest.h 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoApplySchemaTest.h 2007-03-06 13:36:53 UTC (rev 779)
@@ -34,9 +34,6 @@
CPPUNIT_TEST( TestOverrideDefaults );
CPPUNIT_TEST( TestOverrideErrors );
CPPUNIT_TEST( TestLT );
-/*
- CPPUNIT_TEST( TestLTReserved );
-*/
CPPUNIT_TEST( TestConfigDoc );
CPPUNIT_TEST_SUITE_END();
@@ -54,9 +51,6 @@
void TestOverrideDefaults ();
void TestOverrideErrors ();
void TestLT();
-/*
- void TestLTReserved();
-*/
void TestConfigDoc();
void DeleteAcadSchema( FdoIConnection* connection );
@@ -99,6 +93,7 @@
*/
virtual void GetClassCapabilities( FdoIConnection* connection );
void CheckBaseProperties( FdoIConnection* connection );
+ void CheckNonNumericForeignClass( FdoIConnection* connection );
void CopySchemas(
FdoFeatureSchemaCollection* pSchemas,
@@ -164,13 +159,15 @@
virtual void VldClassCapabilities( int ltMode, int lckMode, FdoClassDefinition* pClass );
- virtual int GetLtLockMethod()
+ virtual int GetLtLockMethod( FdoSmPhMgrP mgr )
{
return 0;
}
virtual FdoStringP SchemaTestErrFile( int fileNum, bool isMaster );
+ virtual FdoStringP SchemaOvErrFile( int fileNum, bool isMaster );
+
void WriteXmlOverrides(
FdoIConnection* connection,
bool includeDefaults,
@@ -179,6 +176,7 @@
FdoString* ownerSuffix = NULL
);
+ FdoStringP GenLtName( FdoStringP transName );
void StartLongTransaction( FdoIConnection* connection, FdoStringP transName );
void EndLongTransaction( FdoIConnection* connection );
void RollbackLongTransaction( FdoIConnection* connection, FdoStringP transName );
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoImportExportTest.cpp
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoImportExportTest.cpp 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoImportExportTest.cpp 2007-03-06 13:36:53 UTC (rev 779)
@@ -84,7 +84,7 @@
</xsl:apply-templates>\
</xsl:copy>\
</xsl:template>\
-<xsl:template match=\"ora:SchemaMapping|mql:SchemaMapping|sqs:SchemaMapping\">\
+<xsl:template match=\"node()[local-name() = 'SchemaMapping']\">\
<xsl:element name=\"SchemaMapping\" namespace=\"{namespace::node()[name()='']}\">\
<xsl:for-each select=\"namespace::node()[not(name()='')]\">\
<xsl:copy/>\
@@ -211,7 +211,7 @@
Stream2SortedFile( stream2A, UnitTestUtil::GetOutputFileName( L"impexp2a.xml" ) );
Stream2SortedFile( stream2B, UnitTestUtil::GetOutputFileName( L"impexp2b.xml" ) );
-/* TODO: activate test 3 when update spatial context supported
+/* TODO: activate test 3 when update spatial context supported
// Test 3 is also the same as Test 1 except that the flags allow spatial
// contexts to be updated. Therefore the test succeeds even though Default
// is already in the datastore.
@@ -495,7 +495,7 @@
// Serialize the feature schemas.
mappings->WriteXml( writer );
-#if 1
+
FdoFeatureSchemaP selSchema = schemas->FindItem( L"Schema1" );
if ( selSchema ) {
@@ -511,7 +511,6 @@
FdoXmlFeatureSerializer::XmlSerialize( rdr, featureWriter, featureFlags );
}
}
-#endif
}
// Imports spatial contexts and feature schemas from XML to datastore.
@@ -695,13 +694,13 @@
pSubClass->SetBaseClass(pClass);
pSubClass->SetGeometryProperty(pGeomProp);
FdoClassesP(pSchema->GetClasses())->Add( pSubClass );
-#if 1
+
pProp = FdoDataPropertyDefinition::Create( L"SubProp1", L"" );
pProp->SetDataType( FdoDataType_String );
pProp->SetLength(50);
pProp->SetNullable(true);
FdoPropertiesP(pSubClass->GetProperties())->Add( pProp );
-#endif
+
pSchema->WriteXml(writer);
}
@@ -737,6 +736,8 @@
FdoPtr<FdoPropertyValueCollection> propertyValues = insertCommand->GetPropertyValues();
FdoPtr<FdoDataValue> dataValue;
FdoPtr<FdoPropertyValue> propertyValue;
+ FdoPtr<FdoIConnection> connection = insertCommand->GetConnection();
+ bool supportsZ = (FdoPtr<FdoIGeometryCapabilities>(connection->GetGeometryCapabilities())->GetDimensionalities() & FdoDimensionality_Z);
dataValue = FdoDataValue::Create((FdoInt64) idx);
propertyValue = AddNewProperty( propertyValues, L"Prop1");
@@ -753,13 +754,19 @@
double coordsBuffer[3];
int segCount = 1;
- // Use 2D points to accomodate MySql
coordsBuffer[0] = 5 * idx;
coordsBuffer[1] = 10 * idx;
+ coordsBuffer[2] = 0;
propertyValue = AddNewProperty( propertyValues, L"Geometry");
FdoPtr<FdoFgfGeometryFactory> gf = FdoFgfGeometryFactory::GetInstance();
- FdoPtr<FdoILineString> line1 = gf->CreateLineString(FdoDimensionality_XY, segCount*2, coordsBuffer);
+
+ FdoPtr<FdoILineString> line1;
+ if ( supportsZ )
+ line1 = gf->CreateLineString(FdoDimensionality_XY|FdoDimensionality_Z, segCount*3, coordsBuffer);
+ else
+ line1 = gf->CreateLineString(FdoDimensionality_XY, segCount*2, coordsBuffer);
+
FdoPtr<FdoByteArray> byteArray = gf->GetFgf(line1);
FdoPtr<FdoGeometryValue> geometryValue = FdoGeometryValue::Create(byteArray);
propertyValue->SetValue(geometryValue);
@@ -838,7 +845,13 @@
return ( L"" );
}
-void FdoImportExportTest::_overrideBend( FdoString* inFile, FdoString* outFile, FdoStringP providerName, FdoStringP xmlns )
+void FdoImportExportTest::_overrideBend(
+ FdoString* inFile,
+ FdoString* outFile,
+ FdoStringP providerName,
+ FdoStringP xmlns,
+ FdoStringP tablespace
+)
{
FdoIoFileStreamP stream1 = FdoIoFileStream::Create( inFile, L"rt" );
FdoIoMemoryStreamP stream2 = FdoIoMemoryStream::Create();
@@ -848,7 +861,8 @@
providerName,
xmlns,
L"",
- L""
+ L"",
+ tablespace
);
stream2->Reset();
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoImportExportTest.h
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoImportExportTest.h 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoImportExportTest.h 2007-03-06 13:36:53 UTC (rev 779)
@@ -77,7 +77,13 @@
void Stream2SortedFile( FdoIoStream* stream, FdoString* fileName );
void Stream2File( FdoIoStream* stream, FdoString* fileName );
- void _overrideBend( FdoString* inFile, FdoString* outFile, FdoStringP providerName, FdoStringP xmlns );
+ void _overrideBend(
+ FdoString* inFile,
+ FdoString* outFile,
+ FdoStringP providerName,
+ FdoStringP xmlns,
+ FdoStringP tablespace = L""
+ );
virtual void AddMapping( FdoXmlWriter* writer, FdoString* name, FdoInt32 providerVersion );
virtual FdoStringP GetWKT( FdoString* coordSys );
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoInsertTest.cpp
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoInsertTest.cpp 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/FdoInsertTest.cpp 2007-03-06 13:36:53 UTC (rev 779)
@@ -64,8 +64,8 @@
char layer[12];
} FeatAttr_t;
-FeatInfo_t feats[10000];
-FeatAttr_t attrs[1100];
+static FeatInfo_t feats[10000];
+static FeatAttr_t attrs[1100];
void FdoInsertTest::insert ()
{
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/SchemaMgrTests.cpp
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/SchemaMgrTests.cpp 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/SchemaMgrTests.cpp 2007-03-06 13:36:53 UTC (rev 779)
@@ -22,11 +22,13 @@
#include "ConnectionUtil.h"
#include <Sm/Ph/Rd/ConstraintReader.h>
#include <Sm/Ph/SpatialIndex.h>
+#include <Sm/Ph/Rd/FkeyReader.h>
#include "../SchemaMgr/Ph/Owner.h"
FdoString* SchemaMgrTests::DB_NAME_SUFFIX = L"_schema_mgr";
FdoString* SchemaMgrTests::DB_NAME_COPY_SUFFIX = L"_schema_mgr_copy";
FdoString* SchemaMgrTests::DB_NAME_FOREIGN_SUFFIX = L"_schema_mgr_f";
+FdoString* SchemaMgrTests::DB_NAME_CONFIGERR_SUFFIX = L"_schema_mgr_configerr";
SchemaMgrTests::SchemaMgrTests (void)
{
@@ -125,6 +127,8 @@
AddProviderColumns( table );
FdoSmPhCheckConstraintP constraint = new FdoSmPhCheckConstraint( L"int16_check", L"INT16_COLUMN", L"int16_column < 20000" );
table->AddCkeyCol( constraint );
+ constraint = new FdoSmPhCheckConstraint( L"decimal_check", L"DECIMAL_COLUMN", L"decimal_column > byte_column" );
+ table->AddCkeyCol( constraint );
constraint = new FdoSmPhCheckConstraint( L"int32_check", L"INT32_COLUMN", L"int32_column = 45 or int32_column > 100" );
table->AddCkeyCol( constraint );
constraint = new FdoSmPhCheckConstraint( L"single_check", L"SINGLE_COLUMN", L"single_column = 45 or double_column > 100" );
@@ -1277,7 +1281,7 @@
// Sets the other env.
UnitTestUtil::SetProvider( conn->GetServiceName() );
- fdoConn = UnitTestUtil::GetConnection(L"", true);
+ fdoConn = UnitTestUtil::CreateConnection(false, true, DB_NAME_CONFIGERR_SUFFIX );
fdoConn->Close();
fdoConn = NULL;
@@ -1335,7 +1339,7 @@
column = table->CreateColumnGeom( L"GEOM_COLUMN", (FdoSmPhScInfo*) NULL );
column = table->CreateColumnInt32( L"FOREIGN_COLUMN", false );
column = table->CreateColumnDouble( L"DOUBLE_COLUMN", true );
-/* FUTURE - when defect 761760 fix submitted
+
if ( (prefix.ICompare(L"gh_") == 0) && (i == 5) ) {
FdoSmPhCheckConstraintP constraint = new FdoSmPhCheckConstraint( L"double_check", L"DOUBLE_COLUMN", L"double_column < 100.35" );
table->AddCkeyCol( constraint );
@@ -1345,7 +1349,6 @@
ukeys->Add( ukeyColumns );
table->AddUkeyCol( ukeys->GetCount() - 1, L"DOUBLE_COLUMN" );
}
-*/
}
FdoStringP wildTablename = FdoStringP::Format( L"%lsTABLEWILD", (FdoString*) prefix, i );
@@ -1622,3 +1625,19 @@
{
return false;
}
+
+SchemaMgrTests::ExpectedClassGeometricProperty::ExpectedClassGeometricProperty ()
+{
+ canBeGeomeytricTypePoint = false;
+ canBeGeomeytricTypeCurve = false;
+ canBeGeomeytricTypeSurface = false;
+ canBeGeomeytricTypeSolid = false;
+ foundGeometricTypePoint = false;
+ foundGeometricTypeCurve = false;
+ foundGeometricTypeSurface = false;
+ foundGeometricTypeSolid = false;
+}
+
+SchemaMgrTests::ExpectedClassGeometricProperty::~ExpectedClassGeometricProperty ()
+{
+}
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/SchemaMgrTests.h
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/SchemaMgrTests.h 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/SchemaMgrTests.h 2007-03-06 13:36:53 UTC (rev 779)
@@ -53,6 +53,7 @@
virtual void testFKeys();
virtual void testConfigError();
+ void testGeometricProperties();
void constraints ();
void delFdoBr ();
@@ -97,6 +98,7 @@
static FdoString* DB_NAME_SUFFIX;
static FdoString* DB_NAME_COPY_SUFFIX;
static FdoString* DB_NAME_FOREIGN_SUFFIX;
+ static FdoString* DB_NAME_CONFIGERR_SUFFIX;
private:
FdoSmPhTableP CreateIxTable( FdoSmPhOwnerP owner, FdoStringP tableName, int lt_mode );
@@ -104,6 +106,26 @@
void AddPkey( FdoSmPhTableP table );
void AddIndex( FdoSmPhTableP table, bool unique, FdoStringP indexName, FdoStringP columns );
void SetLtLck( FdoSmPhTableP table, int lt_mode );
+
+ class ExpectedClassGeometricProperty
+ {
+ public:
+
+ FdoStringP className;
+ bool canBeGeomeytricTypePoint;
+ bool canBeGeomeytricTypeCurve;
+ bool canBeGeomeytricTypeSurface;
+ bool canBeGeomeytricTypeSolid;
+ bool foundGeometricTypePoint;
+ bool foundGeometricTypeCurve;
+ bool foundGeometricTypeSurface;
+ bool foundGeometricTypeSolid;
+
+ ExpectedClassGeometricProperty ();
+ ~ExpectedClassGeometricProperty ();
+
+ };
+
};
#endif // SCHEMAMGRTESTS_H
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.cpp
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.cpp 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.cpp 2007-03-06 13:36:53 UTC (rev 779)
@@ -21,8 +21,8 @@
#include "ConnectionUtil.h"
#include "FdoInsertTest.h"
#include "XmlFormatter.h"
-#include "../Fdo/DataStore/FdoRdbmsDeleteDataStore.h"
-#include "../Fdo/DataStore/FdoRdbmsCreateDatastore.h"
+//#include "../Fdo/DataStore/FdoRdbmsDeleteDataStore.h"
+//#include "../Fdo/DataStore/FdoRdbmsCreateDatastore.h"
#include <Sm/Ph/Rd/DbObjectReader.h>
#include <TestCommon.h>
@@ -83,6 +83,20 @@
</xsl:apply-templates>\
</xsl:copy>\
</xsl:template>\
+<xsl:template match=\"lp:uniqueConstraints\">\
+ <xsl:copy>\
+ <xsl:apply-templates select=\"lp:uniqueConstraint\">\
+ <xsl:sort select=\"count(lp:property)\"/>\
+ </xsl:apply-templates>\
+ </xsl:copy>\
+</xsl:template>\
+<xsl:template match=\"lp:uniqueConstraint\">\
+ <xsl:copy>\
+ <xsl:apply-templates select=\"lp:property\">\
+ <xsl:sort select=\"@name\"/>\
+ </xsl:apply-templates>\
+ </xsl:copy>\
+</xsl:template>\
<xsl:template match=\"lp:table\">\
<xsl:copy>\
<xsl:apply-templates select=\"@*\"/>\
@@ -941,7 +955,7 @@
void UnitTestUtil::CreateDB( FdoIConnection* connection, FdoString *datastore, FdoString *description, FdoString *password, char *schemaType, int local_lt_method )
{
- FdoPtr<FdoRdbmsCreateDataStore> createCmd = (FdoRdbmsCreateDataStore*)connection->CreateCommand( FdoCommandType_CreateDataStore );
+ FdoPtr<FdoICreateDataStore> createCmd = (FdoICreateDataStore*)connection->CreateCommand( FdoCommandType_CreateDataStore );
FdoPtr<FdoIDataStorePropertyDictionary> dictionary = createCmd->GetDataStoreProperties();
@@ -968,7 +982,7 @@
if ( local_lt_method == 0 )
dictionary->SetProperty( name, L"NONE" );
else if ( local_lt_method == 1 || local_lt_method == 2)
- dictionary->SetProperty( name, dictionary->GetPropertyDefault(name));
+ dictionary->SetProperty( name, (local_lt_method == 2) ? L"OWM" : L"NONE" );
}
else if ( wcscmp( name, L"TableSpace" ) == 0 )
{
@@ -1241,7 +1255,7 @@
FdoPtr<FdoIConnection> connection = GetProviderConnectionObject();
connection->SetConnectionString( userConnectString );
connection->Open();
- FdoPtr<FdoRdbmsDeleteDataStore> delCmd = (FdoRdbmsDeleteDataStore*)connection->CreateCommand( FdoCommandType_DestroyDataStore );
+ FdoPtr<FdoIDestroyDataStore> delCmd = (FdoIDestroyDataStore*)connection->CreateCommand( FdoCommandType_DestroyDataStore );
if( delCmd )
DropDb( connection, datastore, password, service );
@@ -1630,7 +1644,8 @@
}
void UnitTestUtil::OverrideBend( FdoIoStream* stream1, FdoIoStream* stream2, FdoStringP providerName,
- FdoStringP providerUri, FdoStringP oldOwnerPrefix, FdoStringP newOwnerPrefix )
+ FdoStringP providerUri, FdoStringP oldOwnerPrefix, FdoStringP newOwnerPrefix,
+ FdoStringP tablespace)
{
stream1->Reset();
FdoXmlReaderP stylesheet = FdoXmlReader::Create( L"OverrideBender.xslt" );
@@ -1675,6 +1690,17 @@
)
);
+ if ( tablespace != L"" ) {
+ params->Add(
+ FdoDictionaryElementP(
+ FdoDictionaryElement::Create(
+ L"tablespace",
+ FdoStringP(L"'") + tablespace + L"'"
+ )
+ )
+ );
+ }
+
transformer->Transform();
transformer = NULL;
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.h
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.h 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.h 2007-03-06 13:36:53 UTC (rev 779)
@@ -200,7 +200,7 @@
static void SortXml( FdoIoStream* inStream, char* styleSheetString, FdoIoStream* outStream );
static void OverrideBend( FdoIoStream* stream1, FdoIoStream* stream2, FdoStringP providerName,
- FdoStringP providerUri, FdoStringP oldOwnerPrefix, FdoStringP newOwnerPrefix );
+ FdoStringP providerUri, FdoStringP oldOwnerPrefix, FdoStringP newOwnerPrefix, FdoStringP tablespace = L"" );
static bool DoThisTest( char *testGroupName );
// Accesses the data on the current feature.
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/LogicalPhysicalBender.xslt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/LogicalPhysicalBender.xslt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/LogicalPhysicalBender.xslt 2007-03-06 13:36:53 UTC (rev 779)
@@ -178,7 +178,14 @@
<xsl:value-of select="@length"/>
</xsl:attribute>
<xsl:attribute name="scale">
- <xsl:value-of select="@scale"/>
+ <xsl:choose>
+ <xsl:when test="@scale=-2">
+ <xsl:value-of select="'1'"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@scale"/>
+ </xsl:otherwise>
+ </xsl:choose>
</xsl:attribute>
</xsl:when>
<xsl:when test="$propNode/@dataType = 'boolean'" >
@@ -342,8 +349,20 @@
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:otherwise>
- </xsl:choose>
+ </xsl:choose>
</xsl:template>
+<xsl:template match="@scale">
+ <xsl:choose>
+ <xsl:when test="not($providerName = 'Oracle')and (. = -2)">
+ <xsl:attribute name="scale">1</xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="scale">
+ <xsl:value-of select="."/>
+ </xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+</xsl:template>
<xsl:template match="@pkeyName"/>
<xsl:template match="@tablespace[not($providerName = 'Oracle')]"/>
<xsl:template match="@*|node()">
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/OverrideBender.xslt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/OverrideBender.xslt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/OverrideBender.xslt 2007-03-06 13:36:53 UTC (rev 779)
@@ -14,6 +14,7 @@
<xsl:param name="providerUri"/>
<xsl:param name="oldOwnerPrefix" />
<xsl:param name="newOwnerPrefix" />
+<xsl:param name="tablespace" />
<xsl:template match="ora:SchemaMapping|mql:SchemaMapping|sqs:SchemaMapping">
<xsl:element name="SchemaMapping" namespace="{$providerUri}">
<xsl:for-each select="namespace::node()[not(name()='')]">
@@ -81,6 +82,11 @@
</xsl:call-template>
</xsl:attribute>
</xsl:if>
+ <xsl:if test="$tablespace">
+ <xsl:attribute name="tablespace" >
+ <xsl:value-of select="$tablespace"/>
+ </xsl:attribute>
+ </xsl:if>
<xsl:if test="@tableMapping">
<xsl:attribute name="tableMapping" >
<xsl:value-of select="@tableMapping"/>
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_err5_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_err5_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_err5_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -23,7 +23,7 @@
Property Electric'l:Dry Transformer.PartNum redefines the characteristics of base property Electric'l:Transformer.PartNum
Property Electric'l:Dry Transformer.InstallDate redefines the characteristics of base property Electric'l:ElectricDevice.InstallDate
Base Property Electric'l:ElectricDevice.graphic (for property Electric'l:Fuse.graphic) has errors (1st error is ' Cannot change type class for object property Electric'l:ElectricDevice.graphic from 'Acad:Entity' to 'Electric'l:Street' ')
- Cannot change scale for property Electric'l:Transformer.Voltage from 1 to 8
+ Cannot change scale for property Electric'l:Transformer.Voltage from -2 to 8
Cannot change precision for property Electric'l:Transformer.Voltage from 10 to 45
Cannot change property Electric'l:Transformer.Voltage to be nullable
Cannot change data type for property Electric'l:Transformer.Voltage from decimal to string
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign1_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign1_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign1_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -6178,6 +6178,93 @@
</property>
</properties>
</class>
+<class xsi:type="Feature" name="NOFEATID" description=""
+ baseClass="" abstract="False"
+ tableName="NOFEATID" tblCreator="True" fixedTbl="False" >
+<geometryProperty>GEOMETRY</geometryProperty>
+<tableMapping>Concrete</tableMapping>
+<identityProperties>
+<property xsi:type="Data" name="ID" />
+</identityProperties>
+<properties>
+<property xsi:type="Data" name="ClassId" description="Class id number (uniquely identifies a class)"
+ dataType="int64" length="0" precision="0" scale="0"
+ readOnly="True" featId="False" system="True" nullable="False" autogenerated="True" defaultValue=""
+ tableName="NOFEATID" columnName="CLASSID" colCreator="False" fixedCol="True" >
+<Inherited baseClass="Feature" />
+</property>
+<property xsi:type="Data" name="DATA" description=""
+ dataType="string" length="50" precision="0" scale="0"
+ readOnly="False" featId="False" system="False" nullable="True" autogenerated="False" defaultValue=""
+ tableName="NOFEATID" columnName="DATA" colCreator="True" fixedCol="False" >
+<column name="DATA" description="" dataType="VARCHAR2" length="50" scale="0" nullable="True" >
+</column>
+</property>
+<property xsi:type="Data" name="FeatId" description="Feature id number (uniquely identifies a feature)"
+ dataType="int64" length="0" precision="0" scale="0"
+ readOnly="True" featId="True" system="True" nullable="False" autogenerated="True" defaultValue=""
+ tableName="NOFEATID" columnName="FEATID" colCreator="False" fixedCol="True" >
+<Inherited baseClass="Feature" />
+</property>
+<property xsi:type="Geometric" name="GEOMETRY" description="location and shape"
+geometricTypes="3" geometryTypes="42688" hasElevation="True" hasMeasure="False"
+ tableName="NOFEATID" columnName="GEOMETRY" colCreator="True" fixedCol="False" >
+<column name="GEOMETRY" description="" dataType="MDSYS.SDO_GEOMETRY" length="0" scale="0" nullable="True" >
+</column>
+</property>
+<property xsi:type="Data" name="ID" description="id"
+ dataType="string" length="20" precision="0" scale="0"
+ readOnly="False" featId="False" system="False" nullable="False" autogenerated="False" defaultValue=""
+ tableName="NOFEATID" columnName="ID" colCreator="True" fixedCol="False" >
+<column name="ID" description="" dataType="VARCHAR2" length="20" scale="0" nullable="False" >
+</column>
+</property>
+<property xsi:type="Data" name="RevisionNumber" description="Edit count for supporting optimistic locking. This value is incremented everytime the object is updated."
+ dataType="double" length="0" precision="0" scale="0"
+ readOnly="True" featId="False" system="True" nullable="False" autogenerated="True" defaultValue=""
+ tableName="NOFEATID" columnName="REVISIONNUMBER" colCreator="False" fixedCol="True" >
+<Inherited baseClass="Feature" />
+</property>
+<property xsi:type="Geometric" name="Bounds" description="Bounding box for the feature"
+geometricTypes="4" geometryTypes="84224" hasElevation="False" hasMeasure="False"
+ tableName="NOFEATID" columnName="n/a" colCreator="False" fixedCol="False" >
+<Inherited baseClass="Feature" />
+</property>
+<property xsi:type="Data" name="ClassName" description="FDO base property: object class name"
+ dataType="string" length="30" precision="0" scale="0"
+ readOnly="True" featId="False" system="True" nullable="False" autogenerated="False" defaultValue="NOFEATID"
+ tableName="F_CLASSDEFINITION" columnName="CLASSNAME" colCreator="False" fixedCol="True" >
+<Inherited baseClass="ClassDefinition" />
+<column name="CLASSNAME" description="" dataType="VARCHAR2" length="255" scale="0" nullable="False" >
+</column>
+</property>
+<property xsi:type="Data" name="SchemaName" description="FDO base property: object class schema name"
+ dataType="string" length="255" precision="0" scale="0"
+ readOnly="True" featId="False" system="True" nullable="True" autogenerated="False" defaultValue="OverridesA"
+ tableName="F_CLASSDEFINITION" columnName="SCHEMANAME" colCreator="False" fixedCol="True" >
+<Inherited baseClass="ClassDefinition" />
+<column name="SCHEMANAME" description="" dataType="VARCHAR2" length="255" scale="0" nullable="True" >
+</column>
+</property>
+</properties>
+<table name="NOFEATID" description="" pkeyName="" >
+<property xsi:type="Data" name="DATA" />
+<property xsi:type="Geometric" name="GEOMETRY" />
+<property xsi:type="Data" name="ID" />
+<column name="GEOMETRY" description="" dataType="MDSYS.SDO_GEOMETRY" length="0" scale="0" nullable="True" >
+</column>
+<column name="DATA" description="" dataType="VARCHAR2" length="50" scale="0" nullable="True" >
+</column>
+<column name="ID" description="" dataType="VARCHAR2" length="20" scale="0" nullable="False" >
+</column>
+</table>
+<tables>
+<table name="NOFEATID" description="" pkeyName="" >
+</table>
+<table name="F_CLASSDEFINITION" description="" pkeyName="" >
+</table>
+</tables>
+</class>
<class xsi:type="Feature" name="OvClassE1" description="a class"
baseClass="OvClassE" abstract="False"
tableName="OV_TABLE_C" tblCreator="False" fixedTbl="False" >
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign2_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign2_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign2_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -6178,6 +6178,93 @@
</property>
</properties>
</class>
+<class xsi:type="Feature" name="NOFEATID" description=""
+ baseClass="" abstract="False"
+ tableName="NOFEATID" tblCreator="True" fixedTbl="False" >
+<geometryProperty>GEOMETRY</geometryProperty>
+<tableMapping>Concrete</tableMapping>
+<identityProperties>
+<property xsi:type="Data" name="ID" />
+</identityProperties>
+<properties>
+<property xsi:type="Data" name="ClassId" description="Class id number (uniquely identifies a class)"
+ dataType="int64" length="0" precision="0" scale="0"
+ readOnly="True" featId="False" system="True" nullable="False" autogenerated="True" defaultValue=""
+ tableName="NOFEATID" columnName="CLASSID" colCreator="False" fixedCol="True" >
+<Inherited baseClass="Feature" />
+</property>
+<property xsi:type="Data" name="DATA" description=""
+ dataType="string" length="50" precision="0" scale="0"
+ readOnly="False" featId="False" system="False" nullable="True" autogenerated="False" defaultValue=""
+ tableName="NOFEATID" columnName="DATA" colCreator="True" fixedCol="False" >
+<column name="DATA" description="" dataType="VARCHAR2" length="50" scale="0" nullable="True" >
+</column>
+</property>
+<property xsi:type="Data" name="FeatId" description="Feature id number (uniquely identifies a feature)"
+ dataType="int64" length="0" precision="0" scale="0"
+ readOnly="True" featId="True" system="True" nullable="False" autogenerated="True" defaultValue=""
+ tableName="NOFEATID" columnName="FEATID" colCreator="False" fixedCol="True" >
+<Inherited baseClass="Feature" />
+</property>
+<property xsi:type="Geometric" name="GEOMETRY" description="location and shape"
+geometricTypes="3" geometryTypes="42688" hasElevation="True" hasMeasure="False"
+ tableName="NOFEATID" columnName="GEOMETRY" colCreator="True" fixedCol="False" >
+<column name="GEOMETRY" description="" dataType="MDSYS.SDO_GEOMETRY" length="0" scale="0" nullable="True" >
+</column>
+</property>
+<property xsi:type="Data" name="ID" description="id"
+ dataType="string" length="20" precision="0" scale="0"
+ readOnly="False" featId="False" system="False" nullable="False" autogenerated="False" defaultValue=""
+ tableName="NOFEATID" columnName="ID" colCreator="True" fixedCol="False" >
+<column name="ID" description="" dataType="VARCHAR2" length="20" scale="0" nullable="False" >
+</column>
+</property>
+<property xsi:type="Data" name="RevisionNumber" description="Edit count for supporting optimistic locking. This value is incremented everytime the object is updated."
+ dataType="double" length="0" precision="0" scale="0"
+ readOnly="True" featId="False" system="True" nullable="False" autogenerated="True" defaultValue=""
+ tableName="NOFEATID" columnName="REVISIONNUMBER" colCreator="False" fixedCol="True" >
+<Inherited baseClass="Feature" />
+</property>
+<property xsi:type="Geometric" name="Bounds" description="Bounding box for the feature"
+geometricTypes="4" geometryTypes="84224" hasElevation="False" hasMeasure="False"
+ tableName="NOFEATID" columnName="n/a" colCreator="False" fixedCol="False" >
+<Inherited baseClass="Feature" />
+</property>
+<property xsi:type="Data" name="ClassName" description="FDO base property: object class name"
+ dataType="string" length="30" precision="0" scale="0"
+ readOnly="True" featId="False" system="True" nullable="False" autogenerated="False" defaultValue="NOFEATID"
+ tableName="F_CLASSDEFINITION" columnName="CLASSNAME" colCreator="False" fixedCol="True" >
+<Inherited baseClass="ClassDefinition" />
+<column name="CLASSNAME" description="" dataType="VARCHAR2" length="255" scale="0" nullable="False" >
+</column>
+</property>
+<property xsi:type="Data" name="SchemaName" description="FDO base property: object class schema name"
+ dataType="string" length="255" precision="0" scale="0"
+ readOnly="True" featId="False" system="True" nullable="True" autogenerated="False" defaultValue="OverridesA"
+ tableName="F_CLASSDEFINITION" columnName="SCHEMANAME" colCreator="False" fixedCol="True" >
+<Inherited baseClass="ClassDefinition" />
+<column name="SCHEMANAME" description="" dataType="VARCHAR2" length="255" scale="0" nullable="True" >
+</column>
+</property>
+</properties>
+<table name="NOFEATID" description="" pkeyName="" >
+<property xsi:type="Data" name="DATA" />
+<property xsi:type="Geometric" name="GEOMETRY" />
+<property xsi:type="Data" name="ID" />
+<column name="GEOMETRY" description="" dataType="MDSYS.SDO_GEOMETRY" length="0" scale="0" nullable="True" >
+</column>
+<column name="DATA" description="" dataType="VARCHAR2" length="50" scale="0" nullable="True" >
+</column>
+<column name="ID" description="" dataType="VARCHAR2" length="20" scale="0" nullable="False" >
+</column>
+</table>
+<tables>
+<table name="NOFEATID" description="" pkeyName="" >
+</table>
+<table name="F_CLASSDEFINITION" description="" pkeyName="" >
+</table>
+</tables>
+</class>
<class xsi:type="Feature" name="OvClassE1" description="a class"
baseClass="OvClassE" abstract="False"
tableName="OV_TABLE_C" tblCreator="False" fixedTbl="False" >
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign_out2_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign_out2_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_foreign_out2_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -372,6 +372,18 @@
<Column name="STORAGE"/>
</element>
</complexType>
+<complexType name="NOFEATIDType" tableMapping="Concrete">
+<Table name="NOFEATID"/>
+<element name="DATA">
+<Column name="DATA"/>
+</element>
+<element name="GEOMETRY">
+<GeometricColumn name="GEOMETRY"/>
+</element>
+<element name="ID">
+<Column name="ID"/>
+</element>
+</complexType>
<complexType name="OvClassE1Type" tableMapping="Base">
<Table name="OV_TABLE_C"/>
<element name="DataE1">
Added: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_overrides_err1O_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_overrides_err1O_master.txt (rev 0)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_overrides_err1O_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -0,0 +1,25 @@
+ Schema OverridesA has errors; cannot apply it
+ Data Property OverridesA:OvClassJ.ObjectF.OpA must be nullable; class OverridesA:OvClassJ uses the BaseTable physical mapping type.
+ Data Property OverridesA:OvClassJ.ObjectF.OpId1 must be nullable; class OverridesA:OvClassJ uses the BaseTable physical mapping type.
+ Base Property OverridesA:OvClassI.ObjectF (for property OverridesA:OvClassJ.ObjectF) has errors (1st error is ' Data Property OverridesA:OvClassI.ObjectF.OpId1 must be nullable; class OverridesA:OvClassI uses the BaseTable physical mapping type. ')
+ Base Property OverridesA:OvClassI.DataI (for property OverridesA:OvClassJ.DataI) has errors (1st error is ' Data Property OverridesA:OvClassI.DataI must be nullable; class OverridesA:OvClassI uses the BaseTable physical mapping type. ')
+ Data Property OverridesA:OvClassJ.DataJ must be nullable; class OverridesA:OvClassJ uses the BaseTable physical mapping type.
+ Class 'OverridesA:OvClassJ' uses Base table mapping; Cannot include base property 'DataH' in unique constraint
+ Class 'OverridesA:OvClassJ' uses Base table mapping; Cannot include base property 'DataC' in unique constraint
+ Data Property OverridesA:OvClassI.ObjectF.OpA must be nullable; class OverridesA:OvClassI uses the BaseTable physical mapping type.
+ Data Property OverridesA:OvClassI.ObjectF.OpId1 must be nullable; class OverridesA:OvClassI uses the BaseTable physical mapping type.
+ Data Property OverridesA:OvClassI.DataI must be nullable; class OverridesA:OvClassI uses the BaseTable physical mapping type.
+ Column name 'datab' is already used by another property, cannot assign to property 'OverridesA:OvClassI.GeomI'
+ Cannot override property 'OverridesA:OvClassI.DataI' column to invalid name 'Bad Column Name' (must contain only ([a-z][A-Z][0-9]_$))
+ Cannot override object property 'OverridesA:OvClassH.ObjectB' prefix to invalid name 'Bad Prefix Name' (must contain only ([a-z][A-Z][0-9]_$))
+ Cannot override object property 'OverridesA:OvClassH.ObjectA' prefix to name that exceeds 30 characters: 'PrefixTooLong456789012345678901'
+ Cannot override class 'OverridesA:OvClassH' table to invalid name 'GermänTableName' (must contain only ([a-z][A-Z][0-9]_$))
+ Cannot override property 'OverridesA:OvClassF.GeomF' column to name that exceeds 30 characters: 'geomtoolong23456789012345678901'
+ Column name 'dataa' is already used by another property, cannot assign to property 'OverridesA:OvClassF.DataF'
+ Cannot override property 'OverridesA:OvClassE.DataE' column to RDBMS reserved name 'initial'
+ Cannot override property 'OverridesA:OvClassD.DataD' column to name that exceeds 30 characters: 'toolong890123456789012345678901'
+ Cannot override class 'OverridesA:OvClassD' table to RDBMS reserved name 'exclusive'
+ Cannot override property 'OverridesA:OvClassC.DataC' column to invalid name 'GermänColumnName' (must contain only ([a-z][A-Z][0-9]_$))
+ Cannot override class 'OverridesA:OvClassC' table to name that exceeds 30 characters: 'toolong890123456789012345678901'
+ Cannot override class 'OverridesA:OvClassB' table to invalid name 'Bad Table Name' (must contain only ([a-z][A-Z][0-9]_$))
+ Cannot override property 'OverridesA:OvClassA.GeomA' column to invalid name 'Bad Geom Col Name' (must contain only ([a-z][A-Z][0-9]_$))
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test1_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test1_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test1_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -4378,10 +4378,10 @@
</column>
</property>
<property xsi:type="Data" name="Voltage" description="voltage"
- dataType="decimal" length="0" precision="10" scale="1"
+ dataType="decimal" length="0" precision="10" scale="-2"
readOnly="False" featId="False" system="False" nullable="False" autogenerated="False" defaultValue=""
tableName="TRANSFORMER" columnName="VOLTAGE" colCreator="True" fixedCol="False" >
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<SAD>
<element name="Calculable" value="yes" />
@@ -4968,7 +4968,7 @@
</column>
<column name="PHASE" description="" dataType="VARCHAR2" length="1" scale="0" nullable="False" >
</column>
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<column name="FEATID" description="" dataType="NUMBER" length="20" scale="0" nullable="False" >
</column>
@@ -5265,6 +5265,12 @@
</column>
</property>
</properties>
+<uniqueConstraints>
+<uniqueConstraint>
+<property xsi:type="Data" name="FeatureId" />
+<property xsi:type="Data" name="% Occupied" />
+</uniqueConstraint>
+</uniqueConstraints>
<table name="A1_8_SCHOOL" description="" pkeyName="PK_A1_8_SCHOOL" >
<property xsi:type="Data" name="# Occupied" />
<property xsi:type="Data" name="# Rooms" />
@@ -5389,6 +5395,12 @@
</column>
</property>
</properties>
+<uniqueConstraints>
+<uniqueConstraint>
+<property xsi:type="Data" name="FeatureId" />
+<property xsi:type="Data" name="% Occupied" />
+</uniqueConstraint>
+</uniqueConstraints>
<table name="BUILD_G" description="" pkeyName="PK_BUILD_G" >
<property xsi:type="Data" name="# Rooms" />
<property xsi:type="Data" name="% Occupied" />
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test2_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test2_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test2_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -3855,10 +3855,10 @@
</column>
</property>
<property xsi:type="Data" name="Voltage" description="voltage"
- dataType="decimal" length="0" precision="10" scale="1"
+ dataType="decimal" length="0" precision="10" scale="-2"
readOnly="False" featId="False" system="False" nullable="False" autogenerated="False" defaultValue=""
tableName="TRANSFORMER" columnName="VOLTAGE" colCreator="True" fixedCol="False" >
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<SAD>
<element name="Calculable" value="yes" />
@@ -4157,7 +4157,7 @@
</column>
<column name="PHASE" description="" dataType="VARCHAR2" length="1" scale="0" nullable="False" >
</column>
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<column name="FEATID" description="" dataType="NUMBER" length="20" scale="0" nullable="False" >
</column>
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test3_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test3_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test3_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -4535,15 +4535,22 @@
</column>
</property>
<property xsi:type="Data" name="Voltage" description="voltage"
- dataType="decimal" length="0" precision="10" scale="1"
+ dataType="decimal" length="0" precision="10" scale="-2"
readOnly="False" featId="False" system="False" nullable="False" autogenerated="False" defaultValue=""
tableName="TRANSFORMER" columnName="VOLTAGE" colCreator="True" fixedCol="False" >
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<SAD>
<element name="Calculable" value="yes" />
</SAD>
</property>
+<property xsi:type="Data" name="Volume" description=""
+ dataType="int64" length="0" precision="0" scale="0"
+ readOnly="False" featId="False" system="False" nullable="True" autogenerated="False" defaultValue=""
+ tableName="TRANSFORMER" columnName="VOLUME" colCreator="True" fixedCol="False" >
+<column name="VOLUME" description="" dataType="NUMBER" length="20" scale="0" nullable="True" >
+</column>
+</property>
<property xsi:type="Object" name="graphic" description="Acad entity"
objectType="Value" className="Acad:Entity" idColumn="" order="ascending"
fixedCol="False" >
@@ -5091,6 +5098,7 @@
<property xsi:type="Data" name="SerialNum" />
<property xsi:type="Data" name="Temperature" />
<property xsi:type="Data" name="Voltage" />
+<property xsi:type="Data" name="Volume" />
<property xsi:type="Object" name="graphic" description="Acad entity"
objectType="Value" className="Acad:Entity" idColumn="" order="ascending"
fixedCol="False" >
@@ -5115,7 +5123,7 @@
</column>
<column name="PHASE" description="" dataType="VARCHAR2" length="1" scale="0" nullable="False" >
</column>
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<column name="FEATID" description="" dataType="NUMBER" length="20" scale="0" nullable="False" >
</column>
@@ -5125,6 +5133,8 @@
</column>
<column name="GEOMETRY" description="" dataType="MDSYS.SDO_GEOMETRY" length="0" scale="0" nullable="True" >
</column>
+<column name="VOLUME" description="" dataType="NUMBER" length="20" scale="0" nullable="True" >
+</column>
</table>
<tables>
<table name="TRANSFORMER" description="" pkeyName="PK_TRANSFORMER" >
@@ -5417,6 +5427,12 @@
</column>
</property>
</properties>
+<uniqueConstraints>
+<uniqueConstraint>
+<property xsi:type="Data" name="FeatureId" />
+<property xsi:type="Data" name="% Occupied" />
+</uniqueConstraint>
+</uniqueConstraints>
<table name="A1_8_SCHOOL" description="" pkeyName="PK_A1_8_SCHOOL" >
<property xsi:type="Data" name="# Occupied" />
<property xsi:type="Data" name="# Rooms" />
@@ -5541,6 +5557,12 @@
</column>
</property>
</properties>
+<uniqueConstraints>
+<uniqueConstraint>
+<property xsi:type="Data" name="FeatureId" />
+<property xsi:type="Data" name="% Occupied" />
+</uniqueConstraint>
+</uniqueConstraints>
<table name="BUILD_G" description="" pkeyName="PK_BUILD_G" >
<property xsi:type="Data" name="# Rooms" />
<property xsi:type="Data" name="% Occupied" />
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test4_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test4_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test4_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -3965,10 +3965,10 @@
</column>
</property>
<property xsi:type="Data" name="Voltage" description="voltage"
- dataType="decimal" length="0" precision="10" scale="1"
+ dataType="decimal" length="0" precision="10" scale="-2"
readOnly="False" featId="False" system="False" nullable="False" autogenerated="False" defaultValue=""
tableName="TRANSFORMER" columnName="VOLTAGE" colCreator="True" fixedCol="False" >
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<SAD>
<element name="Calculable" value="yes" />
@@ -4279,7 +4279,7 @@
</column>
<column name="VOLUME" description="" dataType="NUMBER" length="0" scale="0" nullable="False" >
</column>
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<column name="SERIALNUM" description="" dataType="NUMBER" length="20" scale="0" nullable="False" >
</column>
@@ -4590,6 +4590,12 @@
</column>
</property>
</properties>
+<uniqueConstraints>
+<uniqueConstraint>
+<property xsi:type="Data" name="FeatureId" />
+<property xsi:type="Data" name="% Occupied" />
+</uniqueConstraint>
+</uniqueConstraints>
<table name="A1_8_SCHOOL" description="" pkeyName="PK_A1_8_SCHOOL" >
<property xsi:type="Data" name="# Occupied" />
<property xsi:type="Data" name="# Rooms" />
@@ -4714,6 +4720,12 @@
</column>
</property>
</properties>
+<uniqueConstraints>
+<uniqueConstraint>
+<property xsi:type="Data" name="FeatureId" />
+<property xsi:type="Data" name="% Occupied" />
+</uniqueConstraint>
+</uniqueConstraints>
<table name="BUILD_G" description="" pkeyName="PK_BUILD_G" >
<property xsi:type="Data" name="# Rooms" />
<property xsi:type="Data" name="% Occupied" />
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test5_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test5_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test5_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -4990,10 +4990,10 @@
</column>
</property>
<property xsi:type="Data" name="Voltage" description="voltage"
- dataType="decimal" length="0" precision="10" scale="1"
+ dataType="decimal" length="0" precision="10" scale="-2"
readOnly="False" featId="False" system="False" nullable="False" autogenerated="False" defaultValue=""
tableName="TRANSFORMER" columnName="VOLTAGE" colCreator="True" fixedCol="False" >
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<SAD>
<element name="Calculable" value="yes" />
@@ -5582,7 +5582,7 @@
</column>
<column name="VOLUME" description="" dataType="NUMBER" length="0" scale="0" nullable="False" >
</column>
-<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="1" nullable="False" >
+<column name="VOLTAGE" description="" dataType="NUMBER" length="10" scale="-2" nullable="False" >
</column>
<column name="SERIALNUM" description="" dataType="NUMBER" length="20" scale="0" nullable="False" >
</column>
Modified: branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test_ov3_master.txt
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test_ov3_master.txt 2007-03-06 05:00:22 UTC (rev 778)
+++ branches/3.2.x/Providers/GenericRdbms/Src/UnitTest/apply_schema_test_ov3_master.txt 2007-03-06 13:36:53 UTC (rev 779)
@@ -190,6 +190,9 @@
<element name="Voltage">
<Column name="VOLTAGE"/>
</element>
+<element name="Volume">
+<Column name="VOLUME"/>
+</element>
</complexType>
<complexType name="Work-x20-ItemType" tableMapping="Concrete">
<Table name="WORK_ITEM"/>
More information about the fdo-commits
mailing list