[mapguide-trac] #2004: Do not full schema walk on a Feature Source if we don't have to

MapGuide Open Source trac_mapguide at osgeo.org
Tue May 15 03:02:05 EDT 2012


#2004: Do not full schema walk on a Feature Source if we don't have to
-----------------------+----------------------------------------------------
   Reporter:  jng      |       Owner:  jng        
       Type:  defect   |      Status:  new        
   Priority:  low      |   Milestone:  Maestro-5.0
  Component:  Maestro  |     Version:             
   Severity:  trivial  |    Keywords:             
External_id:           |  
-----------------------+----------------------------------------------------
 There are many instances in the Maestro code where a full schema walk is
 performed on a Feature Source (eg. To get a list of Feature Classes). Code
 where this occurs will slow down dramatically on really large datastores
 (resulting in timeouts most of the time).

 In such cases, we should really tap into FDO RFC23 functionality that is
 already encapsulated with existing APIs:

  * For listing schemas, use GetSchemas() instead of DescribeSchema() and
 iterating its Schema objects
  * For listing classes, using GetClasses() instead of DescribeSchema() and
 iterating the ClassDefinition objects of the selected schema
  * For fetching a class definition, use GetClassDefinition() instead of
 DescribeSchema() and searching for the matching class definition within
 it.
  * For fetching a partial schema, use DescribeSchema() with a list of
 class names to include.

 These APIs already exist in MapGuide (even pre-dating FDO RFC23), so the
 FDO RFC23 enhancements will transparently be available if supported.

-- 
Ticket URL: <http://trac.osgeo.org/mapguide/ticket/2004>
MapGuide Open Source <http://mapguide.osgeo.org/>
MapGuide Open Source Internals


More information about the mapguide-trac mailing list