home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / lan / bpt510.arj / BUGS.510 < prev    next >
Text File  |  1991-02-26  |  24KB  |  580 lines

  1.       Bug descriptions for :
  2.  
  3.       BTRIEVE (DOS, OS/2, Windows,  & NLM)
  4.       BSERVER(VAP), 
  5.       BUTIL, 
  6.       BTRTOOLS
  7.       Requester (DOS & OS2)
  8.  
  9.   1. Bserver (vap)
  10.      Note: Not a really a bug, but an improvement!
  11.  
  12.      If a GET DIRECT operation would return a record which has a null value in
  13.      the key field specified by key number (and the key allows duplicates) then
  14.      status 82 returned. This is a correct status code. However, sometimes
  15.      the user is not interested in positioning by any of the keys, but he simply
  16.      just wants to retrieve the record. To achieve this, a new option is pro-
  17.      vided by this patch: the user can specify -1 in the key number and then
  18.      ONLY the data will be returned (and of course, no status 82 will be repor-
  19.      ted).
  20.  
  21.   2. Bserver (vap)
  22.  
  23.      Files with variable size records can become corrupted (on its variable
  24.      pages) if the page size is at least 1024 and the user stores a lot of
  25.      records with extremely short (1 or a few bytes long) variable parts.
  26.  
  27.   3. Bserver (vap)
  28.  
  29.      Files can be left open on a server if another connected server crashes
  30.      and Netware SQL has opened these files previously from the crashed
  31.      server.
  32.  
  33.   4. Bserver (vap)
  34.  
  35.      If 2 workstations hold record locks on the same file and then they both
  36.      start a transaction and attempt to get a record from this file (i.e. try
  37.      to lock the file), then both stations will be locked up, without getting
  38.      a status 78 ("deadlock detected") on one of the stations.
  39.  
  40.   5. Bserver (vap)
  41.  
  42.      Any file access (get,step,etc.) can return an erroneous status 85
  43.      (was previously documented here as an 84- "File in use") in a "no-wait"
  44.      transaction (op code 219) or can lock up in a regular transaction
  45.      (op code 19) if this station (say Station 1) is holding a record
  46.      lock on the file BEFORE it issues the BEGIN TRANSACTION and another
  47.      station (say Station 2) had opened the file earlier than Station 1.
  48.  
  49.  
  50.   6. Bserver (vap)
  51.  
  52.      If the user passes Btrieve a file name in an illegal format (i.e. more than
  53.      8 characters as name or more than 3 characters as extension) then Brieve
  54.      stores it as it is given. However, Netware 286 drops the extra letters and
  55.      will open a file which matches the re-formatted name (e.g if given:
  56.      "abcdefghij.klmno" then file "abcdefgh.klm" is opened if it exists). This
  57.      can cause a status 94 for another open if that other open is not getting
  58.      the same, "miss-spelled" name. This patch will make sure that Btrieve
  59.      will always store internally the file name as it exists in reality.
  60.  
  61.   7. Bserver (vap)
  62.  
  63.      When all workstations are shut down on an ArcNet network, the VAP
  64.      operating system returns an error to all VAPs using the Service
  65.      Advertising Protocol.  This causes Bserver to issue an Error-Log message
  66.      of "Send Failure in Advertiser".   This patch is normally commented-out,
  67.      but may be enabled by users who find their error logs clogged up.
  68.  
  69.   8. Bserver (vap)
  70.  
  71.      The following scenario produces an erroneous status 14:
  72.          a. first a workstation opens a file read-only;
  73.          b. the same file is opened again in regular mode once or more times
  74.             (either by another or by the same workstation);
  75.          c. using the "regular-mode" handle(s) do some operations which involve
  76.             the preimage file of the file (insert, update, delete, or transact)
  77.          d. close the file on all handles so that the "read-only" handle does
  78.             the LAST close;
  79.          e. open the file again in regular mode and try to do any operation
  80.             which uses the pre-image file.
  81.  
  82.   9. Brequest
  83.  
  84.      This patch makes BRequest aware of a new error code #74, which results
  85.      when an END_TRANS function is internally changed to an ABORT_TRANS due
  86.      to a previous error within the transaction.  Without this patch,
  87.      Brequest will stop broadcasting the END_TRANS to all servers when this
  88.      error is encountered.  This can result in the transaction left open on
  89.      another server.
  90.  
  91.  10. Brequest
  92.  
  93.      This patch fixes BRequest so that it can reset another workstation by
  94.      connection number without also resetting itself and terminating its own
  95.      connection.
  96.  
  97.  11. Brequest
  98.  
  99.      This patch fixes a BRequest SPX input queueing problem which can result
  100.      in lost packets and even BRequest lock-up when overloaded.  This problem
  101.      is generally seen only if a very slow workstation is talking to a very
  102.      fast (and lightly loaded) BServer.  It may also appear when BRequest is
  103.      running in a DesqView window with other processes (such as copying from
  104.      a hard disk to a floppy), since that effectively slows the W.S.
  105.  
  106.  12. BUTIL.EXE
  107.  
  108.      Increased stack size to 22K bytes.  Btrieve utilities for COPY and
  109.      BINDEX were crashing due to insufficient stack space to accommodate
  110.      local variables.
  111.  
  112.  13. Brequest
  113.  
  114.      This patch was made to satisfy a user request that BRequest should be able
  115.      to alternately attach, query, and detach to an indefinite number of
  116.      BServers.  Currently, BRequest would have to be unloaded after the 8th
  117.      server is attached.
  118.  
  119.  13/a Brequest
  120.  
  121.      This patch is required in conjunction with patch #13 and ALSO fixes a
  122.      longstanding problem where a Begin_Transaction immediately after mapping
  123.      to a new server would fail to broadcast the transaction to that server.
  124.  
  125.  14. Btrieve (nlm)
  126.  
  127.      An incompetibility with the rest of the Btrieve products:
  128.        The Get Position operation following a Delete operation returns
  129.        status 43 instead of status 8.
  130.  
  131.  15. OS/2 Requester
  132.  
  133.      15.a Returning status 22 on extended inserts
  134.      15.b Version returned was 5.0
  135.  
  136.  16. OS/2 Requester
  137.  
  138.      Opening a file on a different server than previously opened
  139.      files could have resulted in a status 12 despite correct filename
  140.      and drive mappings.
  141.  
  142.  17. OS/2 Requester
  143.  
  144.      Apparently random status 12 or 91 returned when opening a file.
  145.      This occurs if two file servers in the LAN have identical internet
  146.      addresses except for the last byte, and if the desired server is
  147.      found after the other in the bindery scanned for BSERVER VAP's.
  148.  
  149.  18. OS/2 Requester
  150.  
  151.      Protection violation generated by the COBOL interface due to the
  152.      requester not restoring the caller's SI and DI registers on return.
  153.      This could, but hasn't yet, be caused in other languages as well.
  154.  
  155.  19. Btrieve (nlm)
  156.  
  157.      Without this patch various random error status can be returned when using
  158.      variable length pages or using truncation.
  159.  
  160.  20. Btrieve (dos)
  161.  
  162.      Btrieve might hang if another TSR program is using it.
  163.  
  164.  21. Btrieve (nlm)
  165.  
  166.      The Btrieve function to compare INTEGER keys will sometimes not
  167.      recognize a negative value, such as 8000h, as the lower value, treating
  168.      it as unsigned instead.
  169.      ( This patch was originally buggy and had to be corrected on 29Oct90. )
  170.  
  171.  22. Btrieve (nlm)
  172.  
  173.      If 1. User1 and User2 have different files open ( A and B ) and
  174.         2. User3 also opens file A and
  175.         3. User4 also opens file B while
  176.         4. User2 is simultaneously CLOSING file B
  177.      a timing window may appear which causes a divide-by-0 GPI. This patch
  178.      corrects a semaphore to fix this.
  179.      ( This patch was modified on 29Oct90 to allow correction to #21, above. )
  180.  
  181.  23. Btrieve (only dos 5.10, not 5.10a!)
  182.  
  183.      Btrieve might hang when loading in certain environments (hardware and/or
  184.      programs run before loading Btrieve)
  185.  
  186.  24. Btrieve (nlm,dos)
  187.  
  188.      Get Key-only operations are erroneously not updating the position block.
  189.  
  190.  25. Btrieve (vap)
  191.  
  192.      Logging to a different volume of the same server does not work properly.
  193.  
  194.  26. Btrieve (nlm)
  195.  
  196.      If a Btrieve file has a ZSTRING or LSTRING key using alternate collating
  197.      sequence then a key value of length 0 for that key can result in some
  198.      undeterministic error due to an uninitialized variable.
  199.  
  200.  27. Btrieve (nlm, vap ) & Brequest (dos, os/2 )
  201.  
  202.      For data-only files, Btrieve was returning data to the key buffer
  203.      after Get Direct, Update, Insert and Extended Insert.
  204.      *** THE PATCH MUST BE MADE BOTH TO THE VAP (OR NLM) AND THE REQUESTER ***
  205.          THE VAP (OR NLM) SENDS A FLAG TO THE REQUESTER- IF YOU DON'T PATCH
  206.          THE REQUESTER THE FLAG WILL NOT BE UNDERSTOOD AND THE PROBLEM WILL
  207.          STILL BE PRESENT.
  208.  
  209.  28. Btrieve (dos)
  210.  
  211.      A file can become corrupted if a work station opens a file as another
  212.      workstation closes the same file from an accelerated processing mode
  213.      (timing-related bug, which is corrected by this patch).
  214.  
  215.  29. Btrieve (nlm)
  216.  
  217.       This fixes a bug where a file opened by Btrieve on the server could
  218.       not be opened for read-only by a non-Btrieve application, even though
  219.       the file had the Shareable attribute set by the Netware FLAG utility.
  220.  
  221.  30  Btrieve (vap, dos)
  222.  
  223.      Btrieve will return an erroneous status 26 when adds a supplemental
  224.      index with 8 segments to a data only btrieve file of size 512 bytes.
  225.  
  226.  31  Btrieve (dos)
  227.  
  228.      Btrieve will return an erroneous status 83's when it does Insert Extended
  229.      operations within a transaction.
  230.  
  231.  32  Btrieve (nlm)
  232.  
  233.      This fixes a bug in an undocumented Btrieve function call, used by
  234.      Netware SQL.  Only apply this patch after applying patch #27!
  235.  
  236.  33  Btrieve (vap, nlm)
  237.  
  238.      This fixes the following bug: after a Get Direct returns a status 22
  239.      (user's data buffer too small), the user's key buffer was being
  240.      overwritten with garbage.   It also fixes a bug in which the nlm
  241.      was not returning a key value after a Get Direct returns a status 22
  242.      when the user's data buffer WAS long enough to at least receive the
  243.      fixed length portion (including the keys) of the record.
  244.      *** THIS PATCH WILL ONLY WORK IF PATCH #27 HAS BEEN APPLIED TO THE ***
  245.          VAP OR NLM AND BREQUEST.EXE !!!
  246.  
  247. 34  Btrieve (vap)
  248.  
  249.     Fixes a bug which caused a GPI crash on the vap's server when the
  250.     application used the Extended Insert function and passed a data buffer
  251.     larger than the "Largest record size" parameter configured by Bsetup.
  252.  
  253. 35  Btrieve (dos)
  254.  
  255.     Fixes a bug which causes btrieve to unnecessarily make a preimage
  256.     file if the very first operation requested after Btrieve is loaded
  257.     is a Create.
  258.  
  259. 36  Btrieve (dos)
  260.  
  261.      Fixes a bug by which btrieve crashes (or perhaps shows other
  262.      unpredictable symptoms) when updating a record retrieved with a
  263.      get direct or step (no key) operation if there has been no insert
  264.      nor get (using a key) since the file was open, and if the file's
  265.      position block array contained values other than binary zeros prior
  266.      to the file's open operation.
  267.      (Fixes problem where update to dataonly file after StepFirst
  268.       hangs the workstation)
  269.  
  270. 37   Btrieve (nlm, dos, and vap)
  271.  
  272.      Fixes a bug which caused Btrieve to return an incorrect status 2
  273.      when deleting a record from a file with a supplemental index.
  274.      This bug is most likely to occur only if few records have been inserted
  275.      since the creation of the supplemental index.  The bug only occurs
  276.      on the VAP or DOS if the supplemental index was created with the NLM.
  277.  
  278. 38   BTRTOOLS - (Windows Btrieve utilities)
  279.  
  280.      This patch fixes the description file utility dropping the first
  281.      word of the comments from the description file.
  282.  
  283. 39   Btrieve (OS/2)
  284.  
  285.      Fixes a bug which would cause a segmentation violation during
  286.      re-initialization through BTRVINIT().
  287.  
  288. 40   Btrieve ( vap )
  289.  
  290.      Fixes an error in patch #34 for the vap.  This error caused a status 39
  291.      to be returned to XQLI when that program starts-up.
  292.  
  293. 41   Btrieve ( OS/2 & Windows )
  294.  
  295.      Fixes the same problem described in patch 35.
  296.  
  297. 42   Btrieve ( OS/2 & Windows )
  298.  
  299.      Fixes the same problem described in patch 36.
  300.  
  301. 43   Btrieve ( OS/2 & Windows )
  302.  
  303.      Fixes the same problem described in patch 37.  This bug will only
  304.      occur in Btrieve for Windows or OS/2 when using a file created by
  305.      the NLM Btrieve.
  306.  
  307. 44   Btrieve ( dos & OS/2 )
  308.  
  309.      Fixes this bug: A file is opened in exclusive mode.  The application
  310.      then repeats the following sequence a several times, each time using a
  311.      different record: it retrieves a record using a multiple record lock
  312.      bias (300 or 400), then it updates or deletes that record (which should
  313.      clear the lock).  Eventually, a status 81 (Lock Error) is returned.
  314.      The number of times it can repeat the sequence before the status 81
  315.      is determined the user's specification of the maximum number of multiple
  316.      locks (/L:).  For DOS Btrieve, this bug will also appear if the file is
  317.      opened in other modes, provided that the file is on a non-network drive
  318.      and SHARE.EXE is not loaded.
  319.  
  320. 45   BTRTOOLS (Windows)
  321.  
  322.      Fixes bug which required File Information key count to match total
  323.      key/segment count in description file.  This was for the description
  324.      file edit utility.
  325.  
  326. 46   Btrieve (dos)
  327.  
  328.      Btrieve does not return status code 83 when a record is updated but
  329.      not read inside a transaction.
  330.  
  331. 47   Btrieve (NLM)
  332.  
  333.      When many workstations are constantly updating the same file, a timing
  334.      window can appear which results in cache corruption.  The effects can
  335.      range from file corruption to abends due to divide/by/zero or processor
  336.      exception interrupts.
  337.  
  338. 48   Btrieve (NLM)
  339.  
  340.      When ending a transaction on multiple files of different page sizes, the
  341.      cache can become corrupted, causing the next reader of a file in the
  342.      cache to get errors #15 and/or #52.
  343.  
  344. 49   BROUTER (NLM  {Netware 3.1})
  345.  
  346.      This patch forces only one connection per server and serializes
  347.      client threads to avoid an as-yet-unexplained SPX hang.
  348.  
  349. 50   BROUTER (NLM  {Netware 3.1})
  350.  
  351.      This patch fixes the SPX hang mentioned above and may be used instead
  352.      of patch #1.  (using both patches is equivalent to using just #1)  This
  353.      allows up to 3 BRouter-Btrieve conections to a given server and may
  354.      result in improved performance in some cases.
  355.  
  356. 51   BUTIL.EXE
  357.  
  358.      Clone is created incorrectly for a file which has at least one multi-
  359.      segmented supplemental key and one or more additional supplemental keys.
  360.  
  361. 52   BROUTER (VAP)
  362.  
  363.      This bug causes the server to GPI or ABEND if a Btrieve CREATE call
  364.      is made to a REMOTE server.
  365.  
  366. 53   BROUTER (VAP)
  367.  
  368.      If there are more than 100 file servers on the network(s), then BRouter
  369.      will sometimes crash when building it's server tables.
  370.  
  371. 54   BROUTER (VAP)
  372.  
  373.      This patch fixes a BRouter SPX input queueing problem which can result
  374.      in lost packets and even BRouter lock-up when overloaded.
  375.  
  376. 55   Btrieve (VAP, DOS, Windows, OS/2)
  377.  
  378.      If VAP Btrieve has a file open, and DOS or Windows Btrieve (running on
  379.      a workstation) tries to open a file in the Normal, Verify, or Exclusive
  380.      modes, DOS/Windows/OS2 Btrieve incorrectly returned a status 94.  This
  381.      patch makes it return the correct status, 85.  Similarly, if Btrieve
  382.      running on a workstation has a file open and VAP Btrieve tries to
  383.      open it (any mode), VAP Btrieve was returning a 94.  Now it'll return
  384.      an 85.  Also, if a workstation Btrieve tries to open a file in
  385.      Accelerated mode in a directory in which the user does not have Netware
  386.      Write permission, an incorrect status of 85 was being returned.  Now
  387.      it returns a 94.
  388.  
  389. 56   Btrieve (VAP)
  390.  
  391.      This bug allowed a user to open and write to files in directories
  392.      in which the user has no Write permission.
  393.  
  394. 57   Btrieve (NLM)
  395.  
  396.      This bug caused a GET_NEXT to fail with a status 8 immediately after
  397.      an extended insert, but only if the insert followed an open call.
  398.  
  399. 58   Btrieve (VAP)
  400.  
  401.      This is not really a bug but it allows applications which "illegally"
  402.      change the key number when executing an update operation to operate
  403.      without getting a status 7. (Earlier versions did not catch the user
  404.      when changed the key number, so this fix makes 5.10 backward compatible
  405.      in this respect.)
  406.  
  407. 59   Btrieve (NLM)
  408.  
  409.      Multiple segmented null keys are not working; they either inserted into
  410.      the index (if duplicates are allowed) or the first occurance is inserted
  411.      into the index and status 5 is returned for the rest of the time (if
  412.      duplicates are not allowed).
  413.  
  414. 60   Btrieve (NLM)
  415.  
  416.      For a KEY-ONLY file which is small enough to fit on a single page, the
  417.      operations sequence OPEN-GET LAST(KEY)- GET PREVIOUS(KEY) [0-63-57] can
  418.      cause the server to hang in a loop.
  419.  
  420. 61   Btrieve (NLM)
  421.  
  422.      An Extended Insert called with a data buffer of all 0's (no data) would
  423.      return a random, uninitialized error value instead of the correct #63.
  424.  
  425. 62   Btrieve (!!!! Only for IBM PC LAN users !!!!)
  426.  
  427.      Changes executed on a file within a transaction are erroniously rolled
  428.      back if another station accesses the file before an End Transaction (op19)
  429.      executed on the first station.
  430.  
  431. 63   Btrieve (NLM)
  432.  
  433.      Btrieve may return a status 9 (End of File) prematurely when Step Direct
  434.      is used to retrieve records from a file with greater than 65,535 pages
  435.      (i.e., at least 32 megabytes, depending on page size).
  436.  
  437. 64   Btrieve ( DOS )
  438.  
  439.      If the user attempts to install Btrieve with the /F:nn parameter to
  440.      specify that Btrieve allow more than 20 open files, and for any reason
  441.      the attempted installation fails (e.g., Btrieve already loaded), then
  442.      this bug could cause unpredicatible symptoms, most likely hanging the
  443.      system.
  444.  
  445. 65   Btrieve ( OS/2 )
  446.  
  447.      Cntl-Break causes program to hang because OS/2 does not either clear
  448.      the Btrieve semaphore owned by the process, or does not let the process
  449.      finish the Btrieve operation before terminating.  The ExitList routine
  450.      was waiting for the semaphore to clear.  Cntl-C does not cause have
  451.      this problem.
  452.  
  453. 66  Btrieve (nlm)
  454.  
  455.      This fixes a bug in an undocumented Btrieve function call, used by
  456.      XQL and NetWare SQL.  The bug caused Netware SQL/XQL to return a 
  457.      status 25 when logging in.
  458.  
  459. 67   Btrieve (vap)
  460.  
  461.      This fixes a bug in an undocumented Btrieve function call which is 
  462.      used by NetWare SQL in its "alter table" function.  This bug was
  463.      introduced by patch #6.
  464.  
  465. 68   BROUTER (NLM, VAP)
  466.  
  467.      This fixes an interface problem between both BROUTERs and the Btrieve NLM
  468.      when doing an update operation on a key number other than 0.  In some
  469.      cases this could result in over-writing the front of the record.
  470.  
  471.  
  472. 69   Btrieve ( DOS, Windows, OS/2 )
  473.  
  474.      When the user attempts to use Btrieve's logging feature, and specifies 
  475.      a log file on a different volume of the same server on which the 
  476.      file-to-be-logged resides, logging does not happen.  This patch fixes
  477.      the problem for DOS and Windows Btrieve.  However, this problem is 
  478.      not patchable for OS/2 Btrieve.     
  479.  
  480. 70   Brequest.exe
  481.  
  482.      Brequest would not completely fill its data buffer, returning #97 for
  483.      a 4096-byte record, even with a /D=4096 parameter.
  484.  
  485. 71   Btrieve ( DOS, Windows, OS/2, VAP, NLM )
  486.  
  487.      When an application does a Step Next or Step Previous (or Extended
  488.      Step Next/Previous) after a Delete, Btrieve should return a status
  489.      8, Invalid Positioning.  Instead, this bug causes it to go into an
  490.      endless loop.  With the VAP & NLM, the workstation will appear to be 
  491.      hung, too.  This patch fixes that bug.  (The bug only appears if the 
  492.      record deleted has a physical position > 0xffff.)  Also fixed is a 
  493.      related symptom of this bug: DOS, Windows and OS/2 Btrieve incorrectly 
  494.      return a status 0 if you do a Get Position after a Delete.
  495.  
  496.  
  497. 72   Btrieve (NLM)
  498.  
  499.      If station #1 is doing GETEQUALs with a key and client #2 is doing
  500.      DELETES on the same file using a different key, the system can sometimes
  501.      get confused about which key was last used by #1, returning a status 7.
  502.  
  503. 73   Btrieve (DOS, Windows, OS/2)
  504.  
  505.      Fixes a bug which shows up in the following scenario: an application has
  506.      two files open, and file #2 is opened in accelerated mode.  It closes
  507.      file #1.  It does some updates/inserts to file #2.  It closes file #1 
  508.      again (an error which returns a status 3).  Many of the recent changes
  509.      to file #2 will be lost.
  510.  
  511. 74   Btrieve (DOS, Windows, OS/2)
  512.  
  513.      Regarding the Btrieve logging feature: the Reset operation was not 
  514.      being logged, and the log files were being left opened after a Reset.
  515.  
  516. 75   Btrieve (NLM)
  517.  
  518.      XQLP and SQL returned status 82 on a user-defined sort at the NLM due
  519.      to a bug in an undocumented Btrieve function.
  520.      
  521. 76   Btrieve (DOS)
  522.  
  523.      This corrects severe performance degradation on simple reads during
  524.      inserts by another WS with a transaction on the file.  This was caused by
  525.      waiting in a loop for a lock instead of simply verifying a not-locked
  526.      state and returning.
  527.  
  528.  
  529. 77  Btrieve (DOS)
  530.  
  531.      Btrieve 5.10 uses a new mechanism in order to keep more than 20 files
  532.      open to DOS at a time, instead of rotating the 20 available handles.
  533.      This can cause Btrieve to compete with the application for available DOS
  534.      or NetWare handles where it did not previously do so.  One solution is
  535.      to set the NetWare shell configuration to allow more than the default 40
  536.      handles.  A low-performance solution is to use this patch to disable the
  537.      new mechanism and keep the 20 handle rotaton limit.  This allows 5.10 to
  538.      substitute for 5.00 without any environment changes, but at a cost.
  539.  
  540.  
  541. 78   Btrieve (DOS, Windows, OS/2, VAP) and BROLLFWD.
  542.  
  543.      If the computer on which DOS, Windows, or OS/2 Btrieve is running is 
  544.      turned off or rebooted during a transaction, Btrieve's implicit Abort
  545.      Transaction, which it performs when the files involved are next opened,
  546.      was not being logged properly.  Also, with BSERVER.VAP, there is a small
  547.      timing window during which, if the server is turned off during an update,
  548.      delete, or insert, the VAP may improperly log an operation when the 
  549.      involved files are reopen.  In each of these cases, the improper logging
  550.      will confuse BROLLFWD.  (Note: BROLLFWD is not being patched.  You
  551.      must use version 5.15 of BROLLFWD to fix this bug.)
  552.  
  553.  
  554. 79   Btrieve (DOS, Windows, and OS/2)
  555.  
  556.      If an End Transaction operation is interrupted (by a reboot, or power
  557.      down), Btrieve may not be able to use the transaction file.  DOS Btrieve
  558.      displays "Unable to access btrieve file for transaction recovery" and
  559.      will not load.  Windows and OS/2 Btrieve return a status 1002.  This
  560.      patch is for DOS Btrieve only.  Windows and OS/2 Btrieve will be fixed
  561.      in the next release.
  562.  
  563. 80   Btrieve (NLM)
  564.  
  565.      In certain cases when an UPDATE fails for Duplicate Key (Error 5) the
  566.      update operation may not be undone properly.  This can result in
  567.      subsequent status 9s or 4s on a GET_EQUAL for a limited number of other
  568.      keys which may have been corrupted by this failure.  This bug corrects
  569.      the preimaging call to fix this.
  570.  
  571. 81   Btrieve (DOS)
  572.  
  573.      The user's Filter_Reject_Count on GET_EXTENDED operations was limited
  574.      to 128 records, regardless of the length passed in, resulting in error
  575.      #60 when records should have been returned.  This removes that limit.
  576.  
  577.  
  578. *****  Last Update - 2/22/91  -  MH *****
  579.  
  580.