= !MapGuide RFC 37 - New Provider Capabilities schema = This page contains an change request (RFC) for the !MapGuide Open Source project. More !MapGuide RFCs can be found on the RFCs page. == Status == ||RFC Template Version||1.0|| ||Submission Date||Sept 21, 2007|| ||Last Modified||Jack Lee [[Timestamp]]|| ||Author||Jack Lee|| ||RFC Status||adopted|| ||Implementation Status||under development|| ||Proposed Milestone||2.0|| ||Assigned PSC guide(s)||Tom|| ||'''Voting History'''||Sept 21, 2007|| ||+1||Tom, Jason, Paul, Bruce, Andy, Bob|| ||+0|||| ||-0|||| ||-1|||| ||Abstain||Haris|| == Overview == This change adds a new version of the Provider Capabilities schema. In order to get a response that matches the new schema, you must use Version=2.0.0 in the GETPROVIDERCAPABILITIES request. == Motivation == Some provider capabilities is missing from the current schema. == Proposed Solution == In order to get a response that matches the new schema described below, you must use Version=2.0.0 in the GETPROVIDERCAPABILITIES request. Add a new file, !FdoProviderCapabilities-1.1.0.xsd to the Common/Schema folder. This file contains the following new capabilities: * !SupportsAutoIdGeneration(Schema Capability) * !SupportsDataStoreScopeUniqueIdGeneration(Schema Capability) * !SupportedAutoGeneratedTypes(Schema Capability) * !SupportsSchemaModification(Schema Capability) * !SupportsSelectExpressions(Command Capability) * !SupportsSelectFunctions(Command Capability) * !SupportsSelectDistinct(Command Capability) * !SupportsSelectOrdering(Command Capability) * !SupportsSelectGrouping(Command Capability) * !CategoryType(Expression Capability) * !SignatureDefinitionCollection(Expression Capability) instead of !ArgumentDefinitionList The new Provider Capabilities schema is shown below. {{{ Static or Dynamic. Could be enumeration here. Class or FeatureClass enum value here Enum of data types Boolean, Byte, DateTime, Decimal, Double, Int16, Int32, Int64, Single, String, BLOB, CLOB, UniqueID Enum of data types Boolean, Byte, DateTime, Decimal, Double, Int16, Int32, Int64, Single, String, BLOB, CLOB, UniqueID Following is the possible list of commands Select,Insert,Delete,Update,DescribeSchema,DescribeSchemaMapping, ApplySchema,DestroySchema,ActivateSpatialContext,CreateSpatialContext,DestroySpatialContext,GetSpatialContexts, CreateMeasureUnit,DestroyMeasureUnit,GetMeasureUnits,SQLCommand,AcquireLock,GetLockInfo,GetLockedObjects,GetLockOwners,ReleaseLock, ActivateLongTransaction,DeactivateLongTransaction,CommitLongTransaction,CreateLongTransaction,GetLongTransactions,FreezeLongTransaction,RollbackLongTransaction, ActivateLongTransactionCheckpoint,CreateLongTransactionCheckpoint,GetLongTransactionCheckpoints,RollbackLongTransactionCheckpoint, ChangeLongTransactionPrivileges,GetLongTransactionPrivileges,ChangeLongTransactionSet,GetLongTransactionsInSet,NetworkShortestPath,NetworkAllPaths, NetworkReachableNodes,FirstProviderCommand,NetworkNearestNeighbors,NetworkWithinCost,NetworkTSP,ActivateTopologyArea,DeactivateTopologyArea, ActivateTopologyInCommandResult,DeactivateTopologyInCommandResults,SelectAggregates,CreateDataStore,DestroyDataStore,ListDataStores,FirstProviderCommand List of ConditionType is as follows: Comparison,Like,In,Null,Spatial,Distance List of spatial operations : Contains,Crosses, Disjoint,Equals, Intersects,Overlaps,Touches,Within, CoveredBy,Inside List of distance operations : Beyond, Within List of Expression types are Basic, Function, Parameter Enum of category types Aggregate, Conversion, Custom, Date, Geometry, Math, Numeric, String, Unspecified Enum of property types Data, Geometry, Object, Decimal, Raster Enum of data types Boolean, Byte, DateTime, Decimal, Double, Int16, Int32, Int64, Single, String, BLOB, CLOB, UniqueID Enum of property types Data, Geometry, Object, Decimal, Raster Enum of data types Boolean, Byte, DateTime, Decimal, Double, Int16, Int32, Int64, Single, String, BLOB, CLOB, UniqueID Enum of property types Data, Geometry, Object, Decimal, Raster Enum of data types Boolean, Byte, DateTime, Decimal, Double, Int16, Int32, Int64, Single, String, BLOB, CLOB, UniqueID Enum of geometry types None, Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, MultiGeometry, CurveString, CurvePolygon, MultiCurveString, MultiCurvePolygon Enum of geometry component types LinearRing, ArcSegment, LinearSegment, CurveRing }}} == Implications == None. == Test Plan == Verify the new capabilities are returned by the request. == Funding/Resources == Supplied by Autodesk.