This readme-file contains information about the changes and improvements in the dbUpdateUtil. *** Version 4.0 *** A lot of work done to make it work with MS-SQL Connectivity Kit 3.0. Both compare and update are now possible on MS-SQL. *** Version 3.3 *** Changed the use of AKE_Fileexists to vFilePathExists from vWin32fh.pkg made by Wil van Antwerpen - Antwise Solutions. Wincp850.pkg removed describe.inc removed (moved code into describe.vw) Old NTA, NTB and NTC files are now deleted before new description files are written. This ensures that old databasefiles that does not exists in the filelist are reentered in the filelist during the update. Changed the use of hardcoded filenumbers for seq. fileaccess to seq_new_channel function and seq_release_channel procedure. All read/write for seq. fileaccess now uses dynamic filenumbers. vShellExecute used instead of Runcommand to show logfile. Corrected an error while initializing a file (Maximum_position is changed to piMaximum). The description routine does not create dummy nta files for Codetype and Codemast if they are not present in the filelist. Codetype and Codemast are now treated as any other database files if they are present in the filelist. If they are not present (which is normal) the will still be initialized if the corresponding nti files are generated. *** Version 3.2 *** Corrected an error when creating indexes where cabs were bewteen. Ie index 1,2 and 4 is avaiable but index 3 is deleted. Before 3.2 index 3 would be avaiable with recnum as the only segment. The index is now deleted correctly. *** Version 3.1 *** Ready to run under VDF8 and VDF9 Changed the order deleting and inserting fields. The update could fail when new fields were inserted first and then old fields were deleted. This is now done in the opposite order. The views are now IDE compatible. Two special controls (Filform and Dirform) has been added and is also IDE compatible. It is however nessasary to register the controls either for the workspace or at global level. *** Version 3.0 *** Ready to run under VDF8. Primary functions implemented for working with ie Betrieve files, but not completly ready yet. *** Version 2.0 *** The update engine has been replaced completely. Now it uses structure commands whereas before it used the make_file command. This improves the update a lot. Further more only changed database files are updated. This also makes it possible to expand the update to handle driver based database files but is not yet ready. Since the make_file command has been replaced it is now possible to use @ in field names. A test functionality as been added, so you can compare databases and see what would have been changed by the update. No changes are made during a test update. A test-report is written in the same directory where the filelist.cfg are placed. The filename for the report is TESTUPD.TXT. The Known Issues command DELETE is now obsolete since the test update reports these changes. MAX_RECORDS is no longer examined its filesize. The update is now based on LOGICAL_NAME where earlier versions of dbUpdateUtil based it on ROOT_NAME. This makes it possible to report changes for alias files too. The same physical file is only updated once since the first update of the database file would cause the update of the same physical file to end up with no changes (whether or not the following logical_names are aliases or the “physical” file entry). But during a test update alias files would be reported with all the changes. DEF files have been replaced with NTA, NTB and NTC files for database description. These files are also text files that can be read in any text editor i.e. Notepad. NTA files describe the database file type and other properties. NTB files describe the fields for the database file and NTC describe the indexes. *** Version 1.2 *** I have replaced the File_exist command to my own routine AKE_FileExists (code-idea from Stures SEQ_FileExists). The only difference is that I use a specific channel 9 to do the work. For some reason File_exist does not function correctly. It sometimes indicates that the specified file does not exist even though it does? (There where no difference between Novell and Win NT either). MAX_RECORDS is examined for its filesize to se whether or not it is big enough to hold the dataset after importing the data to the newly constructed datafile. If there is 15% or less free space left the MAX_RECORDS is set to 140% (increased with 40%) of the actual use of records. This is done before the datafile is reindexed. In the earlier version of dbUpdateUtil the MAX_RECORDS was reset to whatever the .DEF file had stored leading in index-problems during the update of large databases. dbUpdateUtil now support full-length DataFlex-files (up to 16.7 mil. records). In the generation of initialise files it is now possible to indicate whether a record is to be initialised if the record does not exists or if it has to be initialised by force. This mean that the default behaviour of the dbUpdateUtil is only to initialise the record if it does not already exists where in the earlier version this record was always initialised (forced). Improved the generation of initialisation-files so they are based on field-names. This improves backwards comparability. Improved the reindex-procedure so all indexes of a datafile are set to there original state before the strucure_end command. This improves the reindexing of online-indexes since the dataset only has to be read once. In return an errormessage indicating that a index has failed to be reindex correctly is no more able to inform which of the indexes that has failed.