OSGeo FDO Provider for MySQL .NET API Reference

OSGeo FDO MySQL .NET API

.NET API Reference OSGeo FDO Provider for MySQL

mgOvClassDefinition.h

Go to the documentation of this file.
00001 //
00002 // Copyright (C) 2004-2008  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 #pragma once
00019 
00020 class FdoSqlServerOvClassDefinition;
00021 
00022 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL
00023 public __gc class OvPropertyDefinitionCollection;
00024 public __gc class OvTable;
00025 public __gc class OvGeometricColumn;
00026 
00027 ///<summary>Concrete class defining physical schema overrides for a class definition.</summary>
00028 public __gc class OvClassDefinition : public NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition
00029 {
00030 public:
00031     ///<summary>Constructs a default of an NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition</summary>
00032     OvClassDefinition();
00033 
00034     ///<summary>Constructs an instance of an NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvClassDefinition using the specified arguments</summary>
00035     /// <param name="name">Input name</param>
00036     OvClassDefinition(System::String* name);
00037 
00038     ///<summary>Gets a collection of SqlServer property overrides</summary>
00039     /// <returns>Returns the collection of SqlServer property overrides</returns>
00040     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvPropertyDefinitionCollection* get_Properties();
00041 
00042     ///<summary>Gets the SqlServer table override for this class override</summary>
00043     /// <returns>Returns NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable</returns>
00044     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable* get_Table();
00045 
00046     ///<summary>Sets the SqlServer table override for this class override</summary>
00047     /// <param name="name">Input SqlServer table override</param>
00048     /// <returns>Returns nothing</returns>
00049     __property System::Void set_Table(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL::OvTable* table);
00050    
00051     ///<summary>Specifies which FDO property corresponds to the single SqlServer IDENTITY column.
00052     /// This property corresponds to the singleton IDENTITY column of the SQL Server table.
00053     /// This is not to be confused with the usual FDO identity properties, which instead 
00054     /// correspond to the primary key of a SQL Server table.
00055     /// </summary>
00056     /// <param name="name">Input SqlServer identity property name override.
00057     /// An empty string means there is no identity column for this class.</param>
00058     /// <returns>Returns nothing</returns>
00059     __property System::Void set_IdentityPropertyName(System::String* identityPropertyName);
00060 
00061     ///<summary>Gets which FDO property corresponds to the single SqlServer IDENTITY column</summary>
00062     /// <returns>Returns the FDO property corresponding to the single SqlServer IDENTITY column,
00063     /// or an empty string if there is no such property</returns>
00064     __property System::String* get_IdentityPropertyName();
00065 
00066     ///<summary>Retrieves the identity column's type, whether it is a non-globally-unique
00067     /// identity column or a globally-unique identity column.</summary>
00068     /// <remarks>Non-globally-unique identity columns have their value
00069     /// automatically populated by SQL Server on insert; the first value is set to the specified
00070     /// IdentitySeed, and all subsequent values are set using the specified IdentityIncrement.
00071     /// If defining such a column during ApplySchema, it must be one of the following SQL Server
00072     /// native data types: decimal, int, numeric, smallint, bigint, or tinyint.  Note that the
00073     /// “not for replication?identity column flag is not exposed.  Also note that the identifier
00074     /// column must not be nullable and must not contain a default value.
00075     /// Globally-unique identity columns do not have their value automatically populated by SQL Server.
00076     /// Instead SQL Server relies on the default value or the user to populate this value.  To have
00077     /// this value populated automatically on insert, the user should set the default value to use the
00078     /// NEWID() function to obtain a globally-unique identity value.
00079     /// This override is ignored on ApplySchema if this column belongs to an existing table in a
00080     /// foreign database.  This override is also ignored if IdentityPropertyName is not specified.
00081     /// </remarks>
00082     /// <returns>Returns the type of the single IDENTITY column, if it exists</returns>
00083     __property System::Boolean get_IdentityIsGloballyUnique();
00084 
00085     ///<summary>Set the type of the single IDENTITY column, if it exists</summary>
00086     /// <returns>Returns nothing</returns>
00087     __property System::Void set_IdentityIsGloballyUnique(System::Boolean isGloballyUnique);
00088 
00089     ///<summary>Sets the first value to use for the identity column, if there is one.</summary>
00090     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if
00091     /// this column belongs to an existing table in a foreign database.  This override is also
00092     /// ignored if IdentityPropertyName is not specified.</remarks>
00093     /// <returns>Returns the first value to use for the identity column</returns>
00094     __property System::Int32 get_IdentitySeed();
00095 
00096     ///<summary>Gets the first value to use for the identity column, if there is one.</summary>
00097     /// <returns>Returns nothing</returns>
00098     __property System::Void set_IdentitySeed(System::Int32 identitySeed);
00099 
00100     ///<summary>Gets the increment value to use for the identity column, if there is one.</summary>
00101     /// <remarks>This override defaults to 1.  This override is ignored on ApplySchema if this
00102     /// column belongs to an existing table in a foreign database.  This override is also ignored
00103     /// if IdentityPropertyName is not specified.</remarks>
00104     /// <returns>Returns the increment value to use for the identity column</returns>
00105     __property System::Int32 get_IdentityIncrement();
00106 
00107     ///<summary>Sets the increment value to use for the identity column, if there is one.</summary>
00108     /// <returns>Returns nothing</returns>
00109     __property System::Void set_IdentityIncrement(System::Int32 identityIncrement);
00110 
00111 public private:
00112     OvClassDefinition(System::IntPtr unmanaged, System::Boolean autoDelete);
00113 
00114     inline FdoSqlServerOvClassDefinition* GetImpObj();
00115 };
00116 
00117 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_SQLSERVERSPATIAL

Comments?