SqlGui ====== A client for working with MySql. You can browse your databases, create new tables and enter SQL-statements. Since a long time, I have been working with "kmysql" to manage MySql. Unfortunatly kmysql didn't compile/run under my fresh KDE-2-installation. So I decided to write my own little program for doing such things. I created the first version of this app with "kdevelop". But I didn't like the kdevelop-editor, so most of it was done using xemacs. All of the dialogs were created with qt-designer. Requirements ============ - MySql (at least libmysqlclient) - KDE-2 and QT-2 for SqlGui prior v. 0.3.3 KDE-3 and QT-3.0.3 for SqlGui v. 0.3.3 and later - and of course autoconf (tested with v. 2.52), make (tested with v. 3.79.1), gcc (tested with v. 2.95.4)... Some Hints ========== - configure looks for mysql.h and libmysqlclient in standard-paths. You want to use --with-extra-includes=/PATH/TO/MYSQL.H and also --with-extra-libs=/PATH/TO/LIBMYSQLCLIENT to adjust the paths. On my system these are: /usr/local/mysql/include and /usr/local/mysql/lib. - Under QT-2 the QTable-Widget (which is used to display the result-list) seems to be very slow on deleting large tables, eg. unloading a table with 4000 rows and loading a table with 2000 rows needs about 20 seconds! Wheras removing 0 rows and loading a table with 2000 rows takes about 5 seconds! Unfortunatly there seems to be no workaround for this, except writing a new Table-Widget, which is optimized for speed and not for memory-usage. For now I haven't tested the QTable-Widget in QT-3 enough, to say anything about the performance in QT-3. - The file-open-recent-menue stores the the connection-data as "mysql://user@hosname" in your ~/.kde/shar/config/sqlguirc config-file. If you compile sqlgui with the option -DSAVEPASSINSECURE by issuing "export CXXFLAGS=SAVEPASSINSECURE", then sqlgui will try to save the connection-data as "msql://user:password@host". Unfortunatly KDE seems to strip all password from the recent-files-menue. So this option won't change the behaviour of the recent connection-data. - The XML-export has now a DTD ("KDEDIR/share/apps/sqlgui/database.dtd"). Please keep in mind, that this is still work in progress and might change in the near future. The export now gives information about the cell-type and the offset of the exported data. The column-data is stored in UTF-8. It the data contains an ampersand "&", it is encoded to an "&". - In the german translation, some special characters are missing (esp. 'รถ'). Sorry, but at the moment i don't know why these characters are missing. - There's no guarantee that this program runs or even compiles on your system. Use at your own risk, and read the LICENSE-, INSTALL- and source-files. BUGS ==== - When entering select-statements, sqlgui somtimes has problems finding the primary-key. This causes sqlgui to create a wrong update-queries, when entering new values in the main view. Workaround: always double-click or do a "SELECT * ..." on the table you want to edit (so that every column is displayed), and make sure, that the table has exactly one primary key in it. This seems to work without any errors. WARNING ======= DO NOT EDIT THE TABLES IN THE MYSQL PRIVILEGES-SYSTEM (i.e. the mysql-database) WITH SQLGUIs MAINVIEW!!! The mysql-privileges-system has multiple primary-keys! Sqlgui will fail updating the mysql-database correctly and therfore destroy all your privileges! Send bug-reports to marcus@beranek.de