> >** Test program for UNIQUE Index problem >CLOSE TABLES ALL >CLEAR ALL >SET DELETED ON > > >IF FILE('UNQTBL.DBF') > DELETE FILE UNQTBL.DBF >ENDIF > > >CREATE TABLE UNQTBL (TRMCODE C(4), COURSE C(7), SECTION C(2)) > >INSERT INTO UNQTBL VALUES ('1234', 'ACC101', '01') >INSERT INTO UNQTBL VALUES ('1234', 'ACC101', '01') >INSERT INTO UNQTBL VALUES ('1234', 'ACC101', '01') > >&& This will delete the first two identical records and leave >&& the last record visible. >GO TOP >DELETE >SKIP >DELETE > >INDEX ON TRMCODE + COURSE + SECTION TAG UNIQREC UNIQUE >&& Actual results show no records due to the prior deleted duplicate data >BROWSE > >UNIQUE index ignores deleted() flag
** Test program for UNIQUE Index problem CLOSE TABLES ALL CLEAR ALL SET DELETED ON IF FILE('UNQTBL.DBF') DELETE FILE UNQTBL.DBF ENDIF CREATE TABLE UNQTBL (TRMCODE C(4), COURSE C(7), SECTION C(2)) INSERT INTO UNQTBL VALUES ('1234', 'ACC101', '01') INSERT INTO UNQTBL VALUES ('1234', 'ACC101', '01') INSERT INTO UNQTBL VALUES ('1234', 'ACC101', '01') && This will delete the first two identical records and leave && the last record visible. GO TOP DELETE next 2 INDEX ON TRMCODE + COURSE + SECTION FOR NOT DELETED() TAG UNIQREC UNIQUE && Actual results show no records due to the prior deleted duplicate data BROWSEBut after every write operation ( DELETE/RECALL/REPLACE/UPDATE/APPEND/INSERT...)
** Test program for UNIQUE Index problem CLOSE TABLES ALL SET DELETED ON CREATE CURSOR UNQTBL (recno i, TRMCODE C(4)) INSERT INTO UNQTBL VALUES (1,'1234') INSERT INTO UNQTBL VALUES (2,'1234') INSERT INTO UNQTBL VALUES (3,'1234') && This will delete the first two identical records and leave && the last record visible. DELETE RECORD 1 INDEX ON TRMCODE FOR NOT DELETED() TAG UNIQREC UNIQUE BROWSE TITLE "record 2" RECALL RECORD 1 SET ORDER TO UNIQREC BROWSE TITLE "2 records: expected Record 1 only" REINDEX BROWSE TITLE "record 1" replace RECORD 1 TRMCODE WITH '6789' BROWSE TITLE "record 1, expected 2"