<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="" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {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'>See inline, ([BR] heading).<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </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> Thursday, October 29, 2009 8:31 PM<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> </o:p></p>
<p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p>
<div>
<p class=MsoNormal>On Fri, Oct 30, 2009 at 1:10 AM, Brent Robinson <<a
href="mailto:brent.robinson@autodesk.com">brent.robinson@autodesk.com</a>>
wrote:<o:p></o:p></p>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Hi Zac,</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>I had a look at RFC 43 and had a
few questions regarding the MySQL provider:</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
margin-left:.5in'><span style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p style='margin-left:29.25pt'><span style='font-size:11.0pt;color:#1F497D'>1.</span><span
style='font-size:7.0pt;color:#1F497D'> </span><span
style='font-size:11.0pt;color:#1F497D'>Do the naming conventions apply only to
MySQL databases that do not have FDO MetaData? </span><o:p></o:p></p>
</div>
</div>
<div>
<p class=MsoNormal>FDO meta data describes a secondary set, I would assume the
underlying tables would be always <br>
exposed in the same fashion..<span style='color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>[BR] – The metadata also describes the mappings between
tables and FDO Schemas and classes, so it would affect how the tables are
exposed. These mappings should continue to be supported if any users are taking
advantage of them.<o:p></o:p></span></p>
<p class=MsoNormal> <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'>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
margin-left:.5in'><span style='font-size:11.0pt;color:#1F497D'> 2.</span><span
style='font-size:7.0pt;color:#1F497D'> </span><span
style='font-size:11.0pt;color:#1F497D'>For the statement: </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
margin-left:1.0in'><span style='font-size:11.0pt;color:#1F497D'>“MySql?
returns schema:tablename or if connected as "schema" then just
tablename”</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
margin-left:1.0in'><span style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
margin-left:.5in'><span style='font-size:11.0pt;color:#1F497D'>Is
“schema” equivalent to a MySQL database?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class=MsoNormal>That was my intention, I rarely use MySQL myself.. similiar
to the oracle n sql server discussions <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'>
<div>
<div>
<p style='margin-left:29.25pt'><span style='font-size:11.0pt;color:#1F497D'> 3.</span><span
style='font-size:7.0pt;color:#1F497D'> </span><span
style='font-size:11.0pt;color:#1F497D'>For the case where the tables are
exposed as in an empty schema, would that mean that the DescribeSchema command
would return a Feature Schema with blank name? Or would there be a special name
to represent the empty schema (e.g. “default” or “none”).</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class=MsoNormal>thats a really good question! We would want it describable
if it's accessible, blank doesn't seem quite right,<br>
but it does imply the default or none or current... <span style='color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>[BR] – Agreed. Having a special name for the empty schema
would be preferable to blank.<o:p></o:p></span></p>
<p class=MsoNormal><br>
<br>
the unqualified name is a synonym for current_user.table_name <br>
<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'>
<div>
<div>
<p style='margin-left:29.25pt'><span style='font-size:11.0pt;color:#1F497D'>4.</span><span
style='font-size:7.0pt;color:#1F497D'> </span><span
style='font-size:11.0pt;color:#1F497D'>What sort of problems are you currently
encountering without these naming conventions being in place?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class=MsoNormal>As jackie mentioned at the top to the thread, the same data
loaded under a different provider appears different <br>
and thus cannot be just accessed without provider specific knowledge and coding
workarounds<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'>
<div>
<div>
<p style='margin-left:47.25pt'><span style='font-size:11.0pt;color:#1F497D'> a.</span><span
style='font-size:7.0pt;color:#1F497D'> </span><span
style='font-size:11.0pt;color:#1F497D'>Problems copying schemas and features
between providers?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class=MsoNormal>yes <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'>
<div>
<div>
<p style='margin-left:47.25pt'><span style='font-size:11.0pt;color:#1F497D'>b.</span><span
style='font-size:7.0pt;color:#1F497D'> </span><span
style='font-size:11.0pt;color:#1F497D'>Problems generating statements for the
ISQLCommand?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class=MsoNormal>yes <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'>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>and a general question: are the
conventions intended as standards for all DBMS or file base providers or just
the ones mentioned in the RFC?</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class=MsoNormal>It is intended as a standard for all providers, I have
updated the RFC to reflect that <o:p></o:p></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>[BR] – These are good for the more general providers but applying
as a standard for all providers might be too restrictive in some cases. At one
site I worked at in the past, all of the production data was in a single Oracle
user. Tables were grouped into schemas where table name was essentially:<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><schema_name>_<class_name><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>In this case, they would probably prefer to expose the
water_pipe and sewer_pipe tables as water:pipe and sewer:pipe, rather than default:water_pipe
and default:sewer_pipe. On the downside, this may expose them to the problems
that you and Jack encountered, but I still think they should have the latitude
to make these design trade-offs.<o:p></o:p></span></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'>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>If the answer to question 2 is yes then
the MySQL provider is currently close. The feature schema name is:</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
margin-left:.5in'><span style='font-size:11.0pt;color:#1F497D'>FDO<database_name></span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
margin-left:.5in'><span style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>FDO is prepended to the database name to
handle a particular use case which, in hindsight, is not likely very common
(I’ll describe the use case details later). This prefix could therefore
be dropped from the feature schema name. </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Exposing tables in the current database
in an empty schema sounds reasonable conceptually. Some users might not
necessarily separate each logical schema into a different MySQL database; a
database might simply have a collection of tables not tied to a particular schema.
I have a few implementation concerns but I’ll wait for the answer to
question 3.</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Switching to the SQLServerSpatial
provider, when the database has no FDO Metadata, each SQL Server schema is
presented as an FDO Feature Schema. No special handling is done for the dbo
schema. I was curious as to why the dbo schema would be non-portable. It would
be an unusual name for a logical schema but could be copied to a provider, such
as SDF, without having to rename it. </span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class=MsoNormal>dbo implies the unqualified schema naming and is meaningless
out side sql server.. <br>
<br>
<span style='color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>[BR] – At the SQL Server level, the default schema can be
set per-user. If connected as a user with “land” as the default
schema, then<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>select * from parcel;<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>would go against the land.parcel table, rather than dbo.parcel. <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>If the unqualified schema naming at the FDO level is suppose to
mirror what happens at the user level, I’d be hesitant to introduce it
into the SQLServerSpatial provider since the corresponding FDO schema name for
a table could differ depending on which user connects. <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><br>
ie a database called dbo on mysql or an oracle user called dbo <br>
<br>
<span style='color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>[BR] –it is possible to create both. If a dbo schema is
copied to mysql or oracle, changing the name would be problematic . Since dbo
is not always the default schema, there would not be an obvious name to change
it to. <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><br>
challenging problem<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'>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Getting back to the user case mentioned
above, it would be the case where the schema is copied from a MySQL database
without FDO MetaData to a database with Metadata, where the two databases have
the same name but are in different servers. The FDO-enabled databases have a
special feature schema (with same name as the database) which stores the datastore
descriptions. This schema is not directly modifiable so the copy would fail if
the feature schema being copied is named after the source database. To handle
this, the FDO prefix was added to the schema name. However, as mentioned above,
this use case is not likely very common.</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class=MsoNormal>If you are using meta data, maybe turning it around and
exposing metadata under FDO, also not very pretty <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'>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Brent.</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
margin-left:.5in'><span style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;
border-color:-moz-use-text-color -moz-use-text-color'>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:10.0pt'>From:</span></b><span style='font-size:10.0pt'> <a
href="mailto:fdo-internals-bounces@lists.osgeo.org" target="_blank">fdo-internals-bounces@lists.osgeo.org</a>
[mailto:<a href="mailto:fdo-internals-bounces@lists.osgeo.org" target="_blank">fdo-internals-bounces@lists.osgeo.org</a>]
<b>On Behalf Of </b>Zac Spitzer<br>
<b>Sent:</b> Wednesday, October 28, 2009 10:28 PM<o:p></o:p></span></p>
<div>
<div>
<p class=MsoNormal><span style='font-size:10.0pt'><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>
</div>
</div>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'>would
introducing the concept of a default schema resolve the issue of multiple <br>
tables having the same name in different schemas? ie GetDefaultSchema()<br>
<br>
Sorry about my confusion about the datastore stuff, my FDO experience <br>
is predominately from working with MapGuide which doesn't expose them.<br>
<br>
Datastores (databases/instances) also are potentially named differently, <br>
where as a schema tends to be more consistant.<br>
<br>
If we introduce datastores into FDO Class names I fear things will become<br>
even more inconsistent. It's easy enough to change the name of a schema,<br>
but renaming a database is a much bigger change.<br>
<br>
As I described in the Proposed Test case:<br>
"Expose the Sheboygan dataset via FDO matching the standard
conventions"<br>
<br>
is all about achieving the goal of making FDO provider agnostic<br>
<br>
SQL server does present a challenge here with it's three levels, but it if it <br>
has schema shouldn't we present them as schema's? well no because then<br>
we will be oft returning dbo which is completely non portable.<br>
<br>
z<o:p></o:p></p>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>On
Thu, Oct 29, 2009 at 12:21 PM, Zac Spitzer <<a
href="mailto:zac.spitzer@gmail.com" target="_blank">zac.spitzer@gmail.com</a>>
wrote:<o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>sounds
like another RFC ?<o:p></o:p></p>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'> <o:p></o:p></p>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>On
Thu, Oct 29, 2009 at 1:04 AM, Orest Halustchak <<a
href="mailto:orest.halustchak@autodesk.com" target="_blank">orest.halustchak@autodesk.com</a>>
wrote:<o:p></o:p></p>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Hi,</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>I’d also like to add a comment
about something that Haris said in a separate reply.</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p style='margin-left:.5in'><span style='font-family:Wingdings'>Ø</span><span
style='font-size:7.0pt'> </span>Perhaps, providers could return
additional info about names of newly created classes.<o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>I think that’s a good idea, maybe
a way for ApplySchema to return information about anything that was changed
from the user’s input.</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Thanks,</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Orest.</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<div>
<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;
border-color:-moz-use-text-color'>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:10.0pt'>From:</span></b><span style='font-size:10.0pt'> <a
href="mailto:fdo-internals-bounces@lists.osgeo.org" target="_blank">fdo-internals-bounces@lists.osgeo.org</a>
[mailto:<a href="mailto:fdo-internals-bounces@lists.osgeo.org" target="_blank">fdo-internals-bounces@lists.osgeo.org</a>]
<b>On Behalf Of </b>Orest Halustchak<br>
<b>Sent:</b> Wednesday, October 28, 2009 9:39 AM</span><o:p></o:p></p>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:10.0pt'><br>
<b>To:</b> FDO Internals Mail List</span><o:p></o:p></p>
</div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:10.0pt'>Subject:</span></b><span style='font-size:10.0pt'> RE:
[fdo-internals] RE: [mapguide-internals] FDO RFC 43 - Standard FDO Class Naming
Conventions</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Hi Zac,</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;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.</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Thanks,</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'>Orest.</span><o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;
border-color:-moz-use-text-color'>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><b><span
style='font-size:10.0pt'>From:</span></b><span style='font-size:10.0pt'> <a
href="mailto:fdo-internals-bounces@lists.osgeo.org" target="_blank">fdo-internals-bounces@lists.osgeo.org</a>
[mailto:<a href="mailto:fdo-internals-bounces@lists.osgeo.org" target="_blank">fdo-internals-bounces@lists.osgeo.org</a>]
<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</span><o:p></o:p></p>
</div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>inline
<br>
<br>
On Wed, Oct 28, 2009 at 11:56 PM, Orest Halustchak <<a
href="mailto:orest.halustchak@autodesk.com" target="_blank">orest.halustchak@autodesk.com</a>>
wrote:<o:p></o:p></p>
<div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>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 style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><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>
<o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>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>
FDO Datastore = CityOfNewYork<br>
FDO Schema = LandBase<br>
Class = Parcel<br>
Class = Road<br>
FDO Schema = Water<br>
Class = Pipe<br>
Class = Valve<br>
FDO Schema = Gas<br>
Class = Pipe<br>
<br>
FDO Datastore = CityOfAlbany<br>
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='mso-margin-top-alt:auto;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 windowtext 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>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 style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><br>
<br>
<o:p></o:p></p>
</div>
<blockquote style='border:none;border-left:solid windowtext 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt;
border-color:-moz-use-text-color -moz-use-text-color -moz-use-text-color rgb(204, 204, 204)'>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><br>
Thanks,<br>
<span style='color:#888888'>Orest.</span><o:p></o:p></p>
<div>
<div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><br>
-----Original Message-----<br>
From: <a href="mailto:fdo-internals-bounces@lists.osgeo.org" target="_blank">fdo-internals-bounces@lists.osgeo.org</a>
[mailto:<a href="mailto:fdo-internals-bounces@lists.osgeo.org" target="_blank">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>
"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)"<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"
target="_blank">mapguide-internals-bounces@lists.osgeo.org</a><br>
[mailto:<a href="mailto:mapguide-internals-bounces@lists.osgeo.org"
target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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 style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><br>
<br clear=all>
<br>
-- <br>
Zac Spitzer -<br>
<a href="http://zacster.blogspot.com" target="_blank">http://zacster.blogspot.com</a><br>
+61 405 847 168<o:p></o:p></p>
</div>
</div>
</div>
</div>
<p class=MsoNormal style='mso-margin-top-alt:auto;margin-bottom:12.0pt'><br>
_______________________________________________<br>
fdo-internals mailing list<br>
<a href="mailto:fdo-internals@lists.osgeo.org" target="_blank">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>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><br>
<br clear=all>
<br>
-- <br>
Zac Spitzer -<br>
<a href="http://zacster.blogspot.com" target="_blank">http://zacster.blogspot.com</a><br>
+61 405 847 168<o:p></o:p></p>
</div>
</div>
</div>
<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><br>
<br clear=all>
<br>
-- <br>
Zac Spitzer -<br>
<a href="http://zacster.blogspot.com" target="_blank">http://zacster.blogspot.com</a><br>
+61 405 847 168<o:p></o:p></p>
</div>
</div>
</div>
</div>
<p class=MsoNormal style='margin-bottom:12.0pt'><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>
</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>