Clipper database program blows up under AIX PS/2 DOS Merge

Steve Dyer dyer at arktouros.mit.edu
Fri Aug 31 07:29:30 AEST 1990


An application built with Clipper (a dBase III clone) appears to run
fine on DOS 3.3 and networked systems but fails under AIX PS/2 1.2 DOS
Merge in the middle of indexing large database files (INDEX ON...) with
a fatal error which Clipper support indicates is a file creation
error.  The file system is the "networked" UNIX files system, not a DOS
partition.  The program fails regardless of whether the program is run
as root or an unprivileged user and regardless of whether the default
drive is C: or D:.

The developer of this program suspected that the problem might lie in
creating temporary files, something which INDEX ON apparently does when
building indices larger than it can fit in memory.  We developed a test
program which simply calls the DOS "create temporaty file" system call
(subfunction 5A).  One of the parameters which can be passed to this
DOS function is a string which specifies the drive and directory
path in which the temporary file should be placed.  Ordinarily,
the null string is passed in, indicating the root directory of the
current disk.

We found some interesting results.  This routine fails uniformly
under DOS Merge when the null string is passed in with a "Path not
found" error, although this works fine under DOS.  I suspect that
this is the smoking gun which is causing the Clipper application to fail.

There were some other anomalies which are not directly related to my
problem but are nonetheless interesting: the filenames returned by the
"create temporary file" system call under DOS Merge are in lower case (!).
Also, when "C:\" is given as the path (this being the UNIX root
irectory and not writable by nornal users), the "create temporary file"
DOS call still succeeds--it "does the right thing" and creates the file
in the UNIX /tmp directory, but the filename returned by the system
call does not take this (re)location into account, so attempts by the
application program to explicitly delete the file created will fail.

I can forward a test program in Microsoft C which will stimulate
this error on demand.  Is anyone at Locus or IBM willing to take
a look?  This is AIX PS/2 DOS Merge 1.2 with 1005 patches applied.


---
Steve Dyer
dyer at ursa-major.spdcc.com aka ...!{harvard,linus,ima,m2c,rayssd}!spdcc!dyer
dyer at arktouros.mit.edu, dyer at hstbme.mit.edu



More information about the Comp.unix.aix mailing list