Btrieve v6.15.430 for Windows Client Engine Patch Update March, 1997 READCE.TXT ====================================================================== Contents ======== 1. General Information 2. File Listing 3. Updating Your Product 4. Changes and Enhancements 5. Known Issues 6. Customer Support 7. Disclaimer ====================================================================== 1. General Information ====================== Btrieve Technologies, Inc., has changed its name to Pervasive Software Inc. effective July 1, 1996. The name change reflects the company's expanding role as a leading supplier of database technology designed to bring client/server computing to the mass market. This patch update release will bring your existing Btrieve v6.15 for Windows Client Engine product up to date with the most recent changes and additions. ====================================================================== 2. File Listing =============== The following files are included in this patch update: PATWINCE.BAT PATCH.EXE FILESCE.EXE V615CE.RTP ====================================================================== 3. Updating Your Product ======================== This section explains how to update your existing installation of Btrieve v6.15 for Windows Client Engine. IMPORTANT: Be sure to back up your existing Btrieve components before installing this patch update. Here is a list of files that will be either updated or replaced. For all files that are updated, a valid copy of the file must exist or the update will fail. BIN directory WBT32RES.DLL Replaced WBTR32.EXE Updated WBTRCALL.DLL Replaced WBTRLOCL.DLL Replaced WBTRVRES.DLL Replaced The next table lists the expected file size and date stamps for all files to be updated: File Name Size Date Time --------- ---- ---- ---- WBTR32.EXE 374,192 05-26-94 07:01p v6.15 WBTR32.EXE 377,924 08-22-94 04:54p v6.15.1 WBTR32.EXE 317,116 11-22-94 03:09p v6.15.2 WBTR32.EXE 317,200 01-07-95 12:03p v6.15.100 WBTR32.EXE 322,136 03-20-95 10:03a v6.15.306 WBTR32.EXE 313,744 06-06-95 10:51a v6.15.525 WBTR32.EXE 313,744 08-29-95 10:16a v6.15.824 WBTR32.EXE 314,980 10-10-95 03:51p v6.15.925 *WBTR32.EXE 315,336 10-10-96 10:05a v6.15.430 This patch update checks the file's date stamp and file size to confirm that it is updating the correct files. This update will run successfully if the components to be updated have the file date stamp from the original installation or current upgrade available on CompuServe. Before updating your system, be sure that the existing directories contain the files with size and date stamp as identified above. A '*' is used to mark the latest available version of a file. When this patch is applied, these files are checked to make sure they are up to date, but they are not modified in any way. If you have received other updates from Pervasive Software to test out fixes to problems, be sure to replace these copies with an officially released version from the list above. This patch update process will attempt to update all of the engine files in a set. If there is an error updating one of the files, the other updates are also backed out. This ensures that your executables are kept in a consistent state before and after the patch update is complete. ------------------------------------------- Steps for applying the Btrieve patch update ------------------------------------------- 1. Copy BTRWINCE.EXE (self extracting zip file) to the directory containing a copy of the files to be updated where the product was originally installed (e.g. C:\BTI\WIN). 2. Run BTRWINCE.EXE to extract the batch and patch update files. 3. Run the PATWINCE.BAT DOS batch file. 4. After the batch file completes, check the V615CE.LST output file in the same directory for the patch update status. If you see status messages of the following form: error ept0036: Old File not found. However, a file of the same name was found. No update done since file contents do not match. you have attempted to apply the patch update against an invalid file. Check to be sure that you have the files as listed in this section above. 5. After the patch update has been successfully applied, you may delete all of the files listed in the File Listing section, above (Section 2). You may also delete the V615CE.LST file created during the patch update process. ====================================================================== 4. Changes and Enhancements =========================== Following is a description of the changes that have been made in this product update; only changes made after the initial product release are listed. * The system no longer locks up when running the Btrieve v6.15 for OS/2 workstation engine with either a Btrieve for DOS or a Btrieve for Windows engine on the same local OS/2 workstation. * In previous versions, if more than one workstation attempted a file recovery against a remote file, one of the workstations successfully opened the preimage file, while the other workstations received a Status Code 14 (Preimage Open Error). In this update, the other workstations wait until the file recovery is complete, instead of returning the error. * If your application is performing a high degree of concurrent updates in a peer-to-peer environment using the multi-engine file sharing option, you can realize a performance improvement by setting the /g parameter to the value 1:1. This parameter setting causes the engine to release file locks on any read or write operation, thus allowing other workstations quicker access to the same file or files. However, setting this option degrades performance for applications that are performing bulk read/write operations in a single user mode. * Updating different records in the same file by applications on multiple workstations in previous versions was very slow. Also, the workstation could eventually lock up. This problem no longer occurs. * You no longer receive a Status Code 100, No Cache Buffers Are Available, when using the BREBUILD utility, -M2 load option, to rebuild a large Btrieve file with many indexes defined. Customers rebuilding extremely large Btrieve files or Btrieve files with many duplicate values in the indexes also may have encountered this problem. * You no longer experience a network hang when the network goes down unexpectedly or a user on a peer-to-peer network disconnects the network cable. Previously, if the network went down or was disconnected and you tried to make a Btrieve call to a file on the network in multi-engine filesharing mode, the MicroKernel waited indefinitely to make the call. In this update, the MicroKernel returns Status Code 81, Lock Error, indicating that it cannot access the lock file. * In multi-engine file sharing mode, you no longer receive a Status Code 81 (Lock Error) and can access lock files if the directory containing your Btrieve files is read only. * Extended Operation buffer size (/b: ) does not need to be as large as the record size if the Extended Get/Step operation is only filtering/extracting on a portion of the record. * When you use STRESS.EXE from the MSC Windows Developer's Kit to stress memory and global heap, you may receive a Watcom WIN386 Error, "Not Enough Memory for Application." You no longer experience an engine lock when you receive this error. * Earlier versions of Btrieve v6.x removed the ability to create a segmented index that overlapped with an AUTOINC key. This was available in Btrieve v5.x. It has been restored with this update. Btrieve allows the segmented key to overlap the AUTOINC key only if the key number of the AUTOINC key is less than the key number of the segmented key. * This version of the MicroKernel introduces a new Status Code - 1020. You may receive this status code, if the Btrieve Requester interface detects a communications problem between itself and the MicroKernel engine when Windows is shutting down the system. This is an informative code which indicates that the requester interface could not send a request to the MicroKernel engine. Your application may display this informative message, and continue its cleanup process. * With this update, the default value for the Largest Compressed Record Size in the MicroKernel is 1 (1KB). The Setup utility displays zero (0) for this default value if the BTI.INI file is missing. * With this version of the Btrieve loader and requester interface, (WBTRCALL.DLL), you can retrieve the component's version number using the Windows GET VERSION API call. This allows you to check which version of WBTRCALL.DLL is being used. * The Btrieve engine (WBTR32.EXE) is referred to as the MicroKernel Database Engine (MKDE). This change appears in the About Box for the Btrieve icon. * BTRIEVE.TRN has been renamed to MKDE.TRN. * A new option in BTI.INI file solves Status Code 81 problems on peer-to-peer networks. [Btrieve Client] DeleteLockFile= [No | Yes] (Default: Yes) DeleteLockFile Entry --------------------------- The Delete Lock File entry is used to instruct the MicroKernel to delete temporary files in multi-engine file sharing mode (MEFS). The MicroKernel uses temporary files to control access between multiple engines. The temporary files are created with the data filename extension replaced with an .LCK extension. On some peer-to-peer networks, deleting the .LCK file in multi-engine sharing causes the application to receive a return code of Lock Error (81). If this occurs, set DeleteLockFile to No. ====================================================================== 5. Known Issues =============== * A sharing violation under some networks, such as LAN Manager, can occur when two users are sharing v6.x Btrieve files. When one of the users closes the Btrieve file, the second user receives a sharing violation on the *.LCK file. * A GetNext operation on a v6.x format file with a repeating-duplicates key fails to return Status Code 9 if the previous Get operation is followed by Abort Transaction/Begin Transaction operations. * With a small data buffer on an Extended Insert operation, Brequest returns a Status Code 97; however, it fails to set the first 2 bytes of the data buffer to zero indicating that no records have been inserted. * There is a timing window in which the following situation could occur if two update requests are issued within a very short time period. If two workstations access the same file on a shared drive and the first workstation reads the record with a lock and updates it, the second workstation issues a read with lock to the same record, the old image of the record that the first workstation updated may be returned to the second workstation. * If you are using MS Access v2.0 with this version of Btrieve, you may occasionally receive a status 7 when browsing a Btrieve table. If this occurs, you may need to upgrade your copy of Microsoft's Btrieve driver. Contact Microsoft's Product Support Services for an update. * Btrieve v6.15 for Windows uses operating system locks to implement file and record level locking. If you are running on a Novell network, using NetWare v3.11, your server may abend if your application is retrying on a status 84. Under certain conditions, if the total number of system locks acquired by Btrieve exceeds the configurable maximum value for a workstation (connection), Btrieve receives a record locked status instead of system lock table full status. For example, if the file server is configured for a maximum of 500 record locks per connection (the default) and the number of operations within a concurrent transaction is very large (i.e., 1000 or more operations), the server may abend. Before abending, the following message may be displayed on the server console: Station x record lock threshold exceeded. Total violations nnnn where x represents the connection number, and nnnn represents the total number of record lock violations. Refer to your NetWare documentation for information on how to change the value of file server. This problem has been reported to Novell Developer Support. This same message will be displayed on a NetWare v3.12 or NetWare v4.x server console, however the server will not abend. Instead, the message described above will continue to be displayed as long as your application retries on the status 84. * If you attempt to redirect your pre-image and lock files (/i configuration parameter) to another drive and your workstation is using VLMs for network access, the directory on the redirected drive cannot be located. Instead, the pre-image and lock file drive location will revert to the Btrieve file location. This problem has been reported to Novell Developer Support. ====================================================================== 6. Customer Support =================== Pervasive Software Inc. provides Customer Support to assist you with your Btrieve product. Refer to your documentation for details and contact information on Pervasive Software's Customer Support programs. ====================================================================== 7. Disclaimer ============= PERVASIVE SOFTWARE INC. LICENSES THE SOFTWARE AND DOCUMENTATION PRODUCT TO YOU OR YOUR COMPANY SOLELY ON AN "AS IS" BASIS AND SOLELY IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF THE ACCOMPANYING LICENSE AGREEMENT. PERVASIVE SOFTWARE INC. MAKES NO OTHER WARRANTIES WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE SOFTWARE OR THE CONTENT OF THE DOCUMENTATION; PERVASIVE SOFTWARE INC. HEREBY EXPRESSLY STATES AND YOU OR YOUR COMPANY ACKNOWLEDGES THAT PERVASIVE SOFTWARE INC. DOES NOT MAKE ANY WARRANTIES, INCLUDING, FOR EXAMPLE, WITH RESPECT TO MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR PURPOSE OR ARISING FROM COURSE OF DEALING OR USAGE OF TRADE, AMONG OTHERS. ====================================================================== (c) Copyright 1982-1997, Pervasive Software Inc. All Rights Reserved Worldwide **End of READCE.TXT**