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