FDO .NET API Reference Feature Data Objects

mgISelectAggregates.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2004-2006  Autodesk, Inc.
00003 * 
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 * 
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 * Lesser General Public License for more details.
00012 * 
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00016 *
00017 */
00018 
00019 #pragma once
00020 
00021 #include "FDO\Commands\Feature\mgIBaseSelect.h"
00022 
00023 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS
00024 public __gc class IdentifierCollection;
00025 END_NAMESPACE_OSGEO_FDO_COMMANDS
00026 
00027 BEGIN_NAMESPACE_OSGEO_FDO_FILTER
00028 public __gc class Filter;
00029 END_NAMESPACE_OSGEO_FDO_FILTER
00030 
00031 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00032 public __gc __interface IDataReader;
00033 
00034 /// \ingroup (OSGeoFDOCommandsFeature)
00035 /// \interface OSGeo::FDO::Commands::Feature::ISelectAggregates
00036 /// \brief
00037 /// The ISelectAggregate interface defines a Select command that handle selection of properties that include 
00038 /// the use of aggregate functions. This command differs from the ISelect command in a number of ways. 
00039 /// It handles selection of properties that are aggregate functions and supports selecting distinct property values. 
00040 /// It also includes grouping criteria. The execute method returns an IDataReader which is not tied to a specific class. 
00041 /// Unlike Select, ISelectAggregate does not include any locking functions.
00042 public __gc __interface ISelectAggregates : public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IBaseSelect
00043 {
00044 public:
00045     /// \brief
00046     /// Executes the select command and returns a reference to an IDataReader.
00047     /// 
00048     /// \return
00049     /// Returns the data reader.
00050     /// 
00051     NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IDataReader* Execute();
00052 
00053     /// \brief
00054     /// Set the distinct option of the selection. 
00055     /// Non-simple properties such as object properties, geometry properties, 
00056     /// raster properties, association properties, etc. will not be supported with Distinct.
00057     /// 
00058     /// \param value 
00059     /// true or false; when set to true, only distinct values are returned. 
00060     /// Otherwise all values are returned
00061     /// 
00062     /// \return
00063     /// Returns nothing
00064     /// 
00065     /// Note: Grouping criteria is not supported with Distinct. 
00066     __property System::Void set_Distinct(System::Boolean value);
00067 
00068     /// \brief
00069     /// Get the distinct option.
00070     /// 
00071     /// \return
00072     /// Returns true if distinct is set, false otherwise.
00073     /// 
00074     __property System::Boolean get_Distinct();
00075 
00076     /// \brief
00077     /// Gets the IdentifierCollection that holds the list of group by property names. 
00078     /// If empty no grouping is used. This list is initially empty and the 
00079     /// caller need to add the property that the command should use as a group by criteria. 
00080     /// No LOB or Geometry type properties can be used for ordering.
00081     /// 
00082     /// \return
00083     /// Returns the list of group by property names.
00084     /// 
00085     __property NAMESPACE_OSGEO_FDO_COMMANDS::IdentifierCollection* get_Grouping();
00086 
00087     /// \brief
00088     /// Set the grouping by filter. Use the grouping filter to restrict 
00089     /// the groups of returned properties to those groups for 
00090     /// which the specified filter is TRUE. For example "order by city" 
00091     /// and  "min(lanes) = 2". The Filter have to evalute to a 
00092     /// binary value(true or false).
00093     /// 
00094     /// \param filter 
00095     /// The grouping filter.
00096     /// 
00097     /// \return
00098     /// Returns nothing
00099     /// 
00100     __property System::Void set_GroupingFilter(NAMESPACE_OSGEO_FDO_FILTER::Filter* filter);
00101 
00102     /// \brief
00103     /// Gets the grouping by filter.
00104     /// 
00105     /// \return
00106     /// Returns the grouping filter.
00107     /// 
00108     __property NAMESPACE_OSGEO_FDO_FILTER::Filter* get_GroupingFilter();
00109 };
00110 
00111 END_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00112 
00113 

Comments or suggestions? Send us feedback.