# OSGeo::FDO::Commands::Feature Namespace Reference

## Classes
interface | IBaseSelect
| The IBaseSelect interface defines a base interface for the the FDO ISelect command, which queries for features of a given class that match the specified criteria. Input to the select command includes the name of the class, the list of properties to be returned, and a filter. All but the class name is optional. If the list of properties to be returned is empty then all properties are returned. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The result of executing a select command is an IFeatureReader reference (see "Reading Features"). If the feature provider supports locking, then the select command can optionally lock all of the features selected, via the ExecuteWithLock method (see "Locking Commands" for more information on locking features). More...
class | IBaseSelectImp
| The IBaseSelectImp class is a concrete implementation class for interface IBaseSelect. The IBaseSelect interface defines a base interface for the the FDO ISelect command, which queries for features of a given class that match the specified criteria. Input to the select command includes the name of the class, the list of properties to be returned, and a filter. All but the class name is optional. If the list of properties to be returned is empty then all properties are returned. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The result of executing a select command is an IFeatureReader reference (see "Reading Features"). If the feature provider supports locking, then the select command can optionally lock all of the features selected, via the ExecuteWithLock method (see "Locking Commands" for more information on locking features). More...
interface | IDataReader
| The IDataReader interface provides a forward-only, read-only iterator for reading relational table data. A reference to an IDataReader is returned from the ISQLCommands ExecuteReader method. The initial position of the IDataReader interface is prior to the first item. Thus, you must call ReadNext to begin accessing any data. More...
class | IDataReaderImp
| The IDataReaderImp class is a concrete implementation class for IDataReader. The IDataReader interface provides a forward-only, read-only iterator for reading relational table data. A reference to an IDataReader is returned from the SQLCommands ExecuteReader method. The initial position of the IDataReader interface is prior to the first item. Thus, you must call ReadNext to begin accessing any data. More...
interface | IDelete
| The IDelete interface defines the FDO Delete command, which deletes instances of a given class that match the specified criteria. Input to the delete command includes the name of the class, and filter criteria by which to identify the instances to be deleted. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The delete command can delete instances at global scope or instances/values nested within an object collection property. Instances at global scope are referred to simply by the class name. Instances at a nested scope (i.e. instances within a object collection property) are referred to by the containing class name, followed by a '.', followed by the object collection property name. More...
class | IDeleteImp
| The IDeleteImp class is a concrete implementation class for interface IDelete. The IDelete interface defines the FDO Delete command, which deletes instances of a given class that match the specified criteria. Input to the delete command includes the name of the class, and filter criteria by which to identify the instances to be deleted. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The delete command can delete instances at global scope or instances/values nested within an object collection property. Instances at global scope are referred to simply by the class name. Instances at a nested scope (i.e. instances within a object collection property) are referred to by the containing class name, followed by a '.', followed by the object collection property name. More...
interface | IFeatureReader
| The IFeatureReader interface provides a forward-only, read-only iterator for reading feature data. A reference to an IFeatureReader is returned from the Select and SelectAndLock commands. Because the initial position of the IFeatureReader is prior to the first item, you must call ReadNext to begin accessing any data. More...
class | IFeatureReaderImp
| The IFeatureReaderImp class is a concrete implementation class for interface IFeatureReader. The IFeatureReader interface provides a forward-only, read-only iterator for reading feature data. A reference to an IFeatureReader is returned from the Select and SelectAndLock commands. Because the initial position of the IFeatureReader is prior to the first item, you must call ReadNext to begin accessing any data. More...
interface | IInsert
| The IInsert interface defines the Insert command, which inserts a new instance of a given class. Input to the insert command includes the name of the class and a collection of property values. Properties that are not specified and do not have a default value will be assigned a null value or an exception will be thrown if the property is required. The insert command can insert instances at global scope or instances nested within an object collection property. Instances at global scope are referred to simply by the class name. Instances at a nested scope (i.e. instances within a object collection property) are referred to by the containing class name, followed by a '.', followed by the object collection property name. More...
class | IInsertImp
| The IInsertImp class is a concrete implementation class for interface IInsert. The IInsert interface defines the Insert command, which inserts a new instance of a given class. Input to the insert command includes the name of the class and a collection of property values. Properties that are not specified and do not have a default value will be assigned a null value or an exception will be thrown if the property is required. The insert command can insert instances at global scope or instances nested within an object collection property. Instances at global scope are referred to simply by the class name. Instances at a nested scope (i.e. instances within a object collection property) are referred to by the containing class name, followed by a '.', followed by the object collection property name. More...
interface | IReader
| The IReader interface provides a forward-only, read-only iterator for reading data. Because the initial position of the IReader is prior to the first item, you must call ReadNext to begin accessing any data. More...
class | IReaderImp
| The IReaderImp class is a concrete implementation class for interface IReader. The IReader interface provides a forward-only, read-only iterator for reading data. Because the initial position of the IReader is prior to the first item, you must call ReadNext to begin accessing any data. More...
interface | ISelect
| The ISelect interface defines the Select command, which queries for features of a given class that match the specified criteria. Input to the select command includes the name of the class, the list of properties to be returned, and a filter. All but the class name is optional. If the list of properties to be returned is empty then all properties are returned. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The result of executing a select command is an IFeatureReader reference (see "Reading Features"). If the feature provider supports locking, then the select command can optionally lock all of the features selected, via the ExecuteWithLock method (see "Locking Commands" for more information on locking features). More...
interface | ISelectAggregates
| The ISelectAggregate interface defines a Select command that handle selection of properties that include the use of aggregate functions. This command differs from the ISelect command in a number of ways. It handles selection of properties that are aggregate functions and supports selecting distinct property values. It also includes grouping criteria. The execute method returns an IDataReader which is not tied to a specific class. Unlike Select, ISelectAggregate does not include any locking functions. More...
class | ISelectAggregatesImp
| The ISelectAggregateImp class is a cocrete implementation of interface ISelectAggregates. The ISelectAggregate interface defines a Select command that handle selection of properties that include the use of aggregate functions. This command differs from the ISelect command in a number of ways. It handles selection of properties that are aggregate functions and supports selecting distinct property values. It also includes grouping criteria. The execute method returns an IDataReader which is not tied to a specific class. Unlike Select, ISelectAggregate does not include any locking functions. More...
class | ISelectImp
| The ISelectImp class is a concrete implementation of interface ISelect. The ISelect interface defines the Select command, which queries for features of a given class that match the specified criteria. Input to the select command includes the name of the class, the list of properties to be returned, and a filter. All but the class name is optional. If the list of properties to be returned is empty then all properties are returned. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The result of executing a select command is an IFeatureReader reference (see "Reading Features"). If the feature provider supports locking, then the select command can optionally lock all of the features selected, via the ExecuteWithLock method (see "Locking Commands" for more information on locking features). More...
interface | IUpdate
| The IUpdate interface defines the Update command, which modifies instances of a given class that match the specified criteria. Input to the update command includes the name of the class, the list of property name/value pairs to be updated, and the filter criteria by which to identify the instances to be updated. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The update command can update instances at global scope or nested within an object collection property. Instances at global scope are referred to simply by the class name. Instances at a nested scope (i.e., instances within an object collection property) are referred to by the containing class name, followed by a '.', followed by the object collection property name. More...
class | IUpdateImp
| The IUpdateImp class is a concrete implementation of interface IUpdate. The IUpdate interface defines the Update command, which modifies instances of a given class that match the specified criteria. Input to the update command includes the name of the class, the list of property name/value pairs to be updated, and the filter criteria by which to identify the instances to be updated. The filter may be specified either as text or as an expression tree (most likely produced by a query builder). The update command can update instances at global scope or nested within an object collection property. Instances at global scope are referred to simply by the class name. Instances at a nested scope (i.e., instances within an object collection property) are referred to by the containing class name, followed by a '.', followed by the object collection property name. More...
## Functions
System::Void | Close ()
| Closes the IReader object, freeing any resources it may be holding.
OSGeo::FDO::Commands::Feature::IFeatureReader * | Execute ()
| Executes the insert command and returns a reference to an IFeatureReader. Some feature providers can generate automatic identity values for features. This will happen automatically as the features are inserted. The returned IFeatureReader allows the client to obtain the automatic identity property value(s) of newly inserted object(s). The returned feature reader at a minimum will read the unique identity properties of the objects just inserted. Multiple objects will be returned through the reader in the case of a batch insert.
OSGeo::FDO::Commands::Feature::IFeatureReader * | ExecuteWithLock ()
| Executes the select command and returns a reference to an IFeatureReader.
__property OSGeo::FDO::Commands::BatchParameterValueCollection * | get_BatchParameterValues ()
| Gets the BatchParameterValueCollection that can be used for optimized batch inserts of multiple features with a single insert command. Batch inserts can be performed by using Parameters for each of the property values, then adding collections of parameter values to the BatchParameterValueCollection. Each ParameterValueCollection in the BatchParameterValueCollection should contain one ParameterValue for each of the parameters specified for property values.
__property System::Boolean | get_Distinct ()
| Get the distinct option.
__property OSGeo::FDO::Commands::IdentifierCollection * | get_Grouping ()
| Gets the IdentifierCollection that holds the list of group by property names. If empty no grouping is used. This list is initially empty and the caller need to add the property that the command should use as a group by criteria. No LOB or Geometry type properties can be used for ordering.
__property OSGeo::FDO::Filter::Filter * | get_GroupingFilter ()
| Gets the grouping by filter.
__property OSGeo::FDO::Commands::Locking::ILockConflictReader * | get_LockConflicts ()
| Deleting objects might result in lock conflicts if objects to be deleted are not exclusively locked for the user attempting to delete the object. A lock conflict report is generated. This function returns a lock conflict reader that provides access to the list of lock conflicts that occurred during the execution of the delete operation.
__property OSGeo::FDO::Commands::Locking::LockStrategy | get_LockStrategy ()
| Gets the LockStrategy value (see "Locking Commands").
__property OSGeo::FDO::Commands::IdentifierCollection * | get_Ordering ()
| Gets the IdentifierCollection that holds the list of order by property names. If empty no ordering is used. This list is initially empty and the caller need to add the property that the command should use as a order by criteria.
__property OSGeo::FDO::Commands::OrderingOption | get_OrderingOption ()
| Gets the ordering option.
__property OSGeo::FDO::Commands::PropertyValueCollection * | get_PropertyValues ()
| Gets the PropertyValueCollection that specifies the names and values of the properties for the instance to be inserted.
System::Byte | GetByte (System::String *name)
| Gets the byte value of the specified property. No conversion is performed, thus the property must be DataType_Byte or an exception is thrown.
OSGeo::FDO::Schema::DataType | GetDataType (System::String *name)
| Gets the data type of the property with the specified name.
System::DateTime | GetDateTime (System::String *name)
| Gets the date and time value of the specified property. No conversion is performed, thus the property must be DataType_DateTime or an exception is thrown.
System::Int32 | GetDepth ()
| Gets a value indicating the depth of nesting for the current reader. The depth value increases each time GetFeatureObject is called and a new reader is returned. The outermost reader has a depth of 0.
System::Double | GetDouble (System::String *name)
| Gets the double-precision floating point value of the specified property. No conversion is performed, thus the property must be DataType_Double or an exception is thrown.
OSGeo::FDO::Commands::Feature::IFeatureReader * | GetFeatureObject (System::String *propertyName)
| Gets a reference to an IFeatureReader to read the data contained in the object or object collection property. If the property is not an object property, an exception is thrown.
System::Byte | GetGeometry (System::String *name)[]
| Gets the geometry value of the specified property as a byte array in FGF format. Because no conversion is performed, the property must be of Geometric type; otherwise, an exception is thrown. This method is a language-specific performance optimization that returns a pointer to the array data, rather than to an object that encapsulates the array. The array's memory area is only guaranteed to be valid until a call to ReadNext() or Close(), or the disposal of this reader object.
System::Int16 | GetInt16 (System::String *name)
| Gets the 16-bit integer value of the specified property. No conversion is performed, thus the property must be DataType_Int16 or an exception is thrown.
System::Int32 | GetInt32 (System::String *name)
| Gets the 32-bit integer value of the specified property. No conversion is performed, thus the property must be DataType_Int32 or an exception is thrown.
System::Int64 | GetInt64 (System::String *name)
| Gets the 64-bit integer value of the specified property. No conversion is performed, thus the property must be DataType_Int64 or an exception is thrown.
OSGeo::FDO::Expression::LOBValue * | GetLOB (System::String *name)
| Gets a LOBValue reference. The LOB is fully read in and data available. Because no conversion is performed, the property must be DataType_BLOB or DataType_CLOB etc. (a LOB type).
OSGeo::FDO::Common::IStreamReader * | GetLOBStreamReader (System::String *name)
| Gets a reference of the specified LOB property as a BLOBStreamReader or CLOBStreamReader etc. to allow reading in blocks of data. Because no conversion is performed, the property must be DataType_BLOB or DataType_CLOB etc. (a LOB type) Cast the IStreamReader to the appropiate LOB Stream Reader.
System::String * | GetPropertyName (System::Int32 index)
| Gets the name of the property at the given ordinal position.
OSGeo::FDO::Schema::PropertyType | GetPropertyType (System::String *name)
| Gets the property type of a given property. This is used to indicate if a given property is a geometric property or a data property. If the property is a PropertyType_DataProperty, then GetDataType can be used to to find the data type of the property.
OSGeo::FDO::Raster::IRaster * | GetRaster (System::String *name)
| Gets the raster object of the specified property. Because no conversion is performed, the property must be of Raster type; otherwise, an exception is thrown.
System::Single | GetSingle (System::String *name)
| Gets the Single floating point value of the specified property. No conversion is performed, thus the property must be DataType_Single or an exception is thrown.
System::String * | GetString (System::String *name)
| Gets the string value of the specified property. No conversion is performed, thus the property must be DataType_String or an exception is thrown.
System::Boolean | IsNull (System::String *name)
| Returns true if the value of the specified property is null.
System::Boolean | ReadNext ()
| Advances the reader to the next item and returns true if there is another object to read or false if reading is complete. The default position of the reader is prior to the first item. Thus you must call ReadNext to begin accessing any data.
__property System::Void | set_Distinct (System::Boolean value)
| Set the distinct option of the selection. Non-simple properties such as object properties, geometry properties, raster properties, association properties, etc. will not be supported with Distinct.
__property System::Void | set_FeatureClassName (OSGeo::FDO::Expression::Identifier *value)
| Sets the name of the class to be operated upon as an Identifier.
__property System::Void | set_GroupingFilter (OSGeo::FDO::Filter::Filter *filter)
| Set the grouping by filter. Use the grouping filter to restrict the groups of returned properties to those groups for which the specified filter is TRUE. For example "order by city" and "min(lanes) = 2". The Filter have to evalute to a binary value(true or false).
__property System::Void | set_LockStrategy (OSGeo::FDO::Commands::Locking::LockStrategy value)
| Sets the LockStrategy value (see "Locking Commands").
__property System::Void | set_LockType (OSGeo::FDO::Commands::Locking::LockType value)
| Sets the LockType value (see "Locking Commands").
__property System::Void | set_OrderingOption (OSGeo::FDO::Commands::OrderingOption option)
| Set the ordering option of the selection. This is only used if the ordering collection is not empty.
System::Void | SetFeatureClassName (System::String *value)
| Sets the name of the class to be operated upon as an Identifier.
## Variables
public __gc __interface | IBaseSelect
public __gc __interface | IDataReader
public __gc __interface | IDelete
public __gc __interface | IFeatureReader
public __gc __interface | IInsert
public __gc __interface | IReader
public __gc __interface | ISelect
public __gc __interface | ISelectAggregates
public __gc __interface | IUpdate