[fdo-trac] #105: Add expression engine

FDO trac_fdo at osgeo.org
Fri Aug 24 15:12:26 EDT 2007


#105: Add expression engine
---------------------------+------------------------------------------------
   Reporter:  jacklee      |       Owner:  gregboone
       Type:  enhancement  |      Status:  new      
   Priority:  major        |   Milestone:  3.3.0    
  Component:  FDO API      |     Version:  3.3.0    
   Severity:  3            |    Keywords:           
External_id:               |  
---------------------------+------------------------------------------------
 This is the first drop of the common expression engine framework.

 The SDF and the SHP providers is not yet hook up to the common expression
 engine and none of the standard functions is yet implemented.

 This drop includes RFC 9
 (Add new class !FdoLiteralValueCollection and new method !FdoLiteralValue)


 The Evaluate of an expression containing aggregate functions is not yet
 working.


 The following is a pseudo code on how to use the expression engine:

 {{{
 // create the expression engine
 FdoPtr<FdoExpressionEngine> engine =
 FdoExpressionEngine::Create(testReader, classDef, userDefinedFunctions);

 // create an expression
 FdoPtr<FdoExpression> expression = FdoExpression::Parse(L"UserConcat(Name,
 UserConcat('a', Name))");

 while (testReader->ReadNext())
 {
     //evaluate the expression
     FdoPtr<FdoLiteralValue> value = engine->Evaluate(expression);
     ...
 }

 }}}


 A complete example can be found at:

 Providers\SDF\Src\!UnitTest\!UserFunctions.cpp

-- 
Ticket URL: <http://trac.osgeo.org/fdo/ticket/105>
FDO <http://fdo.osgeo.org/>
Feature Data Objects


More information about the fdo-trac mailing list