OSGeo FDO Provider for MySQL .NET API Reference

From 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-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 
00020 #pragma once
00021 
00022 class FdoMySQLOvClassDefinition;
00023 
00024 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE
00025 public __gc class OvClassDefinition;
00026 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE
00027 
00028 BEGIN_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL
00029 
00030 public __gc class OvPropertyDefinitionCollection;
00031 public __gc class OvTable;
00032 public __gc class OvGeometricColumn;
00033 
00034 ///<summary>Concrete class defining physical schema overrides for a class definition.</summary>
00035 public __gc class OvClassDefinition : public NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE::OvClassDefinition
00036 {
00037 public private:
00038     FdoMySQLOvClassDefinition* GetImpObj();
00039     
00040     OvClassDefinition(System::IntPtr unmanaged, System::Boolean autoDelete);
00041 
00042 public:
00043     ///<summary>Constructs a default of an OvClassDefinition</summary>
00044     /// <returns>Returns OvClassDefinition</returns>
00045     OvClassDefinition();
00046 
00047     ///<summary>Constructs an instance of an OvClassDefinition using the specified arguments</summary>
00048     /// <param name="name">Input name</param>
00049     /// <returns>Returns OvClassDefinition</returns>
00050     OvClassDefinition(System::String* name);
00051 
00052     ///<summary>Gets a collection of MySQL property overrides</summary>
00053     /// <returns>Returns the collection of MySQL property overrides</returns>
00054     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL::OvPropertyDefinitionCollection* get_Properties();
00055 
00056     ///<summary>Gets the MySQL table override for this class override</summary>
00057     /// <returns>Returns OvTable</returns>
00058     __property NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL::OvTable* get_Table();
00059 
00060     ///<summary>Sets the MySQL table override for this class override</summary>
00061     /// <param name="name">Input MySQL table override</param>
00062     /// <returns>Returns nothing</returns>
00063     __property System::Void set_Table(NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL::OvTable* table);
00064    
00065     ///<summary>Which FDO property maps to an MySQL auto-increment column, if any.</summary>
00066     /// <remarks>An empty string indicates
00067     /// there is no such column on this class’s table.  There can only be at most one auto-increment column
00068     /// per table, it must be indexed, and it cannot have a default value.  As of MySQL 3.23, an AutoIncrement
00069     /// column works properly only if it contains only positive values.  Inserting a negative number is
00070     /// regarded as inserting a very large positive number.  For MyISAM and BDB tables, you can specify an
00071     /// AUTO_INCREMENT secondary column in a multiple-column key.  The first value in an AutoIncrement column
00072     /// is always 1 and always increments by 1 for each new value.  This override is ignored on ApplySchema if
00073     /// this class refers to an existing table in a foreign database.
00074     /// </remarks>
00075     /// <param name="name"></param>
00076     /// <returns>Returns nothing</returns>
00077     __property System::Void set_AutoIncrementPropertyName(System::String* autoIncrementPropertyName);
00078 
00079     ///<summary>Gets which FDO property corresponds to the single MySQL auto-increment column</summary>
00080     /// <returns>Returns the FDO property corresponding to the single MySQL auto-increment column,
00081     /// or an empty string if there is no such property</returns>
00082     __property System::String* get_AutoIncrementPropertyName();
00083 
00084     ///<summary>The initial value to use for the first row in the auto-increment column, if any.</summary>
00085     /// <remarks>This override is only valid if the AutoIncrementProperty override is set to a non-empty string.
00086     /// This works only for the following storage engine types: MyISAM, MEMORY as of MySQL 4.1, and InnoDB
00087     /// as of MySQL 5.0.3.  This override is ignored on ApplySchema if this table is an existing table in
00088     /// a foreign database.
00089     /// </remarks>
00090     /// <returns>Returns the initial value to use for the first row in the auto-increment column</returns>
00091     __property System::Int64 get_AutoIncrementSeed();
00092 
00093     ///<summary>Sets the initial value to use for the first row in the auto-increment column, if any</summary>
00094     /// <returns>Returns nothing</returns>
00095     __property System::Void set_AutoIncrementSeed(System::Int64 autoIncrementSeed);
00096 
00097 };
00098 
00099 END_NAMESPACE_OSGEO_FDO_PROVIDERS_RDBMS_OVERRIDE_MYSQL

Comments?