= 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 [wiki:FDORfcs 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 == TBA == 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 == TBA == 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