home *** CD-ROM | disk | FTP | other *** search
- Introduction
- ------------
-
- This is a beta version of the new MySQLGUI version 1.6
-
- Unlike few previous releases, this is a release with several new features,
- but it also contains few minor bug fixes.
-
- What follows is short instructions for building it under Unix.
-
- You can also read INSTALL.TXT on the subject. README contains few
- instructions on installation.
-
- Building MySQLGUI 1.6
- ---------------------
-
- In short, building this version requires fltk lib, fl_editor, mysql++, Flvw
- widgets, mysqlgui sources and development tools and libs.
-
- Building of mysqlgui is now possible only under Unix versions.
-
- FLTK should be 1.0.7, standard version from www.fltk.org
- fl_editor, should be a special version, built just for mysqlgui and
- available from the same URL, as mysqlgui:
-
- http://www.mysql.com/download_clients.html
-
- If you already have FLTK installed, if it is version 1.0.1, you do not need
- to upgrade to more recent version, although it is recommended as there are
- numerous bug fixes.
-
- You require mysql++ lib and include files, OBLIGATORY version 1.5 or higher
- , available at www.mysql.com/mysql++. Read README in that lib for compilation
- instruction. You can build with version 1.6 , but the only difference will
- be in somewhat smaller code.
-
- Mysql++ is available from:
-
- http://www.mysql.com/download_mysql++.html
-
-
- You also require flvw widgets, made by Larry Charlton and available from
- either:
-
- http://flvw.sourceforge.net
-
- OR
-
- http://fwidget.netpedia.net
-
- After you build a lib, just copy it to mysqlgui directory. Flvw Include
- files are already in FL/ subdirectory of mysqlgui source directory, so there
- is no need to copy them too.
-
- Regarding configuring for mysqlgui, there are no changes, just follow
- the instructions on creating [client_fltk] entries in /etc/my.cnf or
- my.cnf or c:\my.cnf under Win32. In all distributions of MySQLGUI
- there is always an example of my.cnf file. Two entries are minimal in
- [client_fltk] chapter. They are client_file and help_file. Take a look
- at the example.
-
- New features
- ------------
-
- The most important new feature of this version is completely new and
- rewritten spreadsheet widget, used for displaying result sets on the screen.
- Just as with any other dialog in mysqlgui, it can be run as many times as
- there are system resources.
-
- Main advantages of the new widget are:
-
- - Capability of displaying, scrolling, navigating and viewing very
- large result sets. Actually, with this spreadsheet widget you can
- view as big result sets as virtual memory of the system will allow
- it. Very few programs of this sort have this very important
- feature.
-
- - Low memory usage. as there is no more double memory allocation
-
- - High speed of viewing and scrolling
-
- - It has excellent support for styles and themes, which are not yet
- implemented in mysqlgui (see TODO below).
-
- - It has features that will enable several other functions that will
- be implemented with mysqlgui (see TODO below).
-
-
- Beside implementing this widget, mysqlgui has many other features
- implemented, both in the spreadsheet itself as well as in other
- areas. First of all, spreadsheet has been so designed and implemented
- to enable running of N different spreadsheets displaying different
- (or same) result sets at the same moment. This is a feature of all
- other mysqlgui dialogues.
-
-
- Within spreadsheet, mysqlgui has much easier navigation and data
- viewing, plus a distinguished annotation of the current row and
- current column. Current column can be chosen by clicking on it's
- header, while current row, beside clicking on it's header, can be
- chosen by normal navigation keys. Beside that there is a group of
- buttons and one input field at the left bottom corner of dialog. Left
- most button is used for moving a cursor to the first row. Second
- button is used for moving a cursor to previous row, and next button is
- used for moving a cursor to the next row. Last button is used for
- moving a cursor to the last row. In the middle of those buttons is the
- input field which is used for both displaying a number of current row,
- plus it can be used for entering a number of row to jump to. This is
- especially useful for large result sets.
-
- Current row, the row where a cursor is, is distinctly marked with
- different background and with an arrow on the column header, left to
- it. Current column is distinguished by being put below others. Current
- cell is marked with distinguished borders.
-
- Control+Home/End First cell /Last cell (Seems to be broken)
- Control+Page up/down First/Last Row
- Control+Right/Left First/Last Column
- Home/End First/Last Row in current column (Seems to be broken)
-
- Horizontal scrolling within cell is enabled when a cell is clicked on,
- in which case that cell becomes a current one and it's contents can be
- scrolled horizontally. The same effect can be achieved by pressing
- CTRL + `E' key. Then, scrolling will be enabled in the current
- cell. Carriage return (Enter) key finishes scrolling and returns to
- normal navigation. Beside standard navigation keys, Enter beside finishing
- editing, also moves to the next row.
-
- Data in columns are aligned according to their type, and columns can
- be easily resized by clicking on their boundary in the row header.
-
- This spreadsheet, like the proveious one, has a sorting
- feature. Sorting is started by clicking with a left mouse button (and
- no keys pressed) on the column which should be first in a scrolling
- sequence. Upon clicking on the column, the entire result set is
- resorted to be in ascending order for the values of that
- column. Sorting is done by column type. Next click on the same column
- changes sort order to descending and third click reverses the entire
- set to the original, unsorted ordering of rows. When a first column in
- sort order is chosen, next column(s) can be added to the sorting
- sequence, by clicking on them while holding shift key on the keyboard
- down. Further clicking on the same column (with shift key pressed) has
- similar effects as with first column, that is changing sort order to
- descending and deleting a column from the sort sequence.
-
-
- Clicking on the right mouse button, brings down dialog menu, with all
- the functions of the dialog available. Beside navigation and exit
- there is also file save option, which performs save function of
- directing result set to a text file. A small difference from the
- global file save function, is that each spreadsheet window saves it's
- own data.
-
- In this version of mysqlgui there are also column-related
- menus. These menus are activated by clicking medium mouse button or by
- clicking both left and right mouse buttons simultaneously, or by
- clicking left mouse buttons while CTRL key is hold. Large number of
- variants is introduced due to the possible constraints of some window
- managers.
-
- Depending on the column type these menus have functions for
- calculating average or total for the column, for numeric and derived
- types. There is also a possibility of searching for the string. In
- that case a search dialogue is popped up with it's options. This
- dialogue is not modal, like all others in mysqlgui, so you could open
- N spreadsheets with it's result sets, each with it's own Search
- dialogue. Beside using dialog, next substring occurrence can be
- reached by using spreadsheets global menu (right mouse button) or by
- conveniently pressing Ctrl L.
-
- Beside new spreadsheet widget, there is a new page in the Options
- dialogue. This page contains a font list box, which is used for
- choosing a font for all important texts. It is used in query edit
- widget, in queries history list-box, in spreadsheets, search dialogues,
- editor and few others. It is recommendable not to choose a bold font,
- as boded fonts are utilized in a spreadsheet. The main purpose of
- this option is to enable viewing of non-Latin1 character sets, but it
- can be also used for a change of the `look and feel'.
-
- If user wishes to revert to default fort setup, as designed by
- developers, he/she should choose "None" as a default font. This option
- is located at the very bottom of the font listbox.
-
- Beside font list box, new page, 'Style' page contains a choice of the
- default style for the spreadsheet widget, but this feature has yet to
- be done. See TODO chapter.
-
- There can be a latency in the opening the options dialogue for the
- first time, as mysqlgui scans for all system fonts available.
-
- Several bugs are fixed also, like the one that plagued saving and
- loading of mysqlgui options. Also, closing down all windows on the
- exit from the main window is fixed under Win32.
-
- TODO
-
- or
-
- Short review of the future plans with mysqlgui and related stuff
- ---------------------------------------------------------------
-
- This TODO has the objective of providing an insight to the path for
- the future development of mysqlgui and some of the server and client
- features related to mysqlgui.
-
- This list of development has been made in the approximate order of
- development, although amendments. are possible.
-
- So, in the future development in this field will follow these
- steps:
-
- - Introduction of "Memory Save" mode for the spreadsheet. This mode of
- viewing result sets is very much needed for the viewing of the very
- large result sets or tables. Unlike present approach,in which entire
- result set is placed in a memory, a limited amount of memory will
- be allocated for the presentation of the result sets of any size.
-
- - Table editing, which will utilize the same spreadsheet widget, with
- additional control widgets
-
- - Server side cursors, based on the standard, with some additional
- features and a concept that will not jeopardize speed and
- concurrency
-
- - Implementation of the above in "Memory Save" mode in spreadsheet,
- and for editing. which will improve performance / security
-
- - Introduction of the global, row and column styles in the spreadsheet
- widget. Saving of default style will be made too.
-
- - Client-side cursors with similar enhancement as server-side cursors
-
- - Optional introduction of client-side cursors in the spreadsheet.
-
- - Version of mysqlgui for MacOS and MacOSX
-
-
- Larnaka, February 8, 2000
-
-
-
-