Changes between Version 9 and Version 10 of FDORfc50
- Timestamp:
- 06/02/10 11:36:32 (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TabularUnified FDORfc50
v9 v10 56 56 57 57 We should be able to select from multiple classes and have filters applied on any class attributes. In order to be able to achieve that we can use FdoISelect::!GetFeatureClassNames () and add all classes we want to select from. The filter must be based on properties from the selected classes and filter can be validated at run time when the whole select is built. In this collection we can have: 58 * FdoIdentifier’s in case we just need to pass a class name.59 * !FdoComputedIdentifier’s having a name and as expression value a 58 * !FdoIdentifier’s in case we just need to pass a class name. 59 * !FdoComputedIdentifier’s having a name and as expression value an !FdoIdentifier, this way we can get aliases, e.g. !PropName AS !NewPropName. We already use computed identifiers in our API for expressions and we provide a name and an expression value. In this case it will be the same, since an alias is actually an expression: we provide an alias (name) and the real name of the property. 60 60 * !FdoClassComputedIdentifier’s which is a FdoISelect having a name. This option might not be supported by all RDBMS providers and it depends of the internal implementation. This class behaves like a computed class which will be evaluated at run time and really depends of the provider implementation. This new class will help to define sub-selects, see below case (C) 61 61 … … 210 210 211 211 212 === Handle Sub- selects ===212 === Handle Sub-Selects === 213 213 214 214 Below we define a new class to define sub-select used in the new select. … … 247 247 248 248 In above case we will have two selects having following filters: 249 *Main select: !FeatId IN(:SUBSEL)250 *Sub-select: pt.!FeatId >= 2 AND SPATIAL_COND(pt.GEOM, GEOM_VAL)249 Main select: !FeatId IN(:SUBSEL) 250 Sub-select: pt.!FeatId >= 2 AND SPATIAL_COND(pt.GEOM, GEOM_VAL) 251 251 252 252 Below we added some C++ code on how caller can use this new improvement to achieve above select statement: