I actually have a working firebird adapter at least as of cayenne 3.1. It was targeted at older firebird -- version 1.5. But it should be a good starting place; it was based off the previous one in cayenne. We're not using it anymore. I can send you a link on Monday.
John On Saturday, June 8, 2013, Andrus Adamchik wrote: > > On Jun 8, 2013, at 10:04 AM, Miłosz Pigłas <[email protected]<javascript:;>> > wrote: > > > Hi, > > > > I'm interested in using Firebird database with cayenne. I read on > http://cayenne.apache.org/docs/3.0/database-support.html that you need > testers for this db. I want to help, but as I see there Firebird is not > supported in 3.x. > > > > So my question is where I should to start? Should I try to "port" > classes from 2.x branch, which seems, according to javadoc, the last one, > where support for Fb is avilable? > > > > Regards > > Milosz > > Hi Milosz, > > Yeah, would be great if you could champion a modern FireBird adapter. > Quick check of the SVN shows that the last time when Cayenne had a FireBird > adapter was in 1.2: > > > http://svn.apache.org/repos/asf/cayenne/main/branches/STABLE-1.2/cayenne/cayenne-java/src/cayenne/java/org/objectstyle/cayenne/dba/firebird/ > > The best approach to resurrect it is to create a placeholder for the > adapter, and integrate it with Cayenne unit tests engine in the > "cayenne-jdk1.5-unpublished" module. Then you'll be able to run the test > suite that will give you an idea of what "non-standard" things Firebird > expects from a Java app. Then you can port the old adapter code > piece-by-piece or write any new adapter code as appropriate, with test > results giving you a picture of what is still missing. > > In practical terms this means the following: > > 1. Create an empty firebird adapter under org.apache.cayenne.dba.firebird > package, inheriting from JdbcAdapter (also create FirebirdSniffer) > 2. Integrate FirebirdAdapter in runtime DI container via ServerModule > (done via a DB-specific "sniffer" that detects the DB type dynamically) > 3. Create a "firebird" profile in the topmost pom.xml, similar to other DB > adapter profiles > 4. Implement UnitDbAdapter for the Firebird unit test (check > ServerCaseModule for details). > > After that you should be able to run unit tests e.g. as "mvn clean install > -DcayenneTestConnection=firebird" > > Feel free to ask more questions. > > Andrus
