1748252 Members
4050 Online
108760 Solutions
New Discussion юеВ

Re: VMS filesystem

 
John Gillings
Honored Contributor

Re: VMS filesystem

Robert,

>I do not see the comment in John's post
>that node names are not supported. Indeed,
>I have been using that trick for a LONG
>LONG time.

here it is:

>When you start adding node specifications
>things get even uglier (strictly speaking
>that's not supported, but that doesn't
>stop it from "working" some of the time).

Yes, you can SET DEFAULT to another node, and it works for SOME (maybe even most)things, but not all. You may have been using it for a long time, and you may not have found any of the cases where it doesn't work, but that doesn't make it supported! Nor does it mean it works the way you might expect in all cases - trust me, it doesn't!

You won't find anywhere in the documentation that says it's valid to include a node specification in SET DEFAULT or explains when you can expect it to work.

The documentation for SET DEFAULT says the syntax is:

Format

SET DEFAULT [device-name[:]][directory-spec]

Note the complete absence of node and access control string.

Over the years I've dealt with numerous cases where a host specification in the current default has resulted in odd, bizzare, or even dangerous behaviour.

In every case OpenVMS engineering has reiterated that it's not supported, and there is no intention to make it supported. There is also no intention to deliberately break it, so if it works, great. If it doesn't, don't complain!

Here's a really simple example of something that doesn't work:

$ SHOW DEFAULT
TEST"john password"::DISK_USER1:[JG]
$ run/debug anyprog
%DEBUG-F-CANTGETMAINFID, cannot get file-id for the main image file opened on channel 32
-SYSTEM-F-ACCVIO, access violation, reason mask=8C, virtual address=000000000000001B, PC=0000000000000006, PS=00002604
%DEBUG-F-INITERR, an error has occurred during debugger initialization, unable to continue this session.
$
A crucible of informative mistakes
Hoff
Honored Contributor

Re: VMS filesystem

Darijo, I'd suggest that you avoid mapping your knowledge of Linux or Unix onto OpenVMS. This is an area where having expertise and having experience can prove to be somewhat of a hindrance.

The name of the SET DEFAULT command is quite literal, as the command sets your default parsing specification; the value that will be applied when you omit portions of a file specification.

One of the useful things is that you can redirect where an operation goes using defaults and logical names, and you can have the lookup search multiple directories.

There's no direct analog to these capabilities in a typical Unix environment. (And logical names are a source of confusion for many Unix programmers looking at OpenVMS. The usual assumption is environment variable, and that can lead down a path to confusion.)

Some related articles on filename defaults and filename parsing are here:
http://64.223.189.234/node/77
http://64.223.189.234/node/71

And there's an explicit caution here:
http://h71000.www7.hp.com/doc/731FINAL/6489/6489pro_009.html#index_x_471

And sticking DECnet node names in a default specification can get ugly. There are corner cases where you can go off the rails.

Here's what the DCL Dictionary has to say on the matter "The SET DEFAULT command will accept a node name with the device name (that is, node-name::device-name). However, the results of operations using a default with a node name are unpredictable. Some utilities and applications do not allow a node name to be specified in a file specification and will fail if the default file specification contains a node name." (I'm not sure who added that text -- John G. or I or somebody else got that added into the manual -- but the inclusion was a result of folks that have gone off the rails.)

And Darijo, do take the time to skim the OpenVMS User's Guide in the OpenVMS manual set. The OpenVMS documentation is large, and relatively detailed. And you'll almost certainly see a payback for the time spent in this effort.

And a correction to an earlier comment by JvdE: I am not an "original developer of OpenVMS", though I was an engineer working within the OpenVMS engineering group for many years, and have worked on various areas.

Stephen Hoffman
HoffmanLabs LLC
DECxchange
Regular Advisor

Re: VMS filesystem

>Why doesn't VMS respond with error >message ?when you want to enter the >directory which doesn't exist, but instead >it behaves like it does exist???

Hello,
I've read some of the answers briefly. I'm not going to thoroughly read everyone's answer. But I think what you're asking is, if you do the commands:

$ set def [directory_that_does_not_exist]
$ dir
$ sho def
Now the system will give you an error message that this directory does not exist in response to the latter two commands. Well, personally I've just learned to live with this. It's not really a problem. All you have to do now is either:

$ set def [directory_that_does_exist]
that is, the directory you meant to set default to, or:

$ create/dir [directory_that_does_not_exist]

Now when you do a

$ sho def
The system will echo the disc drive name and directory you are now in.
Jan van den Ende
Honored Contributor

Re: VMS filesystem

@Greg (DECxchange:

>>>
$ sho def
The system will echo the disc drive name and directory you are now in.
<<<

The whole point of the discussion above, was to _loose_ the concept of "being in a directory"

You ARE NOT IN a directory (at least, I sincerely hope).
You are at your terminal/behind your desk/mayby remotely connected while onboard a train/whatever; and you are LOGGED in to your own/someone else's/the SYSTEM account; but the ENTIRE effect of the SET DEFAULT command is to JUST, and ONLY, specify a default string for file _syntax_ completion on ANY incomplete file specification for ANY file-related command (and a directory is also only just a special type of file).
And the execution of the command is responsible for checking the correct prerequisite for it; like existence.
For instance, in case of CREATE/DIRECTORY [] the prerequisite is the ABSENCE of the directory specified by SET DEFAULT

hth

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.
Robert Gezelter
Honored Contributor

Re: VMS filesystem

John,

I rarely disagree, but in this case I must, at least insofar as SET DEFAULT is concerned.

From the error message, I presume that the case of doing a RUN/DEBUG from a remote node will fail. This failure would occur whether or not the file information was explicitly specified or filled in by defaulting from a SET DEFAULT.

I apologize for not checking it in more detail, but I am tied up trying to do a resurrection (technical, not religious).

- Bob Gezelter, http://www.rlgsc.com
Jan van den Ende
Honored Contributor

Re: VMS filesystem

@Bob;

???
Somehow, I think you lost my context, and/or I lost yours.

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.
Robert Gezelter
Honored Contributor

Re: VMS filesystem

Jan,

My comment was a reference to John's comment about the inability to do a RUN/DEBUG when having done a SET DEFAULT to include a DECnet node specification.

My comment was that the problem is related to the DECnet connection, not the use of SET DEFAULT.

- Bob Gezelter, http://www.rlgsc.com