- Main Page
- Classes
- Files

# 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

Please send us your comment about this page