Operating System - OpenVMS
1828658 Members
6841 Online
109983 Solutions
New Discussion

Fast delete on indexed files -- how to from BASIC?

 
SOLVED
Go to solution
David B Sneddon
Honored Contributor

Fast delete on indexed files -- how to from BASIC?

Hi Folks,

I have a program that culls a large indexed file.
Depending on the size of the file this can take
up to about 15 hours. In order to speed this up
I am looking at the fast delete option for indexed
files. The program is written in BASIC and there
doesn't appear to be a way of specifying this
within the BASIC language.
The FDL documentation indicates that this attribute
can be set in the CONNECT block of an FDL.
Is there any way to set this attribute ON for
an existing file? I have tried recreating a
file and specifying this attribute in an FDL
then analyzing the file again but cannot see
any mention of this attribute.
Any suggestions or ideas?

Regards
Dave
3 REPLIES 3
Bojan Nemec
Honored Contributor
Solution

Re: Fast delete on indexed files -- how to from BASIC?

Dave,

Ususaly I dont write programs in BASIC. But looking to the documentation I realise that you have USEROPEN. http://h71000.www7.hp.com/commercial/basic/basic_doc/bas_um_023.htm#useropen

With USEROPEN you get FAB, RAB etc.., blocks. You need the RAB block. To set the fast delete option you must set the RAB$V_FDL bit in the RAB$L_ROP field of the RAB. See http://h71000.www7.hp.com/doc/731FINAL/4523/4523pro_011.html#rmsref_rab_rop .

My concern is on performance of such a file. After deleting a huge ammount of records it will be oportune to reorganize the file using CONVERT.

Bojan
David B Sneddon
Honored Contributor

Re: Fast delete on indexed files -- how to from BASIC?

Bojan,

I just found the USEROPEN stuff -- should have
seen it before. The file will be converted after
all the old records have been culled, that is
the second step.

Dave
David B Sneddon
Honored Contributor

Re: Fast delete on indexed files -- how to from BASIC?

I should have Read The Fine Manual more thoroughly.

Dave