[fdo-commits] r754 - branches/3.2.x/Providers/GenericRdbms/Src/Fdo/FeatureCommands

svn_fdo at osgeo.org svn_fdo at osgeo.org
Wed Feb 14 18:54:38 EST 2007


Author: danstoica
Date: 2007-02-14 18:54:38 -0500 (Wed, 14 Feb 2007)
New Revision: 754

Modified:
   branches/3.2.x/Providers/GenericRdbms/Src/Fdo/FeatureCommands/FdoRdbmsSelectCommand.cpp
Log:
Validate spatial operators in the filter at Execute() time.

Modified: branches/3.2.x/Providers/GenericRdbms/Src/Fdo/FeatureCommands/FdoRdbmsSelectCommand.cpp
===================================================================
--- branches/3.2.x/Providers/GenericRdbms/Src/Fdo/FeatureCommands/FdoRdbmsSelectCommand.cpp	2007-02-14 23:52:20 UTC (rev 753)
+++ branches/3.2.x/Providers/GenericRdbms/Src/Fdo/FeatureCommands/FdoRdbmsSelectCommand.cpp	2007-02-14 23:54:38 UTC (rev 754)
@@ -29,8 +29,9 @@
 #include "FdoRdbmsFeatureSubsetReader.h"
 #include "LockUtility.h"
 #include "FdoRdbmsFilterProcessor.h"
+#include <FdoCommonFilterExecutor.h>
+#include <FdoCommonSchemaUtil.h>
 
-
 #define SELECT_CLEANUP \
         if ( qid != -1) {\
         try { \
@@ -101,6 +102,15 @@
         filterConstrain.groupByProperties = mGroupingCol;
         filterConstrain.orderByProperties = mOrderingIdentifiers;
 
+		if ( this->GetFilterRef() != NULL )
+		{
+			FdoPtr<FdoIConnection>	conn = GetConnection();
+			FdoPtr<FdoIFilterCapabilities> filterCaps = conn->GetFilterCapabilities();
+			FdoPtr<FdoClassDefinition> classDef = FdoCommonSchemaUtil::GetLogicalClassDefinition(conn, classDefinition->GetName(), NULL);
+
+			FdoCommonFilterExecutor::ValidateFilter( classDef, this->GetFilterRef(), mIdentifiers, filterCaps);
+		}
+
         // Call FilterToSql just to populate the filter's list of geometric conditions;
         FdoString * sqlString = flterProcessor->FilterToSql( this->GetFilterRef(), this->GetClassNameRef()->GetText(), SqlCommandType_Select, FdoCommandType_Select, &filterConstrain, isForUpdate );
 



More information about the fdo-commits mailing list