Opened 13 years ago
Closed 12 years ago
#2004 closed defect (fixed)
Do not full schema walk on a Feature Source if we don't have to
Reported by: | jng | Owned by: | jng |
---|---|---|---|
Priority: | low | Milestone: | Maestro-5.0 |
Component: | Maestro | Version: | |
Severity: | trivial | Keywords: | |
Cc: | External ID: |
Description
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.
Note:
See TracTickets
for help on using tickets.
Fixed r6678, r6679, r6680 and r6748