FDO RFC 25 - King.Informix FDO Provider
This page contains a request for comments document (RFC) for the FDO Open Source project. More FDO RFCs can be found on the RFCs page.
Status
RFC Template Version | (1.0) |
Submission Date | 2008-07-29 |
Last Modified | Jason Birch 2008-07-29 |
Author | Haris Kurtagic, Simon Pelicon, Jason Birch |
RFC Status | Draft - NOT READY FOR REVIEW |
Implementation Status | not started |
Proposed Milestone | 3.4.0 |
Assigned PSC guide(s) | Jason |
Voting History | |
+1 | |
+0 | |
-0 | |
-1 |
Overview
The purpose of this RFC is the introduction of a dedicated FDO provider for the Informix Spatial DataBlade Module into the FDO project.
Motivation
Informix is a widely used and database solution for spatial applications, and is a highly desirable format for FDO to support. There is a large amount of corporate data housed in Informix Spatial DataBlade, and this provider will allow FDO-based applications to publish and manage that data.
Proposed Solution
The initial set of functionality for this provider will include
- Support for all geometries
- Support for three-dimensionals
- Support for a large set of spatial and attribute filters
- Support for select/sqlcommand/insert/update/delete
Specific capabilities include
Connection
- ThreadCapability: PerConnectionThreaded
- SpatialContextExtent: Static
- SupportsLocking: : false
- SupportsTimeout: : false
- SupportsTransactions: : false
- SupportsLongTransactions: : false
- SupportsSQL: : true
- SupportsConfiguration: : true
Schema
- Class
- FeatureClass
- Class
- Data
- Boolean
- Byte
- DateTime
- Decimal
- Double
- Int16
- Int32
- Int64
- Single
- String
- SupportsInheritance: false
- SupportsMultipleSchemas: true
- SupportsObjectProperties: false
- SupportsAssociationProperties: false
- SupportsSchemaOverrides: true
- SupportsNetworkModel: false
- SupportsAutoIdGeneration: true
- SupportsDataStoreScopeUniqueIdGeneration: false
- SupportedAutoGeneratedTypes
- Int32
- SupportsSchemaModification: true
Command
- SupportedCommands
- Select
- SQLCommand
- DescribeSchema
- GetSpatialContexts
- CreateSpatialContext
- Insert
- Update
- Delete
- ApplySchema
- SupportsParameters: true
- SupportsTimeout: false
- SupportsSelectExpressions: true
- SupportsSelectFunctions: true
- SupportsSelectDistinct: true
- SupportsSelectOrdering: true
- SupportsSelectGrouping: true
Filter
- Condition
- Comparison
- Like
- In
- Null
- Spatial
- Spatial
- Contains
- Crosses
- Disjoint
- Equals
- Intersects
- Overlaps
- Touches
- Within
- CoveredBy
- Inside
- EnvelopeIntersects
- SupportsGeodesicDistance: false
- SupportsNonLiteralGeometricOperations: false
Expression
- Basic
- Function
- Ceil
- Floor
- Sum
- Count
- Min
- Avg
- Max
- SpatialExtents
- Lower
- Upper
- Concat
Raster
- SupportsRaster: false
- SupportsStitching: false
- SupportsSubsampling: false
Topology
- SupportsTopology: false
- SupportsTopologicalHierarchy: false
- BreaksCurveCrossingsAutomatically: false
- ActivatesTopologyByArea: false
- ConstrainsFeatureMovements: false
Geometry
- Types
- Point
- LineString
- Polygon
- MultiPoint
- MultiLineString
- MultiPolygon
- MultiGeometry
- CurveString
- CurvePolygon
- MultiCurveString
- MultiCurvePolygon
- Components
- LinearRing
- ArcSegment
- CurveRing
- Dimensionality: 3
Limitations
Geometry write capability is supported with Informix Client SDK 3.50. version and above.
Implications
This provider does not require any API changes to the FDO core or other providers. It will need to be added to the standard build and test procedures, and the process for acquiring the Informix DLLs will need to be documented.
Test Plan
The FDO Provider for Informix will include unit tests.
Unit tests will be run against runtime configurations where Informix Spatial DataBlade Module is installed.
The King.Informix Provider will be re-tested in AutoCAD Map 2008, AutoCAD Map 2009, MapGuide OpenSource 1.2 and MapGuide OpenSource 2.0.1
Funding/Resources
The resources for this provider are being contributed by IBM and SL-King.
References
Spatial DataBlade introduction: http://www-306.ibm.com/software/data/informix/blades/spatial/
Spatial DataBlade manual: http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.spatial.doc/spat.htm