[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