-------------------------------------------------------------------
README for xmsql version 0.4.2	06.Feb.1998 (by Debursky Ko)
                                          (debursky@deb.lumax.com.tw)

FIXED - When open a new matrix , traverse will be disabled.
FIXED - Rewidth column, if the desired width less than the origial,
        nothing done.
FIXED - LoadMatrix will alloc memory more economically.
FIXED - Add a (Trailed) Column will work normally. 
        Same as "Set Column Width".
        Bug for a bad-designed double-linked list.

ADDED - Traverse in Matrix
        ON will open Traverse function
                Visiable Row/Column 2, others 1.
        OFF will disable Traverse function
                Visable Row/Column 0, others 0.    
        Does Anybody need your desires ? E-mail to me, please. 

ADDED - Transaction
        ON will log the original and revised values in each double-linked 
           lists.
        OFF will unlog the edit action.
        Commit will put the revised values list into mSQL.(Not Yet Ready.)
        The difference is Transaction only updat mSQL partially.
        But functios in FILE will 
            1) drop table, 
            2) create table, 
            3) insert them again
        Transaction will save your time and disk R/W actions.
        Still in progress, but will come sooner.

-------------------------------------------------------------------
README for xmsql version 0.4	13.1.1998 (by Debursky Ko)
                                          (debursky@deb.lumax.com.tw)
Now is developing by Debursky Ko.

I rewrite xmsql by incorporating Lesstif, Xbae & ComboBox (German Ver).
Therefore, all packages except ComboBox are a must for using xmsql-0.4.

The two extra menu items are "Matrix and Debug". 

Matrix  : is original a "Pop-Up" menu around the mouse. But in lesstif-0.82,
          it seems to crash the linux. I change it to the menubar.
Debug   : is a debug-tool for me alone. I am not a maturely programmer. I
          use debug for the double-linked list., flist & cmlist.
          Also for the subtle codes.

Anyone knows the EXCEL's Spec. or Format ? I need them to make xmsql like
Excel.  Around the linux world, we should have a Execl tool . Maybe it's not 
just a Excel,  an Access is a possible ? But should be powerful than MS.

I don't want to keep these codes privately.  You can mend them, but sent a copy
to me, please. 

Some functions are still in progress and would result into your core-dump.
Like setColumnName, and File utility. Take care of yourself.

The layout is very ugly. But could someone beautify them ?  
--------------------------------------------------------------------------

README for xmsql version 0.1	02.5.1995
--------------------------------------------------------------------------

xmsql is a X-interface to the mSQL database engine. 

xmsql was inspired by Guptas SQL-Talk.
I've developed xmsql to have a friendlier interface to mSQL. For
me it was more or less an eXercice in X-programming.
xmsql was developed under Linux 1.0.9 / X11R5. 
It may or may not work under other systems 
(it actually compiled under SunOS but did not show correct behaviour).

Note that xmsql is alpha. Install and use on your own risc.


You must have  mSQL installed to compile (and use) xmsql.
mSQL is a database engine, developed by David J. Hughes.

INSTALL
-------
unzip and untar xmsql-0.1.tar.z

edit Makefile: 
set the correct pathes for MSQLINC and MSQLLIB 
execute "make".


USAGE
-----
Input, Output

The main parts of the xmsql-window are the input- and output- textwidgets
which can be sized by a paned-widget. 
The upper one is the input-window.
You enter your (m)SQL-statements there. 
End each statement with a ";" (so single statements are separated by ";").
Hit <Ctrl>Return to execute.
If a statement extends one line, the cursor (insertion caret) must
be located in the last line.
If more than one statement should be executed select the statements with the
mouse and use the menu-item "execute selection".

The output-window will display the result of the (m)SQL-statement.

The statusline at the bottom of the app-window will display more or less 
usefull messages (i.e. error messages).


Menu Button "File"

"load" 	load a file into the input window
"save" 	save the contents of the input window to a file
"quit" 	quit msql (obvious)

Menu Button: "Control"

"connect to local server"   make a connection to the local msql engine.
			    The msql engine must run on the local host if 
			    this command should be successful
"connect to remote server"  like "connect to local server" but on a 
			    remote host. You will be asked to
			    enter the name of the remote host, which runs 
			    the engine.
"list tables & fields" 	    pops up an window with two listboxes, the right 
			    of which contains the names of the tables of 
			    the current database. Click on a tablename 
			    to fill the left list with the names of the 
			    table colums.
"execute selection"	    executes all selected statements.
			    If these statements are select-statements, 
			    only the result of the last one  will be 
			    displayed (more usefull for inserts and updates).


"Combo-Box"

If successfully connected to a msql-engine the combo-list will display the 
names of all available databases. Click on the arrow-label to popdown this
list. Select the database to work with. The selection will now (hopefully) be
displayed in the text field right from the arrow label.



BUGS
----
xmsql is not assumed to be bug-free.
Because of little testing and because I'm new to X, there may be lots
of undetected bugs (even serious). If you find bugs, please mail.

Send bugs to: sd@muwiinfa.geschichte.uni-mainz.de


KNOWN BUGS
----------
-The "combo box" does not always function.
 Not always will the database, selected in the list also be displayed in the
 text field (and not be selected as the current DB to work with).
 This could be a timing problem.

-The table & column info box is not automatically updated when the 
 database is changed.

-There is no query wether changes in the input-window should be saved,
 when you quit or try to load a new file.



LICENSE
-------
This program is free software; you can redistribute it and/or modify
if under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your opinion)
any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRENTY; without even the implied warrenty of 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License;
if not, write to the Free Software Foundation, Inc. 675 Mass Ave,
Cambridge, MA 02139, USA. 




Stefan Dupont-Christ
sd@muwiinfa.geschichte.uni-mainz.de
