The capabilities of an FDO provider are grouped in the following categories:
- Connection
- Schema
- Commands
- Expressions
- Filters
- Geometry
- Raster
Connection Capabilities
Use the FdoIConnectionCapabilities object methods to learn about these capabilities. You can get this object by calling the GetConnectionCapabilities() method on the FdoIConnection object. For an explanation of the meaning of the capabilities, consult the FdoIConnectionCapabilities class description in the FDO API Reference documentation.
The following capabilities are supported:
- Per connection threading
- static spatial content extent type
- XML configuration
- multiple spatial contexts
- Write
- Multi-user write
- Flush
Schema Capabilities
Use the FdoISchemaCapabilities object methods to learn about these capabilities. You can get this object by calling the GetSchemaCapabilities() method on the FdoIConnection object. For an explanation of the meaning of the capabilities, consult the FdoISchemaCapabilities class description in the FDO API Reference documentation.
The following capabilities are supported:
- class and feature class class types
- Boolean data type with a maximum length of 1 byte
- DateTime data type with a maximum length of 12 bytes
- Decimal data type with a maximum length of 255 digits (maximum decimal precision of 255 and maximum decimal scale of 255)
- Int32 data type with a maximum length of 4 bytes
- String data type with a maximum length of 255
- Int32 auto-generated data type
- Identity properties of type Int32
- Name size limitation of 255 for a schema element name of type FdoSchemaElementNameType_Datastore
- Name size limitation of 7 for a schema element name of type FdoSchemaElementNameType_Schema
- Name size limitation of 255 for a schema element name of type FdoSchemaElementNameType_Class
- Name size limitation of 11 for a schema element name of type FdoSchemaElementNameType_Property
- Name size limitation of 0 for a schema element name of type FdoSchemaElementNameType_Description
- Characters that cannot be used for a schema element name: .:
- Auto ID generation
- Multiple schemas
- Null value constraints
- Schema modification
- Schema overrides
Command Capabilities
Use the FdoICommandCapabilities object methods to learn about these capabilities. You can get this object by calling the GetCommandCapabilities() method on the FdoIConnection object. For an explanation of the meaning of the capabilities, consult the FdoICommandCapabilities class description in the FDO API Reference documentation.
The following commands are supported:
- FdoCommandType_Select
- FdoCommandType_SelectAggregates
- FdoCommandType_Insert
- FdoCommandType_Delete
- FdoCommandType_Update
- FdoCommandType_DescribeSchema
- FdoCommandType_DescribeSchemaMapping
- FdoCommandType_ApplySchema
- FdoCommandType_DestroySchema
- FdoCommandType_CreateSpatialContext
- FdoCommandType_GetSpatialContexts
- SdfCommandType_CreateSDFFile
The following capabilities are supported:
- simple functions in Select and SelectAggregate commands
- use of expressions for properties in Select and SelectAggregates commands
- use of Distinct in SelectAggregates command
Filter Capabilities
Use the FdoIFilterCapabilities object methods to learn about these capabilities. You can get this object by calling the GetFilterCapabilities() method on the FdoIConnection object. For an explanation of the meaning of the capabilities, consult the FdoIFilterCapabilities class description in the FDO API Reference documentation.
The following capabilities are supported:
- Conditions of type comparison, like, in, null, and spatial
- spatial operations of type Within, Inside, Intersects, EnvelopeIntersects
Expression Capabilities
Use the FdoIExpressionCapabilities object methods to learn about these capabilities. You can get this object by calling the GetExpressionCapabilities() method on the FdoIConnection object. For an explanation of the meaning of the capabilities, consult the FdoIExpressionCapabilities class description in the FDO API Reference documentation.
Basic and function expressions are supported.
The following functions are supported:
- Double Avg(<type> value) where <type> is one of Byte, Decimal, Double, Single, Int16, Int32, or Int64.
- Double Ceil(<type> value) where <type> is one of Decimal, Double, or Single
- String Concat(String str1Val, String str2Val)
- Int64 Count(<type> value) where <type> is one of Boolean, Byte, DateTime, Decimal, Double, Int16, Int32, Int64, Single, String, BLOB, CLOB, ObjectProperty, GeometricProperty, AssociationProperty, or RasterProperty
- Decimal Floor(<type> value) where <type> is one of Decimal, Double, or Single
- String Lower(String value)
- Double Max(<type> value) where <type> is one of Byte, Decimal, Double, Int16, Int32, Int64, or Single
- Byte Min(<type> value) where <type> is one of Byte, Decimal, Double, Int16, Int32, Int64, or Single
- Double Sum(<type> value) where <type> is one of Byte, Decimal, Double, Int16, Int32, Int64, or Single.
- String Upper(String value)
- GeometricProperty SpatialContexts(GeometricProperty property)
Geometry Capabilities
Use the FdoIGeometryCapabilities object methods to learn about these capabilities. You can get this object by calling the GetGeometryCapabilities() method on the FdoIConnection object. For an explanation of the meaning of the capabilities, consult the FdoIGeometryCapabilities class description in the FDO API Reference documentation.
Dimensionality XYZM is supported. The geometry component types LinearRing and LineStringSegment are supported. The following geometry types are supported.
- Point
- LineString
- Polygon
- MultiPoint
- MultiLineString
Raster Capabilities
Use the FdoIRasterCapabilities object methods to learn about these capabilities. You can get this object by calling the GetRasterCapabilities() method on the FdoIConnection object. For an explanation of the meaning of the capabilities, consult the FdoIRasterCapabilities class description in the FDO API Reference documentation.
No Raster capabilities are supported.