[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