      
      Qt SQL Browser : A Graphical Frontend for MySQL, PostgreSQL and any ODBC Compliant Database
      

SQL Browser
	

The purpose of this project is to provide a simple, generic GUI database browsing frontend. The 
tool is a very simple aggregation of the Qt database classes. The database abstraction is provided 
by the Qt database drivers. The drivers for MySQL and PostgreSQL have been found to work well. 
The drivers for ODBC3 are not tested at the moment (although, so far, both the MySQL and PGSQL 
ODBC3 drivers caused problems). If you have a commercial version of Qt, you can make use of the 
bundled drivers for Oracle, TDS and DB2.

In principle, there is no reason why ODBC3 drivers for popular databases such as Oracle, DB2, Informix
as well as Firebird and SAP/DB shouldn't work. Nevertheless, it may be that the only way to get some of 
these working is to create a native Qt database driver. This is something I'll be looking into much later.

The tool is currently stable and quite usable but not feature complete. The following features have
been completed:

	Tree browser for databases and tables
	Display of table descriptions
	Display of table contents in main window
	Execution of ad-hoc SQL queries in the query tab
	Command line history in the query tab
	Retrieval of database connection details from XML config file
	Retrieval of other configuration parameters from XML config file
	Prompting for connection password
	Addition of new connections via GUI to the running application and the config file 
	Display database views with a separate icon
	Create a connection name independent of the database name
	A "Test" button when creating a new connection
	Dynamically generate a list of available drivers
	Configuration via autoconf
	Fixed bug with executing updates/inserts twice
	Refreshing of a DB connection
	Deleting of connections via the GUI
	Editting of connections via the GUI


The following features will be implemented as a requirement for a 1.0 release:

	Detect PK/FK/UNIQUE constraints
	Many useful keyboard shortcuts


I do not consider the following features critical so I may never get around to doing
them. They are here as an indication of where the tool is (and isn't) heading. You may
also consider adding some of these yourself.

	Asynchronous connection to databases
	GUI configuration (set the application font and theme)
	GUI configuration of keyboard shortcuts
	Ability to dump table contents (or a query result)
	Port to Microsoft Windows (I don't plan to buy a Qt license for Windows so unless this 
	can be legally facilitated by someone who has such a license, it won't be  happening)



I have no plans to create a generic database administration tool. Thus, functionality such as 
user administration, database backup, schema editting and permissions editting are not planned
to form part of this tool. If you want this functionality, you may consider looking at 
Tora. 

This tool is developed on a GNU/Linux based system but should run on any platform that supports
the Qt toolkit. In particular, once the Unix-ism of checking for the config file in the home
directory is removed, there's no reason why it shouldn't successfully run on Microsoft Windows.


Finally, thanks to all of the free software developers out there that make these things possible.


Phil Bradley, March 2004.









