db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michelle Caisse <Michelle.Cai...@Sun.COM>
Subject Re: Patch for new tests of schema orm attribute
Date Tue, 30 Aug 2005 15:59:09 GMT
Michael Watzek wrote:

> Hi Michelle,
> your proposal is to use the same SQL schema (e.g. 
> applicationidentity99) for different mappings. The build process seems 
> to assume a 1:1 relationship between SQL schema and mapping. Moreover, 
> the current build process implements a 1:1 relationship between SQL 
> file and mapping. So, using the same schema in different SQL files 
> might be confusing.
> Michael and I discussed the proposal. We think that it makes sense to 
> introduce a separate SQL schema for each mapping. Each SQL file 
> specifies a different schema name. The schema name may differ from the 
> current naming pattern "<identity type><mapping id>" to indicate that 
> the schema name is set by ORM meta data rather than by 
> "jdori.properties". For example, we could use 
> "applicationidentity_ORM", "applicationidentity_PKG", and 
> "applicationidentity_CLS" as schema names.

These are all good ideas.  I will make the changes.

> Perhaps, it makes sense to map to different table names in each 
> mapping, too. This ensures, that an error is thrown in case that an 
> implementation mistakenly ignores the schema in the ORM meta data and, 
> maps to a table in the default schema.

I thought of this issue, but I don't think it is necessary to change the 
table names.  If the implementation ignores the schema in the orm 
metadata, it will use the schema specified in the PMF properties.  There 
is no other default schema. The schema specified in the PMF properties 
does not exist, so an error will be thrown.  For example, schema2.sql 
will create schema applicationidentity_ORM or datastoreidentity_ORM.  
Schema applicationidentity2 never gets created by any schema*.sql.  But 
the jdo.tck.mapping value for schema2.sql is '2'.  Therefore the schema 
value in the PMF properties is applicationidentity2.  If the impl uses 
this value, an error will be thrown.  Make sense?

-- Michelle

> What do you think?
> Regards,
> Michael

View raw message