Problem Note 35492: Could not find value or Record ID (RID) to do delete on index
Because of the REUSE option, as observations are deleted from the data file, the empty pages are put on an available space chain. When the data set is re-populated, the pages are pulled off the available space chain in no particular order. The record id (RID), which is indexed, consists of the page number of the observation in the data file followed by some other fields.
In the test cases, the indexed variable only has one value, so the RIDs for that value are put into the index in a multiple occurrence chain, which is kept in ascending order. When an index is built initially for a REUSE table, or for any insertions for a non-REUSE table, the RIDs are given to the index in ascending order.
In the case of REUSE, since the data file pages may not in order, the RIDs must be inserted into the proper place in the multiple occurrence chain to keep it in ascending order. If the RIDs are not in order, the delete code may not be able to find the RID to delete, as in the test cases. There is a bug in the insertion code for multiple occurrences that is allowing RIDs to be placed into the chain out of order.
Select the Hot Fix tab in this note to access the hot fix for this problem.
Operating System and Release Information
SAS System | Base SAS | z/OS | 9.1 TS1M0 | |
Microsoft® Windows® for 64-Bit Itanium-based Systems | 9.1 TS1M0 | |
Microsoft Windows Server 2003 Datacenter 64-bit Edition | 9.1 TS1M0 | |
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 9.1 TS1M0 | |
Microsoft Windows 2000 Advanced Server | 9.1 TS1M0 | |
Microsoft Windows 2000 Datacenter Server | 9.1 TS1M0 | |
Microsoft Windows 2000 Server | 9.1 TS1M0 | |
Microsoft Windows 2000 Professional | 9.1 TS1M0 | |
Microsoft Windows NT Workstation | 9.1 TS1M0 | |
Microsoft Windows Server 2003 Datacenter Edition | 9.1 TS1M0 | |
Microsoft Windows Server 2003 Enterprise Edition | 9.1 TS1M0 | |
Microsoft Windows Server 2003 Standard Edition | 9.1 TS1M0 | |
Microsoft Windows XP Professional | 9.1 TS1M0 | |
64-bit Enabled AIX | 9.1 TS1M0 | |
64-bit Enabled HP-UX | 9.1 TS1M0 | |
64-bit Enabled Solaris | 9.1 TS1M0 | |
HP-UX IPF | 9.1 TS1M0 | |
Linux | 9.1 TS1M0 | |
OpenVMS Alpha | 9.1 TS1M0 | |
Tru64 UNIX | 9.1 TS1M0 | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
When performing multiple inserts into, and deletes from, an indexed SAS table which has been created using the COMPRESS=YES and REUSE=YES options causes a corruption of the index with errors.
Type: | Problem Note |
Priority: | high |
Date Modified: | 2013-12-13 19:21:25 |
Date Created: | 2009-04-07 15:59:34 |