<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:41096089;
        mso-list-type:hybrid;
        mso-list-template-ids:64542328 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level2
        {mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level4
        {mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level7
        {mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Hi Haris,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>One of the problems that the PostGIS provider user-community are
experiencing is a lack of development support from the community on some fairly
fundamental problems including connectivity, schema management, stability, and
unit testing. In all honestly, the current code base as it stands simply does
not meet the standards expected of a robust real-world deployment into a
customer site. In Orest&#8217;s email, he outlined a number of issues that have
been identified as road-blocks, and are not on anyone&#8217;s radar to address
in the 3.5 timeframe. While the GenericRDBMS code base is slightly more
complex, it has been proven to work, and work extremely well. Stability is not
an issue. Performance and schema management are sound. Memory management is
under control, etc. <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>If you strongly feel that the current code base is the better
option, how would address the fundamental problems seen in the current code
base, so that the provider could be successfully deployed to customer sites in
the 3.5 release timeframe?<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Things that still need a fair bit of work include:<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Creating new schema
and new data store<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Spatial filter
handling<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Huge memory leaks on
insert.<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Not all schema
commands are implemented.<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Enable and fix
transaction support.<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Constraint and
default values support.<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Lots of TODOs spread
all over the code<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>&middot;<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='color:#1F497D'>Virtually no unit
tests exist.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Greg<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
fdo-internals-bounces@lists.osgeo.org
[mailto:fdo-internals-bounces@lists.osgeo.org] <b>On Behalf Of </b>Haris
Kurtagic<br>
<b>Sent:</b> Monday, November 30, 2009 10:26 AM<br>
<b>To:</b> FDO Internals Mail List<br>
<b>Subject:</b> Re: [fdo-internals] FDO PostGIS provider developments<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>I wouldn't like to go to much into discussion about generic
rdbms stuff. I think that priority should be having good PostGIS provider which
we can get with current resources.<o:p></o:p></p>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>Just in short, when I started looking how to make provider
for Oracle, Generic RDBMS was first place to start looking. For me Generic
RDBMS was to complex , hard to work with and extend .&nbsp;Performance&nbsp;was
also bad.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>That was few years ago, I would assume that it has improved
since but still I am afraid that&nbsp;Autodesk would be only maintaner of that
code. That would be main reason why I would like to have current PostGIS
available, which has not only Autodesk developers which could work on it.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>Haris<o:p></o:p></p>

</div>

<div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>

<div>

<p class=MsoNormal>On Mon, Nov 30, 2009 at 2:36 PM, Zac Spitzer &lt;<a
href="mailto:zac.spitzer@gmail.com">zac.spitzer@gmail.com</a>&gt; wrote:<o:p></o:p></p>

<p class=MsoNormal>2009/12/1 Haris Kurtagic &lt;<a
href="mailto:haris@sl-king.com">haris@sl-king.com</a>&gt;:<o:p></o:p></p>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'>&gt; Is
it&nbsp;necessary&nbsp;to replace current version, can't that be another
version of<br>
&gt; provider ?<br>
&gt; I was never able to get comfortable with generic rdbms stuff. In my
opinion<br>
&gt; there are minuses too.<o:p></o:p></p>

</div>

<p class=MsoNormal>like?<o:p></o:p></p>

<div>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><br>
&gt; I would like to have option of current code base to be continued if there<br>
&gt; would be option at least for some time.<br>
&gt; Haris<br>
&gt;<br>
&gt; On Mon, Nov 30, 2009 at 2:14 AM, Orest Halustchak<br>
&gt; &lt;<a href="mailto:orest.halustchak@autodesk.com">orest.halustchak@autodesk.com</a>&gt;
wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Autodesk has had interest from Map3D customers who want to use the FDO<br>
&gt;&gt; PostGIS provider to access and edit data using Map3D and other
products.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; These customers have not been able to use this provider reliably with<br>
&gt;&gt; Map3D. We had a close look at the provider code to determine what work
would<br>
&gt;&gt; be needed to complete the implementation of schema and edit support
and fix<br>
&gt;&gt; other issues. Unfortunately, we found that the provider as it stands
today<br>
&gt;&gt; requires a lot of work to complete the implementation of required FDO<br>
&gt;&gt; interfaces and to add good unit test coverage. Things that still need
a fair<br>
&gt;&gt; bit of work include:<br>
&gt;&gt;<br>
&gt;&gt; &middot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creating new
schema and new datastore<br>
&gt;&gt;<br>
&gt;&gt; &middot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Spatial
filter handling<br>
&gt;&gt;<br>
&gt;&gt; &middot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Huge memory
leaks on insert.<br>
&gt;&gt;<br>
&gt;&gt; &middot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Not all
schema commands are implemented.<br>
&gt;&gt;<br>
&gt;&gt; &middot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Enable and
fix transaction support.<br>
&gt;&gt;<br>
&gt;&gt; &middot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Constraint
and default values support.<br>
&gt;&gt;<br>
&gt;&gt; &middot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lots of TODOs
spread all over the code<br>
&gt;&gt;<br>
&gt;&gt; &middot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Virtually no
unit tests exist.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; We looked at the level of effort needed to complete that work. It was<br>
&gt;&gt; quite high. So, we looked at an alternative. There exists an earlier
open<br>
&gt;&gt; source community code base for a PostGIS provider that was started a
couple<br>
&gt;&gt; of years ago but not finished. That code base used the generic rdbms<br>
&gt;&gt; framework that is shared with the SQL Server Spatial, MySQL, and ODBC<br>
&gt;&gt; providers. Most of the schema processing is handled with that shared
code.<br>
&gt;&gt; We spent some time working with the current provider and the other
code base<br>
&gt;&gt; to determine the most efficient way to get to a completed provider
that<br>
&gt;&gt; would be robust, perform well, and be maintainable.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; In the end, we determined that taking the earlier code base, adding<br>
&gt;&gt; support for the recent fdo interface changes, and completing other
parts<br>
&gt;&gt; that weren&#8217;t finished would take much less time. Also, based on
performance<br>
&gt;&gt; comparisons, we would get something that was much faster on inserts
and<br>
&gt;&gt; selects, e.g. the select performance is about six times faster and
schema<br>
&gt;&gt; describe is about three times faster. We couldn&#8217;t compare insert
times very<br>
&gt;&gt; well because the current provider kept crashing after a certain point
and we<br>
&gt;&gt; couldn&#8217;t insert a large number of features.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; So, what we would like to do is complete our work to get a working
PostGIS<br>
&gt;&gt; provider and then replace the current open source code with our new
copy.<br>
&gt;&gt; Note that we plan to use native PostGIS schema without adding
additional<br>
&gt;&gt; metadata tables just as the current provider does. It will be able to
read<br>
&gt;&gt; any schemas created by the current version of the provider and itself
will<br>
&gt;&gt; generate generic PostGIS schemas.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; We&#8217;ll need to submit an RFC for this, but we wanted to get this<br>
&gt;&gt; information out to you ahead of time.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; At the same time, we are planning to change the connection parameters
to<br>
&gt;&gt; separate out the database name from the service name. This will make
it<br>
&gt;&gt; easier for users. They can identify the service (e.g. localhost:5432),
and<br>
&gt;&gt; then see the available datastores from which they can choose in a UI.
Then,<br>
&gt;&gt; PostGIS schema simply will map to FDO schema. The main drawback to
this is<br>
&gt;&gt; that any users with existing MapGuide feature sources and layer
definitions<br>
&gt;&gt; will have to update them.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; In the end, we will end up with a good functioning provider that
performs<br>
&gt;&gt; well.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Regards,<br>
&gt;&gt;<br>
&gt;&gt; Orest.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; fdo-internals mailing list<br>
&gt;&gt; <a href="mailto:fdo-internals@lists.osgeo.org">fdo-internals@lists.osgeo.org</a><br>
&gt;&gt; <a href="http://lists.osgeo.org/mailman/listinfo/fdo-internals"
target="_blank">http://lists.osgeo.org/mailman/listinfo/fdo-internals</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; fdo-internals mailing list<br>
&gt; <a href="mailto:fdo-internals@lists.osgeo.org">fdo-internals@lists.osgeo.org</a><br>
&gt; <a href="http://lists.osgeo.org/mailman/listinfo/fdo-internals"
target="_blank">http://lists.osgeo.org/mailman/listinfo/fdo-internals</a><br>
&gt;<br>
&gt;<br>
<br>
<br>
<o:p></o:p></p>

</div>

</div>

<p class=MsoNormal><span style='color:#888888'>--<br>
Zac Spitzer<br>
Solution Architect / Director<br>
Ennoble Consultancy Australia<br>
<a href="http://www.ennoble.com.au" target="_blank">http://www.ennoble.com.au</a><br>
<a href="http://zacster.blogspot.com" target="_blank">http://zacster.blogspot.com</a><br>
+61 405 847 168</span><o:p></o:p></p>

<div>

<div>

<p class=MsoNormal>_______________________________________________<br>
fdo-internals mailing list<br>
<a href="mailto:fdo-internals@lists.osgeo.org">fdo-internals@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/fdo-internals" target="_blank">http://lists.osgeo.org/mailman/listinfo/fdo-internals</a><o:p></o:p></p>

</div>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</div>

</div>

</body>

</html>