In RDBMS terms, a Schema is a collection of tables, indexes,
views, etc. in a database. Feature and RDBMS schemas do not correspond 1:1.
A Feature Schema may be stored in different RDBMS schemas and an RDBMS schema
might be composed of multiple logical schemas."
As a result of this loose definition we have no simple standard for schema and class naming across providers.
Here are some examples of different schema & class names currently in use in FDO
OSGEO.SHP reports Default:shpfilenamespot the pattern ?
OSGEO.Gdal reports default:default
KingOracle reports KingOra:ZAC~BUILDINGOUTLINES~SHPGEOM
OSGEO.OGR reports OGRSchema:BUILDING
MySql reports Fdoreports:aquifer_property
SDF reports what ever was set as the schema name
PostGIS has been reformed following this discussion
I really don't see the need to inject provider names into the mix? ever.
It's really confusing for people new to FDO, here's a few ideas to make
1. Providers which don't support multiple schemas, should report an empty schema,
all their content lives in that single schema ( ie was default).
2. Providers which have native schemas with multiple real schemas,
should represent those available schemas to GetSchemas unless over-ridden
in the connection string or by custom mappings.
3. The tables in the user schema are listed in empty schema (default) conceptually
4. Class names for databases are normally tablename, unless qualified which
then has ~COLUMN_NAME appended. (Coz if the are multiple geometries, FDO requires
to know which one is the identifier)
5. Class names for file based providers is based on their file name as current
6. Drumroll, The empty schema ":watercourses" could be also just "watercourses"
so lets see that means
OSGEO.SHP reports filenamewhat's peoples thoughts on this?
OSGEO.Gdal reports filename
KingOracle reports schema:tablename or if connected as "schema" then just tablename
OSGEO.OGR reports filename
MySql reports schema:tablename or if connected as "schema" then just tablename
SDF still reports what ever you like as a schema name