Re: remote SET EXPLAIN and SYSTEM
Posted in 1999
Topics: General Discussion
I have played a couple of days with the problem and finally found the cause: when you execute SET EXPLAIN or SYSTEM on a remote machine, Informix tries to fork a shell on the database machine, however it is not your default shell from the database machine, but your default shell on the _remote_ machine. This is IMHO a bug or at least a "feature" that should be documented in bold under both SET EXPLAIN and SYSTEM. How can Informix assume that a shell from one machine does even exist on the other one? What if it is a different operating system? A safe way is to spawn a default shell for the local architecture. --Micha
Micha Meier wrote:
>
> I have played a couple of days with the problem and finally
> found the cause: when you execute SET EXPLAIN or SYSTEM
> on a remote machine, Informix tries to fork a shell on the
> database machine, however it is not your default shell
> from the database machine, but your default shell on the
> _remote_ machine. This is IMHO a bug or at least a "feature"
> that should be documented in bold under both SET EXPLAIN
> and SYSTEM. How can Informix assume that a shell from
> one machine does even exist on the other one? What if it is
> a different operating system? A safe way is to spawn
> a default shell for the local architecture.
I never noticed the problem before, but I know the cause. The connect
protocols Informix uses send several parts of the client's environment
to the server and one of the transmitted variables is apparently SHELL.
If you run the dbaccess or test program session with
SHELL=server_side_shell dbaccess .... That should work around the
problem. And I agree that was a silly one to export across to the
server.
Art S. Kagel