<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:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="&#1;" 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:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@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;}
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;}
-->
</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 Zac,<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'>FDO does have a concept of datastore. There are FDO commands to
create, destroy, and list datastores. A datastore is also what you open with
the connection command. It plays a role. My example is meant to show a case of
two separate FDO datastores that for an rdbms are managed by one rdbms server.<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'>Thanks,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Orest.<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>Zac Spitzer<br>
<b>Sent:</b> Wednesday, October 28, 2009 9:15 AM<br>
<b>To:</b> FDO Internals Mail List<br>
<b>Subject:</b> Re: [fdo-internals] RE: [mapguide-internals] FDO RFC 43 -
Standard FDO Class Naming Conventions<o:p></o:p></span></p>

</div>

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

<p class=MsoNormal>inline <br>
<br>
On Wed, Oct 28, 2009 at 11:56 PM, Orest Halustchak &lt;<a
href="mailto:orest.halustchak@autodesk.com">orest.halustchak@autodesk.com</a>&gt;
wrote:<o:p></o:p></p>

<div>

<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>

<p class=MsoNormal>Hi,<br>
<br>
Note that there is another qualifier that should be taken into account in these
discussions and that is the datastore name. There are really three levels of
qualification: datastore name, schema name, class name. So, cases where it is
suggested to use the file name as the schema name, if the file name is already
used for the datastore name, it doesn't have to be used again for the schema
name.<o:p></o:p></p>

</blockquote>

<div>

<p class=MsoNormal><br>
My understanding is that FDO has no concept of datastore, it starts with schema's
<br>
<br>
datastore is defined at the FDO connection level, why squeeze three levels into
<br>
a two tier structure?<br>
<br>
&nbsp;<o:p></o:p></p>

</div>

<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>

<p class=MsoNormal>An issue with rdbms is that some such as SQL Server include
the three levels of database, schema, and table. Others such as Oracle do not.
So in the Oracle case if we map the datastore name to the Oracle user/schema,
then we should not also use Oracle user/schema for FDO schema.<br>
<br>
Consider this example.<br>
&nbsp; &nbsp; &nbsp; &nbsp;FDO Datastore = CityOfNewYork<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FDO Schema = LandBase<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;Class = Parcel<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;Class = Road<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FDO Schema = Water<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;Class = Pipe<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;Class = Valve<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FDO Schema = Gas<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;Class = Pipe<br>
<br>
&nbsp; &nbsp; &nbsp; &nbsp;FDO Datastore = CityOfAlbany<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Same schemas and classes<br>
<br>
We don't want to mix up the parcels from CityOfNewYork with the parcles from
CityOfAlbany, those should be in separate tables. Having the Oracle schema name
as LandBase, Water, and Gas doesn't handle this.<o:p></o:p></p>

</blockquote>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><br>
but that is a problem already solved when you follow the other way other <br>
database access layers work????<br>
<br>
based on the connection details, either by specifying a datastore, or not <br>
Pipe would only be accessible if it was the default for the user or the for <br>
specified datastore. There is a implied concept of the default schema?<br>
<br>
if there's no default and two schemas means there are no schema less tables <br>
to enumerate<br>
<br>
This is how databases normally work in my experience which is all I'm trying<br>
to suggest with this RFC.<o:p></o:p></p>

</div>

<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>

<p class=MsoNormal>Also, about the ~ColumnName convention being used for
geometry columns, note that FDO does allow more than one geometry column per
class with one flagged as the main geometry. I wouldn't want to require that
these have to be exposed as separate feature classes.<o:p></o:p></p>

</blockquote>

<div>

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

</div>

<blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in'>

<p class=MsoNormal><br>
Thanks,<br>
<span style='color:#888888'>Orest.</span><o:p></o:p></p>

<div>

<div>

<p class=MsoNormal><br>
-----Original Message-----<br>
From: <a href="mailto:fdo-internals-bounces@lists.osgeo.org">fdo-internals-bounces@lists.osgeo.org</a>
[mailto:<a href="mailto:fdo-internals-bounces@lists.osgeo.org">fdo-internals-bounces@lists.osgeo.org</a>]
On Behalf Of Haris Kurtagic<br>
Sent: Wednesday, October 28, 2009 6:07 AM<br>
To: 'FDO Internals Mail List'<br>
Subject: [fdo-internals] RE: [mapguide-internals] FDO RFC 43 - Standard FDO
Class Naming Conventions<br>
<br>
there is another important case which is not covered in RFC.<br>
Same table name in multiple schemas. Also, how to not mess up when users<br>
logs using different credentials.<br>
<br>
One way to solve that could be to always use rdbms schema name as fdo schema<br>
name.<br>
<br>
I believe it is absolutely necessary that application using FDO to access<br>
rdbms can be sure exactly which table and column it is accessing.<br>
Because what FDO provider sees when connects to rdbms can change regarding<br>
which credentials are used to connect to rdbms. That menas that on same<br>
database it can see only one table, or two tables (same name) in two schemas<br>
or even one or more geometry columns in table.<br>
<br>
I am not keen on current naming in King.Oracle with this ~ sign, but I am<br>
very pleased that when using King.Oracle and FDO class trough it, I know<br>
every time exactly which Oracle schema, table and column I am hitting.<br>
<br>
<br>
<br>
<br>
Just when wanted to finish something else from RFC:<br>
&quot;Class names for databases are normally tablename, unless qualified which<br>
then has ~COLUMN_NAME appended. (if the are multiple geometries, FDO<br>
requires to know which one is the identifier)&quot;<br>
<br>
In King.Oracle ~COLUMN_NAME is appened to make sure resulting name would be<br>
unique. Which actuall oracle column is used is not parsed from name of class<br>
but it is kept inside provider. ~COLUMN_NAME could be anything.<br>
<br>
<br>
Haris<br>
<br>
-----Original Message-----<br>
From: <a href="mailto:mapguide-internals-bounces@lists.osgeo.org">mapguide-internals-bounces@lists.osgeo.org</a><br>
[mailto:<a href="mailto:mapguide-internals-bounces@lists.osgeo.org">mapguide-internals-bounces@lists.osgeo.org</a>]
On Behalf Of Zac Spitzer<br>
Sent: Wednesday, October 28, 2009 9:45 AM<br>
To: FDO Internals Mail List; MapGuide Internals Mail List<br>
Subject: [mapguide-internals] FDO RFC 43 - Standard FDO Class Naming<br>
Conventions<br>
<br>
I have posted RFC 43 for review<br>
<br>
<a href="http://trac.osgeo.org/fdo/wiki/FDORfc43" target="_blank">http://trac.osgeo.org/fdo/wiki/FDORfc43</a><br>
<br>
--<br>
Zac Spitzer -<br>
<a href="http://zacster.blogspot.com" target="_blank">http://zacster.blogspot.com</a><br>
+61 405 847 168<br>
_______________________________________________<br>
mapguide-internals mailing list<br>
<a href="mailto:mapguide-internals@lists.osgeo.org">mapguide-internals@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/mapguide-internals"
target="_blank">http://lists.osgeo.org/mailman/listinfo/mapguide-internals</a><br>
<br>
_______________________________________________<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><br>
_______________________________________________<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>

</blockquote>

</div>

<p class=MsoNormal><br>
<br clear=all>
<br>
-- <br>
Zac Spitzer -<br>
<a href="http://zacster.blogspot.com">http://zacster.blogspot.com</a><br>
+61 405 847 168<o:p></o:p></p>

</div>

</body>

</html>