Hi Andrew,

DataMaps don't work as "layers" on top of each other, so the answer to #2 is 
no. For #1, I am not aware of any visible performance impact of quoting 
identifiers. So you can just use quoted identifiers everywhere.

Andrus


> On Nov 23, 2021, at 5:16 PM, Meeks, Andrew <andrew.me...@vt.edu> wrote:
> 
> Hello,
> 
> My production database is Oracle but I do local testing with in-memory H2.  I 
> have been using two datamaps; "src/main/resources/datamap.map.xml", and 
> "src/test/resources/datamap.map.xml".  When I make an ORM change and it's 
> been a year or two, I eventually remember to copy the datamap from main to 
> test but I almost always forget that the test datamap has "<property 
> name="quoteSqlIdentifiers" value="true"/>" because H2 has a different set of 
> reserved words than Oracle.
> 
> I have two questions:
> 
>  1.  Is there much of a performance issue in leaving quoteSqlIdentifiers set 
> to "true" even when it's not necessary in production?
>  2.  Is there a way the test datamap can reference and extend the main 
> datamap?  By that I mean, can the test datamap simply pull in the main 
> datamap and augment it with the quoteSqlIdentifiers property?  The 
> cayenne.xml is very different between production and test and the cayenne 
> configuration appears to expect the file with the prefix specified in "<map 
> name="datamap"/>" is located in the same directory. That seems to necessitate 
> keeping separate copies of the nearly-identical datamap.map.xml.
> 
> Thank you,
> Andrew

Reply via email to