Building Unit-Test-Environments






Test Environment



Distribution Terms




Speedy - Client/Server Main Memory SQL-Database


Speedy is a SQL-database with some unique features especially important for unit-testing. It is small, fast and simple to use. It contains a rich set of SQL-commands (e.g. sub-selects, joins, distinct). If you have a small application which requires to systematically manage some data you should test Speedy. At least it is a small download and can be installed quickly (and also completely de-installed – no hidden binaries, advertisement or other annoying add-ons). For Linux you do not even need to be a super-user to install.


You can get Speedy for Linux and Windows. It basically contains the server-application speedydb and the client-interface-program speedysh. You can use speedyst to manually stop the database-server. For Windows you can automatically stop the Speedy-database on Windows-shutdown by using speedysp.


The example programs with source-code show how to use the database: DBDir, DBTest, Phone, Planer, Store.


DBDir presents the performance of the database: Start the database by “speedydb”, create the dirdb-database by  “speedysh CREATE dirdb” and then start the program by “dbdir”). The program inserts 30000 rows (each a pair of integers) and then accesses the rows by various ways. You can start the program more than one time. Be surprised!


Main Features


*   Client/server-architecture

*   SQL-like interface (e.g. sub-selects, cursor-fetch, join, distinct, order by)

*   Great performance

*   Multiple simultaneous connects to the database from different applications

*   Multiple databases are supported

*   Transactions are supported

*   (Unique) Indices

*   High stability and efficient memory handling

*   Small number of source-code-lines (and small libraries and binaries)

*   "Secure" tables keep contents even if severe errors occur


Main Restrictions


*   Database must fit into virtual memory

*   No network support

*   Transactions block operations of other connections (database locking)

*   Query optimisation has to be done manually

*   SQL-language not fully implemented (e.g. privileges, views, alter-table)

*   Some minor limitations to SQL-evaluation (e.g. only constant operands for BETWEEN and LIKE)

*   NULL-attributes are defined with DEFAULT-values rather than an explicit NULL-value



DB-Viewer - Graphical Interface to the Speedy-Database


DB-Viewer is a graphical application which allows you to access the Speedy-database. DB-Viewer is mainly designed to display and change table contents (although you can execute all Speedy-SQL-commands using DB-Viewer).


You can get DB-Viewer for Linux and Windows in English or in German language.



DB-Designer - Graphical Editor for Database-Layouts


DB-Designer is a graphical application which allows you to design Speedy-database-layouts.


You can get DB-Designer only for Windows and in English.