[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [stellation-res] A database question
|
On Tue, 2002-11-26 at 16:11, Mark C. Chu-Carroll wrote:
> I've been working on a unit test suite, initially for testing ACLs, but
> with the intention of using it to create a fixture that will also be
> easy to expand into a general client-independent repository test suite.
>
> One thing that I've come up against is the need to be able to create
> and destroy databases. Since unit tests need to be independent, and I
> expect the suite to wind up with dozens of tests, it's not reasonable
> to expect the user to set the databases up in advance, and it's not
> really reasonable to leave all of those databases lingering after the
> tests have run.
>
> My question is: for the databases that you know about, can you create
> and destroy databases using JDBC?
>
> In postgres, as long as you are connected to a database, you can execute
> "create database" and "drop database" commands. So starting with an
> initial seed database owned by Stellation, it's easy to create and drop
> databases entirely through JDBC.
>
> In DB2, we create one database, and then create tablespaces for
> repositories. According to the DB2 docs, creating tablespaces can be
> done from JDBC.
>
> The Firebird docs are ambiguous. They discuss the "create database"
> command in the SQL language guide, and say that it's usable from a
> variety of places, but that document never discusses JDBC. I suspect
> that it will work much like postgres, but since I don't
> have Firebird properly configured an my machine (yet), I haven't been
> able to test it.
I think that you can create Firebird databases using JDBC, but I will
have to check. It may depend on the JDBC driver that you use
(InterClient or JayBird).
InterClient is a type 3 JDBC driver. This means that you have to install
InterServer to handle all comunications with the RDBMS. Also,
InterClient is not open source anymore.
JayBird is a type 4 driver. You only need a few jars somewhere in your
classpath. This driver is still evolving and lacks several features.
However, it's usable and stable but I don't know if it supports database
creation.
> I don't know about MySQL, or Oracle. If you can give a definitive answer
> about Firebird, MySQL, or Oracle, please let me know.
>
> If the answer to this is yes for all of the databases that interest us,
> then I'm going to add methods to the AbstractDatabase class for database
> creation and deletion. This makes the tests easier to write, and it
> means that once a database is installed and the stellation user is
> configured, you can just create repositories without having to know
> the particular incantation for database creation in your database.
>
> Thanks,
>
> -Mark
Regards,
Rodolfo
--
Rodolfo M.Raya <rmraya@xxxxxxxxxxxxxxx>
Maxprograms