00001 /*! \mainpage Introduction
00002 <div class="mainpage">
00003 <!-- This is the index.html page that the user first sees. -->
00004
00005 <p>The Feature Data Objects (FDO) API provides access to data in a
00006 data store. A provider is a specific implementation of the FDO API
00007 that provides access to data in a particular data store. The FDO
00008 Provider for MySQL provides FDO with access to a MySQL-based data store.
00009 </p>
00010
00011 <p>MySQL 5.0.22 and later is supported. You can create, edit, and delete MySQL
00012 data stores and schemas, or you can access existing databases in MySQL that
00013 were created by other applications. The FDO Provider for MySQL supports native
00014 MySQL geometry, indexing, two-dimensional geometry (compatible with the OGC
00015 Simple Feature specificaton), and spatial query operations, but not
00016 transactions. Auto-generated properties are auto-incremented. MySQL uses a
00017 revision number for optimistic concurrency.
00018 </p>
00019
00020 \note
00021 If you cannot connect to your MySQL data source and you receive the error
00022 message, "Specified credentials are not valid or the provider is unable to
00023 establish a connection," copy the libmySQL.dll file into the \FDO\bin folder
00024 under the Autodesk product install folder to resolve the problem.
00025
00026 <p>
00027 A MySQL schema can support the following:
00028 </p>
00029 <ul>
00030 <li>Inheritance
00031 <li>Multiple schemas
00032 <li>Object properties
00033 <li>Association properties
00034 <li>Schema overrrides
00035 <li>Auto ID generation
00036 <li>Null value constraints
00037 <li>Unique value constraints
00038 <li>Composite unique value constraints
00039 <li>Spatial contexts
00040 <li>These geometry types: point, line string, polygon,multi-point, multi-line
00041 string, multi-polygon, curve string, curve polygon, multi-curve string,
00042 multi-curve polygon, linear ring, line string segment, circular arc segment,
00043 and ring.
00044 </ul>
00045
00046 <p>When you create a MySQL schema, the following restrictions apply:
00047 </p>
00048 <ul>
00049 <li>A feature class must define or inherit at least one identity property.
00050 <li>You cannot specify default values for data properties.
00051 <li>Inclusive value range constraints are not supported.
00052 <li>Identity properties cannot be nullable.
00053 <li>Read-only identity properties must be autogenerated.
00054 <li>A feature class can have multiple geometric properties; main geometry is
00055 not mandatory, but this attribute of the feature class indicates which
00056 geometry property to use as the default for queries and rendering. HasMeasure
00057 and HasElevation are supported.
00058 <li>The maximum length of a string is 65,535 bytes.
00059 <li>For decimal properties, precision must be between 1 and 65 inclusive and
00060 scale must be between 0 and 30 inclusive.
00061 </ul>
00062
00063
00064 <p>The FDO Provider for MySQL API provides custom commands that are
00065 specifically designed to work with the FDO API. For example, using
00066 these commands, you can do the following:
00067
00068 </p>
00069 <ul>
00070 <li> Gather information about a provider.</li>
00071 <li> Transmit client services exceptions.</li>
00072 <li> Get lists of accessible data stores.</li>
00073 <li> Create connection objects.</li>
00074 <li> Create and execute spatial queries.</li>
00075 </ul>
00076 <p>There is also support for spatial data types.
00077 </p>
00078
00079 <p>The MySQL architecture supports different storage engines. Choose an
00080 engine as needed, depending on its characteristics and capabilities, such as the following:
00081 </p>
00082 <ul>
00083 <li> MyISAM is a disk-based storage engine. It does not
00084 support transactions.</li>
00085 <li> InnoDB is a disk-based storage engine. It has full ACID transaction
00086 capability.</li>
00087 <li> Memory (Heap) is a storage engine utilizing only RAM. It
00088 is very fast.</li>
00089 <li> BDB is the Berkley DB storage engine. It supports transactions.</li>
00090 <li> NDB is the MySQL Cluster storage engine.</li>
00091 <li> MERGE is a variation of MyISAM. A MERGE table is a
00092 collection of identical MyISAM tables, which means that
00093 all tables have the same columns, column types, indexes, and so on.</li>
00094 </ul>
00095 <p>
00096 For more information, see <i>The Essential FDO</i> (FET_TheEssentialFDO.pdf)
00097 and the <i>FDO Developer's Guide</i> (FDG_FDODevGuide.pdf).
00098 </p>
00099
00100 <br>
00101 </div>
00102 */
00103
00104
00105
00106