[fdo-internals] Code Submission Notification: SHP/SDF: fix select /
select aggregate defects
Pierre Dalcourt
pierre.dalcourt at autodesk.com
Thu Feb 22 12:38:33 EST 2007
Author: Pierre Dalcourt
Date: Thursday, February 22, 2007
Title: SHP/SDF: fix select / select aggregate defects
Reviewed by: Dan Stoica
TRAC Ticket #17 "SHP/SDF: fix various Select/SelectAggregates defects"
- Fixed these SHP/SDF defects:
782748 SDF: SELECT AGGREGATE FUNCTIONS EXECUTED ON INVALID
DATA TYPES FOR THAT FUNCTION RETURNS A 0.0 VALUE.
782753 SDF: SELECT AGGREGATE FUNCTION MIN AND MAX ON A
DATETIME DOES NOT RETURN A VALID VALUE.
782759 SDF: SELECT AGGREGATE FUNCTION MAX AND MIN ON A
STRING DOES NOT RETURN A VALID VALUE
814146 SHP: CERTAIN SELECT AGGREGATE FUNCTIONS CAUSE ERROR
"FETCHING A PROPERTY VALUE DID NOT MATCH THE PROPERTY TYPE":
855301 SHP: Select using computed field and aggregate
function is not supported but fails to generate an exception:
- Added Min/Max(string/datetime) support to SDF and SHP, by adding this
to FdoCommonQueryAggregator
- Added full TestCommon support to SDF and SHP unit tests; increased
usage of TestCommon in many places
- Improved error handling in SDF/SHP unit tests (Several tests werent
catching/reporting errors correctly)
- ShpSelectCommand now validates upfront that you are not using
aggregate functions or invalid arguments to functions (e.g.
Ceil(String))
- SDF: added SchemaTest.* to OpenSource tests (it doesn't rely on
Sdf.lib)
- improved FdoCommonDataReader::GetAggregateFunctions() to handle NULL
select list
- added 3 new TestCommon classes and moved some generic SHP/SDF
utilities to them:
TestCommonFileUtil:
// Compare the contents of 2 files, and return -1 if
they don't match, 0 otherwise
static FdoInt32 CompareFiles( const char* file1Name,
const char* file2Name );
// Compare the contents of 2 files, and throw a CPPUNIT
exception if they do not match
static void CompareFilesAndThrow( const char*
masterFileName, const char* outFileName );
// Compare the contents of 2 files, with a start byte
offset and the number of bytes to compare (-1 to compare all bytes)
static void CompareFiles (const wchar_t* file1Name,
const wchar_t* file2Name, unsigned long startByteOffset = 0L, unsigned
long bytesToCompare = -1L);
TestCommonGeomUtil:
// Compare two geometries for equivalence:
static bool GeometriesEquivalent (FdoIGeometry *geom1,
FdoIGeometry *geom2);
static bool LinearRingsEquivalent (FdoILinearRing* lr1,
FdoILinearRing* lr2);
static bool PointsEquivalent (FdoIDirectPosition* pos1,
FdoIDirectPosition* pos2);
// Print out info about the given geometry (type,
length, area, etc):
static void PrintGeometryAnalysis( const wchar_t
*class_name, int index, FdoByteArray * geom_fgf, double length, double
area, bool verbose);
TestCommonSchemaUtil:
// Delete a class (if bDeleteRowsOnly==false) or delete
the rows of a class (if bDeleteRowsOnly==true):
static void CleanUpClass(FdoIConnection *connection,
const wchar_t* schema_name, const wchar_t* class_name, bool
bDeleteRowsOnly=false);
- moved some more stuff to TestCommonMiscUti:
TestCommonFail(char*)
// Get time on system clock (in seconds) -- used for computing
elapsed time.
static double GetTime_S(void);
// check that 2 doubles are roughly equal:
static bool FuzzyEqual (const double d1, const double d2);
================
FDO
Fdo\Unmanaged\Src\Message\FDOMessage.mc
SDF
Src/Provider/SdfExpressionCapabilities.cpp
Src/UnitTest/ApplySchemaTest.cpp
Src/UnitTest/AssociationSchemaTest.h
Src/UnitTest/ConnectionInfoTest.h
Src/UnitTest/FdoMultiThreadTest.h
Src/UnitTest/Makefile.am
Src/UnitTest/MasterTest.cpp
Src/UnitTest/MasterTest.h
Src/UnitTest/SelectTest.cpp
Src/UnitTest/SelectTest.h
Src/UnitTest/SpatialContextTest.cpp
Src/UnitTest/UnitTest.vcproj
Src/UnitTest/UnitTestUtil.cpp
Src/UnitTest/UnitTestUtil.h
SHP
Src/Provider/ShpDeleteCommand.cpp
Src/Provider/ShpExpressionCapabilities.cpp
Src/Provider/ShpSelectCommand.cpp
Src/Provider/stdafx.h
Src/SHP.sln
Src/UnitTest/BigPerformanceTests.cpp
Src/UnitTest/ComparisonTests.cpp
Src/UnitTest/ConnectTests.cpp
Src/UnitTest/DeleteTests.cpp
Src/UnitTest/FidelityTests.cpp
Src/UnitTest/FileAccessTests.cpp
Src/UnitTest/FilterTests.cpp
Src/UnitTest/IndexTests.cpp
Src/UnitTest/InsertTests.cpp
Src/UnitTest/Makefile.am
Src/UnitTest/OverridesTest.cpp
Src/UnitTest/Pch.h
Src/UnitTest/PerformanceTests.cpp
Src/UnitTest/ReadOnlyTests.cpp
Src/UnitTest/SchemaTests.cpp
Src/UnitTest/SelectAggregatesTests.cpp
Src/UnitTest/SelectAggregatesTests.h
Src/UnitTest/SelectTests.cpp
Src/UnitTest/SelectTests.h
Src/UnitTest/ShpTests.cpp
Src/UnitTest/ShpTests.h
Src/UnitTest/SpatialFilterTests.cpp
Src/UnitTest/UnitTest.vcproj
Src/UnitTest/UnitTestUtil.cpp
Src/UnitTest/UnitTestUtil.h
Src/UnitTest/UpdateTests.cpp
TestCommon
Common/Inc/FdoCommonDataReader.h
Common/Inc/FdoCommonQueryAggregator.h
Common/Src/FdoCommonDataReader.cpp
Common/Src/FdoCommonFilterExecutor.cpp
Common/Src/FdoCommonQueryAggregator.cpp
TestCommon/Inc/stdafx.h
TestCommon/Inc/TestCommonFileUtil.h
TestCommon/Inc/TestCommonGeomUtil.h
TestCommon/Inc/TestCommonMiscUtil.h
TestCommon/Inc/TestCommonSchemaUtil.h
TestCommon/Makefile.am
TestCommon/Src/TestCommonFileUtil.cpp
TestCommon/Src/TestCommonGeomUtil.cpp
TestCommon/Src/TestCommonMiscUtil.cpp
TestCommon/Src/TestCommonSchemaUtil.cpp
TestCommon/TestCommon.vcproj
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/fdo-internals/attachments/20070222/289120e3/attachment-0001.html
More information about the fdo-internals
mailing list