[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