OSGeo FDO Provider for MySQL API Reference

OSGeo FDO Provider for MySQL API

API Reference OSGeo FDO Provider for MySQL

define_pages.h

Go to the documentation of this file.
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 

Comments?