.NET API Reference | OSGeo FDO Provider for MySQL |
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? |