[fdo-internals] RE: [mapguide-internals] FDO RFC 43 - Standard FDO Class Naming Conventions

Haris Kurtagic haris at sl-king.com
Wed Oct 28 16:19:55 EDT 2009


Hi Orest,

I maybe wrong, but would like to clarify it with you. Datastores are
introduced basically with metadata tables describing fdo classes. So in that
sense I understand that in one database we could have multiple datastores
but trough metadata tables. With concept of what later called "native"
database classes there are no datastores ? That is my observation and same
time question to you.
Similar, regarding SQL server eventually we don't have database as level,
because database is defined in connection string, right ?


I agree about separate fdo classes for tables with multiple geometries, it
would be nicer to have one class with multiple geometries.
But, I think some APIs and even FDO based applications are making assumption
about that one geometry is "main geometry".
There is no way that provider could construct FDO class from such table, to
know what is main geometry (without metadata).

Haris

-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Orest Halustchak
Sent: Wednesday, October 28, 2009 1:57 PM
To: FDO Internals Mail List
Subject: RE: [fdo-internals] RE: [mapguide-internals] FDO RFC 43 - Standard
FDO Class Naming Conventions

Hi,

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.

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.

Consider this example.
	FDO Datastore = CityOfNewYork
		FDO Schema = LandBase
			Class = Parcel
			Class = Road
		FDO Schema = Water
			Class = Pipe
			Class = Valve
		FDO Schema = Gas
			Class = Pipe

	FDO Datastore = CityOfAlbany
		Same schemas and classes

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.

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.

Thanks,
Orest.

-----Original Message-----
From: fdo-internals-bounces at lists.osgeo.org
[mailto:fdo-internals-bounces at lists.osgeo.org] On Behalf Of Haris Kurtagic
Sent: Wednesday, October 28, 2009 6:07 AM
To: 'FDO Internals Mail List'
Subject: [fdo-internals] RE: [mapguide-internals] FDO RFC 43 - Standard FDO
Class Naming Conventions

there is another important case which is not covered in RFC.
Same table name in multiple schemas. Also, how to not mess up when users
logs using different credentials.

One way to solve that could be to always use rdbms schema name as fdo schema
name.

I believe it is absolutely necessary that application using FDO to access
rdbms can be sure exactly which table and column it is accessing.
Because what FDO provider sees when connects to rdbms can change regarding
which credentials are used to connect to rdbms. That menas that on same
database it can see only one table, or two tables (same name) in two schemas
or even one or more geometry columns in table.

I am not keen on current naming in King.Oracle with this ~ sign, but I am
very pleased that when using King.Oracle and FDO class trough it, I know
every time exactly which Oracle schema, table and column I am hitting.




Just when wanted to finish something else from RFC:
"Class names for databases are normally tablename, unless qualified which
then has ~COLUMN_NAME appended. (if the are multiple geometries, FDO
requires to know which one is the identifier)"

In King.Oracle ~COLUMN_NAME is appened to make sure resulting name would be
unique. Which actuall oracle column is used is not parsed from name of class
but it is kept inside provider. ~COLUMN_NAME could be anything.


Haris

-----Original Message-----
From: mapguide-internals-bounces at lists.osgeo.org
[mailto:mapguide-internals-bounces at lists.osgeo.org] On Behalf Of Zac Spitzer
Sent: Wednesday, October 28, 2009 9:45 AM
To: FDO Internals Mail List; MapGuide Internals Mail List
Subject: [mapguide-internals] FDO RFC 43 - Standard FDO Class Naming
Conventions

I have posted RFC 43 for review

http://trac.osgeo.org/fdo/wiki/FDORfc43

-- 
Zac Spitzer -
http://zacster.blogspot.com
+61 405 847 168
_______________________________________________
mapguide-internals mailing list
mapguide-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapguide-internals

_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals
_______________________________________________
fdo-internals mailing list
fdo-internals at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/fdo-internals



More information about the fdo-internals mailing list