[fdo-trac] #453: SQLServerSpatial: crash when calculated
property uses IsValid.
FDO
trac_fdo at osgeo.org
Tue Feb 3 06:49:21 EST 2009
#453: SQLServerSpatial: crash when calculated property uses IsValid.
---------------------------------------------------------------+------------
Reporter: brentrobinson | Owner: brentrobinson
Type: defect | Status: closed
Priority: major | Milestone: 3.4.0
Component: FDO API | Version: 3.4.0
Severity: 2 | Resolution: fixed
Keywords: SQLServerSpatial calculate property IsValid crash | External_id:
---------------------------------------------------------------+------------
Changes (by brentrobinson):
* status: new => closed
* resolution: => fixed
Comment:
Revision: 4368
Author: brentrobinson
Date: 6:43:42 AM, Tuesday, February 03, 2009
Message:
Ticket#453: fixed a number of problems that got in the way of creating
calculated properties with the IsValid() function in their expressions.
IsValid() is a function specific to the SQLServerSpatial provider. The
fixes were:
Ported part of S021-RD1 from the Oracle provider. This changes
FdoRdbmsFeatureReader::mPropertyInfoDefs (reader's property cache) from an
array to a vector. Previously, the array was sized to the number of
properties in the class being selected from, meaning that the array bounds
can be exceeded when calculated properties are added. The vector allows
the property cache to grow as needed.
Ported part of g018-PD2 from the Oracle Provider.
FdoRdbmsFeatureReader::GetDbAliasName() was modified to compare names when
matching a property to a computed identifier. Previously, the property
would be matched to the first computed identifier if any existed. This had
the side effect of adding RevisionNumber to the mPropertyInfoDefs cache,
when a calculated property was specified, even when RevisionNumber did not
exist. As a further precaution, modified
FdoRdbmsFeatureReader::Property2ColNameChar() to not try to match system
properties (such as RevisionNumber) to computed identifiers.
Modified FdoRdbmsFeatureReader::GetDbAliasName() to save the column name,
returned by FdoRdbmsSchemaUtil::MakeDBValidName(), in a non-volatile
string before continuing processing.
----
Modified :
/trunk/Providers/GenericRdbms/Src/Fdo/FeatureCommands/FdoRdbmsFeatureReader.cpp
Modified :
/trunk/Providers/GenericRdbms/Src/Fdo/FeatureCommands/FdoRdbmsFeatureReader.h
Modified :
/trunk/Providers/GenericRdbms/Src/UnitTest/Common/UnitTestUtil.cpp
Modified :
/trunk/Providers/GenericRdbms/Src/UnitTest/SQLServerSpatial/SqlServerFdoAdvancedSelectTest.cpp
Modified :
/trunk/Providers/GenericRdbms/Src/UnitTest/SQLServerSpatial/SqlServerFdoAdvancedSelectTest.h
--
Ticket URL: <http://trac.osgeo.org/fdo/ticket/453#comment:1>
FDO <http://fdo.osgeo.org/>
Feature Data Objects
More information about the fdo-trac
mailing list