Skip to main content
I am trying to restore some data from a backup.  The file itself and dictionary came over, but the X_file was not restored.  I could probably get it restored but it took a week for the IT department to get me this much so I'd like to just get rid of the index.  

Prior to Unidata 8 I would fix this by creating an index file for any other file, and then I'd copy it over to X_file and that worked.  However, that doesn't work with Unidata 8.  DELETE.INDEX file ALL doesn't work because it says it can't open the file.  Is there any trick in Linux or Unidata that I could use to tell this file it shouldn't have to open the X_file to be able to retrieve the contents?

------------------------------
Kevin King
President
Precision Solutions, Inc.
Longmont CO US
------------------------------
I am trying to restore some data from a backup.  The file itself and dictionary came over, but the X_file was not restored.  I could probably get it restored but it took a week for the IT department to get me this much so I'd like to just get rid of the index.  

Prior to Unidata 8 I would fix this by creating an index file for any other file, and then I'd copy it over to X_file and that worked.  However, that doesn't work with Unidata 8.  DELETE.INDEX file ALL doesn't work because it says it can't open the file.  Is there any trick in Linux or Unidata that I could use to tell this file it shouldn't have to open the X_file to be able to retrieve the contents?

------------------------------
Kevin King
President
Precision Solutions, Inc.
Longmont CO US
------------------------------
Try creating a new index and then deleting it.

------------------------------
Tom Vankirk
Unix admin
Cabinetworks Group Michigan, LLC
Garrettsville OH US
------------------------------
I am trying to restore some data from a backup.  The file itself and dictionary came over, but the X_file was not restored.  I could probably get it restored but it took a week for the IT department to get me this much so I'd like to just get rid of the index.  

Prior to Unidata 8 I would fix this by creating an index file for any other file, and then I'd copy it over to X_file and that worked.  However, that doesn't work with Unidata 8.  DELETE.INDEX file ALL doesn't work because it says it can't open the file.  Is there any trick in Linux or Unidata that I could use to tell this file it shouldn't have to open the X_file to be able to retrieve the contents?

------------------------------
Kevin King
President
Precision Solutions, Inc.
Longmont CO US
------------------------------
Perhaps a SET.INDEX filename TO NULL?


Allen Egerton
SS&C Technologies Inc.

Developer, Total Return

t: (860) 912-8067
aegerton@sscinc.com | www.ssctech.com



Follow us: Twitter | Facebook | LinkedIn
[Description: Description: Description: Description: cid:image001.jpg@01CD5545.46612B50]

Perhaps a SET.INDEX filename TO NULL?


Allen Egerton
SS&C Technologies Inc.

Developer, Total Return

t: (860) 912-8067
aegerton@sscinc.com | www.ssctech.com



Follow us: Twitter | Facebook | LinkedIn
[Description: Description: Description: Description: cid:image001.jpg@01CD5545.46612B50]
@Allen Egerton SET.INDEX is a UniVerse command not a UniData command. UniData does not have the concept of being able to place the index in another location in the same way UniVerse does.


------------------------------
Jonathan Smith
UniData ATS
Rocket Support
------------------------------
I am trying to restore some data from a backup.  The file itself and dictionary came over, but the X_file was not restored.  I could probably get it restored but it took a week for the IT department to get me this much so I'd like to just get rid of the index.  

Prior to Unidata 8 I would fix this by creating an index file for any other file, and then I'd copy it over to X_file and that worked.  However, that doesn't work with Unidata 8.  DELETE.INDEX file ALL doesn't work because it says it can't open the file.  Is there any trick in Linux or Unidata that I could use to tell this file it shouldn't have to open the X_file to be able to retrieve the contents?

------------------------------
Kevin King
President
Precision Solutions, Inc.
Longmont CO US
------------------------------
@Kevin King There is an undocumented engineering command that you can use to do this, it's a tool I use when reparing customer files. The command is very powerful and if you do not know what you're doing with the file you can end up breaking the file, I do cover the tool on advanced training sessions though.

So here is my example, the command will work for both Static and Dynamic files as Static files would have an X_filename for an index and for dynamics there would be  'idxnnn' file(s) in the file directory.

:LIST.INDEX KKING

Alternate Key Index Details for File KKING Page 1

File.................. KKING
Alternate key length.. 20
Node/Block size....... 4K
OV blocks............. 1 (0 in use, 0 overflowed)
Indices............... 1 (1 D-type)
Index updates......... Enabled, No updates pending

Index-Name...... F-type K-type Built Empties Dups In-DICT S/M F-no/VF-expr....
@ID D Txt Yes Yes Yes Yes S 0

:!rm X_KKING (This now makes the file in the same state as yours).
:LIST KKING
Index: open index file X_KKING error(2).
Index: open index file X_KKING error(2).
Open file error.
:LIST.INDEX KKING
Index: open index file X_KKING error(2).
Index: open index file X_KKING error(2).
Open file error.

:!fileview -p1 -fpif -v0 KKING (Sets Index Flag to 0, the output from the command does not reflect the change though, if you run !fileview -p1 KKING it would now show the change)

LIST KKING 02:49:53 Feb 01 2022 1
KKING.....

1
1 record listed

:LIST.INDEX KKING

No indices created on file "KKING"
​


In your case just change KKING in the fileview command to be the name of the file with the missing index



------------------------------
Jonathan Smith
UniData ATS
Rocket Support
------------------------------


I am trying to restore some data from a backup.  The file itself and dictionary came over, but the X_file was not restored.  I could probably get it restored but it took a week for the IT department to get me this much so I'd like to just get rid of the index.  

Prior to Unidata 8 I would fix this by creating an index file for any other file, and then I'd copy it over to X_file and that worked.  However, that doesn't work with Unidata 8.  DELETE.INDEX file ALL doesn't work because it says it can't open the file.  Is there any trick in Linux or Unidata that I could use to tell this file it shouldn't have to open the X_file to be able to retrieve the contents?

------------------------------
Kevin King
President
Precision Solutions, Inc.
Longmont CO US
------------------------------
Greetings Kevin,
i'm going to guess you know UD internals well enough to be comfortable using fileview, per Jonathan S.

Otherwise, is it too big to just rename it [file]_BAK  then create an empty file with the proper indices, then COPY FROM [file]_BAK TO [file]  ALL ?
On UV, for performance reasons,  I would not create the indexes until the copy is done,  then CREATE-. & BUILD.INDEX.  That can be much much faster.

cds

------------------------------
Chuck Stevenson
DBA / SW Developer
Pomeroy
San Ignacio BZ
------------------------------
@Kevin King There is an undocumented engineering command that you can use to do this, it's a tool I use when reparing customer files. The command is very powerful and if you do not know what you're doing with the file you can end up breaking the file, I do cover the tool on advanced training sessions though.

So here is my example, the command will work for both Static and Dynamic files as Static files would have an X_filename for an index and for dynamics there would be  'idxnnn' file(s) in the file directory.

:LIST.INDEX KKING

Alternate Key Index Details for File KKING Page 1

File.................. KKING
Alternate key length.. 20
Node/Block size....... 4K
OV blocks............. 1 (0 in use, 0 overflowed)
Indices............... 1 (1 D-type)
Index updates......... Enabled, No updates pending

Index-Name...... F-type K-type Built Empties Dups In-DICT S/M F-no/VF-expr....
@ID D Txt Yes Yes Yes Yes S 0

:!rm X_KKING (This now makes the file in the same state as yours).
:LIST KKING
Index: open index file X_KKING error(2).
Index: open index file X_KKING error(2).
Open file error.
:LIST.INDEX KKING
Index: open index file X_KKING error(2).
Index: open index file X_KKING error(2).
Open file error.

:!fileview -p1 -fpif -v0 KKING (Sets Index Flag to 0, the output from the command does not reflect the change though, if you run !fileview -p1 KKING it would now show the change)

LIST KKING 02:49:53 Feb 01 2022 1
KKING.....

1
1 record listed

:LIST.INDEX KKING

No indices created on file "KKING"
​


In your case just change KKING in the fileview command to be the name of the file with the missing index



------------------------------
Jonathan Smith
UniData ATS
Rocket Support
------------------------------

Jonathon, that'll do the trick for certain.  Thank you sir!

------------------------------
Kevin King
President
Precision Solutions, Inc.
Longmont CO US
------------------------------