db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Suresh Thalamati <tsur...@Source-Zone.org>
Subject Re: Speeding up unit tests that need a clean database?
Date Thu, 30 Sep 2004 23:49:13 GMT

  I don't think Derby has CREATE/DROP database  statements.  Derby has 
support for  backup/restore.
One way to simulate DROP/CREATE  in test scripts is  to restore/create 
(URL properties : restoreFrom and createFrom)
 an empty database from a backup after each test.   Backup will take
some time,  but I guess in your test environment 
 that is going to be only one time overhead.

ij scriipt:
---create a new database
connect 'jdbc:derby:wombat;create=true';
---take database backup before doing anything else
connect 'jdbc:derby:wombat;shutdown=true';
connect 'jdbc:derby:wombat;restoreFrom=ext/mybackup/wombat';

You should be able to make above call through JDBC based java program..


Nyenyec N wrote:

>I have several JUnit tests that I run as part of the builds and also
>from inside the Eclipse IDE.
>So far my app uses SQL Server and HSQLDB. In both cases I found a way
>to quickly create a clean database (with no tables) use it and discard
>it after each test.
>In SQL Server I use the CREATE/DROP DATABASE call, in HSQLDB I simply
>use an in-memory instance. Creating and discarding a database takes
>about 2 secs in SQL Server and 1 sec in HSQLDB.
>In Derby however, connecting to a URL like this
>takes about 20 secs on the same machine (P4, 1Gb mem).
>Is there a way to do this quicker or approximate the behavior
>described above in some other way?

View raw message