FIX: Internal Consistency Error Occurs After You Delete Records in a Buffered Table (318980)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 7.0

This article was previously published under Q318980

SYMPTOMS

When you use optimistic table buffering and you append records to a table, and then you delete all the records in the table, you may receive the following error message:
Internal consistency error.
If this message is reported, Visual FoxPro closes.

RESOLUTION

To resolve this problem, obtain the latest service pack for Visual FoxPro for Windows 7.0. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

316964 How to Obtain the Latest Visual FoxPro for Windows 7.0 Service Pack

STATUS

Microsoft has confirmed that this is a problem in Microsoft Visual FoxPro for Windows 7.0.

This problem was first corrected in Visual FoxPro for Windows 7.0 Service Pack 1.

MORE INFORMATION

Steps to Reproduce Behavior

Paste the following code in a program (.prg), and then run the file from the Command window:
LOCAL iRecordNum, iLoopVar

CLOSE DATABASES ALL
DELETE FILE testitem3.*
CREATE TABLE testitem3 (f1 c(5))

* Insert 1853 records in the table
FOR iLoopVar = 1 TO 1853   && Does not happen with 1852
   INSERT INTO testitem3 VALUES ('xxxxx')
ENDFOR

INDEX ON f1 TAG f1
INDEX ON DELETED() TAG DELETED
USE

SET DELETED ON
USE testitem3 SHARED
SET ORDER TO 1
SET MULTILOCKS ON
=CURSORSETPROP('buffering', 5)
DELETE ALL

* Append 16 records to the table
FOR iRecordNum = 1 TO 16
   ? iRecordNum
   APPEND BLANK
NEXT iRecordNum

BROWSE NOWAIT
				
After you run the program, you receive the error message that is described in the "Symptoms" section.

Modification Type:MajorLast Reviewed:4/10/2002
Keywords:kbbug kbCodeSnippet kbDatabase kbDSupport kbVFP700sp1fix KB318980