<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.5450.4" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff 
size=2></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2>You are right. DescribeSchema is a major choke point for 
any code that calls it a lot. It should be cached whenever possible. That said, 
MapGuide is going to (or already has) some caching of the schemas, so it's not 
that critical for the provider to have a fast DescribeSchema, unless you are 
worried about&nbsp;code other than MapGuide. However, I would argue&nbsp;that 
competently written FDO code already avoids&nbsp;repeated calls&nbsp;to things 
like:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2>&nbsp; * DescribeSchema</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2>&nbsp; * GetSpatialContexts</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2>&nbsp; * 
FdoIFeatureReader::GetClassDefinition</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;* anything that converts FDO stuff to 
XML.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2>Traian</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=578463220-19092006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff 
size=2></FONT>&nbsp;</DIV><FONT face=Arial color=#0000ff size=2></FONT><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Haris Kurtagic [mailto:haris@sl-king.com] 
<BR><B>Sent:</B> Tuesday, September 19, 2006 4:25 PM<BR><B>To:</B> 
dev@mapguide.osgeo.org<BR><B>Subject:</B> [mapguide-dev] 
DescribeSchema<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006>Hi,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=625541520-19092006>Right now FDO 
command <FONT size=2>DescribeSchema is called many times while describing Data 
Store and in another cases.</FONT></SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=625541520-19092006>I have a question 
how should fdo provider react to this requests.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=625541520-19092006>Is it supposed that 
provider will cach schema or is it supposed to allow dinamicaly changing of 
schema (in underlaying RDBMS for example) or .. ?</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=625541520-19092006>Also as I see it, 
there is a lot of coping of fdo schema returned from provider inside server, so 
it is very time consuming.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=625541520-19092006>Not sure if I am 
looking right but it doesn't look good :)</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006>Haris</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=625541520-19092006></SPAN></FONT>&nbsp;</DIV></BODY></HTML>