Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Incident Reports » Incident Reports Reported for Version 2.08 » View Incident Report |
Serious |
Reported By: Harry Mulder Reported On: 4/15/2001 For: Version 2.08 Build 1 |
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DBISAMTb, Db, EDBISAMTable; type TForm1 = class(TForm) tbl: TDBISAMTable; Button2: TButton; procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button2Click(Sender: TObject); var i : integer; begin with Tbl do begin (* get some data in there, else it doesn't "work" *) Open; for i := 0 to 5000 do begin insert; post; end; Close; (* Next, we create an index; this should go fine.. *) Open; AddIndex( 'TmpAnalyzeOnParentKey', 'RecKey; ParentKey', [] ); Close; (* Now things start to get interesting; set a breakpoint on the next *) (* 'Open'. Let it run up to here, and open up DBSys; I have had occurences *) (* where the 'Sec. index'-tab of 'Open table shared' shows that the new *) (* index exists, while 'Restructure' does not ! *) Open; DeleteIndex('TmpAnalyzeOnParentKey'); Close; (* with the supplied database, I get the opposite effect of what I said *) (* previously: after this DeleteIndex, 'Open table' correctly states that *) (* the index is no longer available, while 'Restructure' still thinks its *) (* there.. *) RepairTable; (* and Bingo! this AddIndex will trigger a "#9217 Error reading from *) (* table". Try opening the table in DBSys, and it will tell you the *) (* header is corrupt. *) Open; AddIndex( 'TmpAnalyzeOnParentKey', 'RecKey; ParentKey', [] ); Close; end; end; end.
This web page was last updated on Wednesday, March 20, 2024 at 07:22 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |