*** 1.1.11->1.1.12 - Installation change: we used to always create sqlsc/ in /usr/lib, but this is now sometimes not in the auto_path. Use a script to walk the auto_path instead, and select the "best" place (ie: /usr/lib/tcl, or /usr/lib/, or /usr/lib/tcl8.x or whatever is at the top of the auto_path). *** 1.1.10->1.1.11 - Added code to better manage fonts - Made sgml the master documentation version (dropped lyx). Added font information *** 1.1.9->1.1.10 - Fixed the configure code to work on 64bits systems (tclConfig.sh and tkConfig.sh locations) *** 1.1.8->1.1.9 - Merged code from Mathieu Belleville to use Tix for graphical buttons and choices with many entries *** 1.1.7->1.1.8 - Install everything relative to TK_PREFIX (avoid having to set both prefix and TK_PREFIX to change the install target). - Add possibility to have a label for 'text' fields - Add max entry width validation for normal entry fields (can't enter more data than database field will accept). This only activates if the tcl version is >= 8.3 *** 1.1.6->1.1.7 - Removed reference to mysql_connect for compatibility with mysql 4.0 *** 1.1.5->1.1.6 - Handle (at least partially) conversion between tcl's utf8 and mysql's charset (iso8859-1 for now). This fixes a bug which had us insert utf data in the database (on inserts and updates). *** 1.1.4->1.1.5 - Autoconf again, aargh. Why does it have to be so difficult ? *** 1.1.2->1.1.3 - Very small changes in the 'updateindex' handling code. Released mostly to get rid of all mentions of the 'dockes@musicmaker' address. *** 1.1.1->1.1.2 - Test for mysql in /usr in addition to /usr/local, for rpm installations. Also let the user explicitely specify where MySQL libs and includes are to be found. - Don't use both TK_LIBS and TCL_LIBS. This was wrong and now sometimes fails because of libiee - Automatic reconnection of timed-out connections in mysqltcl.c *** 1.0.1->1.1.1 - Implemented odbc support (using the tclodbc package by Roy Nurmi, ) - Improved the configure/make scripts for Solaris, the shared object should cause no more linking problems. *** 0.5.1->1.0.1 - Bug fix: the db handle was not properly released in case of a catched tcsqexec error. - It is now possible to connect simultaneously to several hosts and/or databases. - mysqltcl.c now shares actual MySQL handles as much as possible between upper-level connections. A typical sqlscreens application will now only use one MySQL connection. - mysqltcl.c now retries connections twice before failing, to allow for transient errors. - tcsqexec now returns the number of affected rows, as returned by the underlying database. *** 0.4.1->0.5.1 - Bug fix: the headings in the list window were badly aligned. - Automatically create a menu for 'enum' columns (no need to do the 'choice' thing explicitely). See the manual. - Added the sqlscreendelete routine to delete a screen and free the resources. - Automatically build an updateindex if possible even if the columns are specified (Ie: you'll get an update button in the case where you specify the column list, but no updateindex list, and we have a primary key inside the column list. The screen used to be queryonly in this case). - Add sqlsc_entrywidget and sqlsc_labelwidget to retrieve the internal widget names, in case the application wants to change some attribute or whatever. - Document the sqlscquery, sqlscadd, etc... calls. - For MySQL, We know retrieve the column description through "show columns" instead of the C interface. We had to use it anyway to retrieve the "auto_increment" attribute. The big change that justifies the '5', because the data is not so easy to parse. *** 0.3.2->0.4.1 - New features for the list window: columns now are aligned and have headings. It is possible for the application to set line attributes (such as the color) according to the columns' values. See the documentation. - Bug fix: tcsq.tcl would loose a MySQL handle for every insert (in MYSQLinsertid) - The INFORMIX TCL code was externalized in a separate file. No need to load this for MySQL applications. - MSQL support was reintegrated (in a separate file). - Sample programs: Now executed by mysqlwish by default. Too much trouble with the shared libraries. Now use the SQLSCHOST, SQLSCUSER, SQLSCPASSWORD environment variables to set the connection parameters. wines.tcl makes use of the new list window features (list_lineproc, list_colwidths). The wines database structure changed a little (new columns). You'll need to either drop/recreate it or add the missing columns (tel/fax in producers and providers), and change column names 'provid' and 'prodid' to 'id'. *** 0.3.1->0.3.2 - Typo in sqlscreens.tcl would prevent passwords from working *** 0.3->0.3.1 - There was a bug in 0.3 resulting in a potentially wrong updateindex list, with potentially nasty effects when running an update. - Fixed tcsq to retrieve the auto_increment field attribute instead of trying to guess *** 0.2->0.3 - Use autoconf. Works under solaris, linux, freebsd - Be a better TCL package (using package provide/package require) - Modified mysqltcl so that connection error message are printed. - Improve statement logging. Allow logging to a file by specifying the SQLSCLOG environment variable - Enable using several tables in a single screen and specifying the join clause. - Enable using fully qualified column names (tabname.colname) - Use the grid geometry manager to allow for row-column screen setups - Fixed a number of small bugs - Warn when an update would do nothing *** 0.2->0.2.1 - Add quotes for datetime fields *** 0.1->0.2 - INCOMPATIBLE CHANGE: changed the name of array entries derived from column names to avoid conflicts. Ex: for column name "custno", the old and new array entries are: custno -> sqlsc_custno_value custno_len -> sqlsc_custno_len custno_typ -> sqlsc_custno_typ Compatibility code has been added to avoid breaking applications: if the global variable sqlsc_names_compat_old is set to a non-zero value before the first call to sqlscreen, entries are created in the array for the old names. The new and old names are aliased through tcl traces. - Added options for Linux and FreeBSD in the Makefile. - Added a chapter about how the SQL is generated to the documentation. - Save all column values to shadow entries after select/next/rew. This permits avoiding updating values that don't change (mainly for the case where they are part of a unique index) - Support multi-column primary keys. updateindex becomes a column list (compatible change) - Added a more complete sample application: managing a wine list - Use TCL's auto_path in tablescreen.tcl - Changed the method used to link screens. No more using TCL traces, which will suppress annoying queries while typing in a link field. - Set a default max field width to avoid monster screens - Add "nobuttons" attribute. - Test for order by clause being "" - Set noentry and nodisplay serial fields to "" before inserting. - Implemented the DELETE functionality - Properly handle date fields for mysql (they were not flagged as "date", and not quoted in queries) - Properly handle varchar fields for mysql (they were not detected as being char-type fields, because of a mismatch between what mysqlshow prints and what mysqltcl returns) - Added the texts list to display text blobs. - Added the auxiliary list screen (list_window, list_columns). - Handle <,>,<> at the beginning of non-char fields.