informix 4.x stuff & SCO Open Server Release 5

informix 4.x stuff & SCO Open Server Release 5

Post by John Beaud » Fri, 27 Oct 1995 04:00:00



The binaries worked OK under SCO ODT 3. On OSR5, I get phenomena like

a) isql not able to see all *.sql files in current directory
   (28 exist:  it sees 25)

b) r4gl not able to see all *.4gl files in current directory
   (5 exist: it sees 3)

All the files in question are 777, same owner, same group.

Granted that nobody said that 4.x was binary compatable with OSR5, I
am suprised (I'm probably naive) that these programs can't read the
current directory reliably.

Does anybody think that there should have been a way to write their
interface portably ?

My filesystem type is HTFS.

----------------------------
My *real* .sig awaits future display technology

 
 
 

informix 4.x stuff & SCO Open Server Release 5

Post by Bela Lubki » Fri, 27 Oct 1995 04:00:00



> The binaries worked OK under SCO ODT 3. On OSR5, I get phenomena like

> a) isql not able to see all *.sql files in current directory
>    (28 exist:  it sees 25)

> b) r4gl not able to see all *.4gl files in current directory
>    (5 exist: it sees 3)

> All the files in question are 777, same owner, same group.

> Granted that nobody said that 4.x was binary compatable with OSR5, I
> am suprised (I'm probably naive) that these programs can't read the
> current directory reliably.

> Does anybody think that there should have been a way to write their
> interface portably ?

> My filesystem type is HTFS.

The directory format of HTFS is different from the earlier S51K and EAFS
filesystem formats.  Yes, there is a fine portable way of accessing
directory information, which all applications *should* be using.
However, in the real world, some don't.  I don't know whether Informix
4.x is such an application, but let's assume for the moment that it is.

The filesystem drivers in SCO OpenServer Release 5 can recognize an
"old" application which attempts to read directory entries the old way
(by parsing the directory data itself).  The filesystem contrives to
present the data in the old S51K directory format.  What you're
describing makes it sound like this is *almost* working.

We recently discovered a bug in how the directory translation is
implemented.  An application which blindly reads data from the directory
will be fooled.  If it first does a stat() on the directory to determine
how much data to read, it'll get the directory's size in terms of its
native HTFS format.  That size will be different than it would have been
in S51K format.  If the HTFS size is smaller, some of the files in the
directory will be missed.  BTW, you can make a rough estimate of the
"S51K size" of the current directory by doing: `ls -a | wc -l` and
multiplying the result by 16.  The "HTFS size" is as shown by ls: `ls
-ld .`.  The translated S51K format uses 16 bytes for each entry and
truncates filenames longer than 14 chars, so you can differentially bulk
up the HTFS size by creating very long filenames.

To test whether this is the problem, create several extra files in the
directory (with long filenames -- here_is_a_junk_file_with_a_long_name.1
through 10, for example).  Then see if Informix finds all of its files.

The other thing you could do is to create an EAFS filesystem on which to
store the Informix data files.  Note that the same filesystem driver is
used to operate EAFS and HTFS filesystems, under Release 5.  This means
that EAFS filesystems get the same logging, checkpointing, etc. benefits
as HTFS.  HTFS features which are not available with the EAFS filesystem
format are: versioning/undelete; >64K inodes; >2GB filesystem size;
in-inode symbolic links.

- Show quoted text -

Quote:>Bela<


 
 
 

informix 4.x stuff & SCO Open Server Release 5

Post by John Beaud » Sat, 28 Oct 1995 04:00:00




>> The binaries worked OK under SCO ODT 3. On OSR5, I get phenomena like

>> a) isql not able to see all *.sql files in current directory
>>    (28 exist:  it sees 25)

>so you can differentially bulk
>up the HTFS size by creating very long filenames.

>To test whether this is the problem, create several extra files in the
>directory (with long filenames -- here_is_a_junk_file_with_a_long_name.1
>through 10, for example).  Then see if Informix finds all of its files.

I appreciate your great suggestion, Bela.

I created an EAFS file system. I also bulked up the HTFS directory
with 7 80-character filenames, and a couple of 40-character filenames.

The results remain the same in each tested case. :-(

If I start adding some shorter filenames, *some* of the shorter files
become visible. In all cases I can read the files by explicitly typing
the name within the menuing filename-selection Informix program.

BTW, these are program source files (text).

Any other thoughts ?

----------------------------
My *real* .sig awaits future display technology

 
 
 

informix 4.x stuff & SCO Open Server Release 5

Post by Bela Lubki » Sun, 29 Oct 1995 04:00:00



> I created an EAFS file system. I also bulked up the HTFS directory
> with 7 80-character filenames, and a couple of 40-character filenames.

> The results remain the same in each tested case. :-(

> If I start adding some shorter filenames, *some* of the shorter files
> become visible. In all cases I can read the files by explicitly typing
> the name within the menuing filename-selection Informix program.

> BTW, these are program source files (text).

> Any other thoughts ?

I think you have to get Informix to provide a fix, then.  If it has the
same same problem on EAFS, it isn't even a directory reading problem.
Regardless of whether they use proper system calls or read the directory
data themselves, the EAFS filesystem you created will look just like it
would have under ODT 3.0.

That leaves me without any further useful suggestions.

Quote:>Bela<

 
 
 

informix 4.x stuff & SCO Open Server Release 5

Post by Craig Macbri » Sat, 04 Nov 1995 04:00:00



> a) isql not able to see all *.sql files in current directory
>    (28 exist:  it sees 25)

(Or even 3 exist: it sees 2)

Thanks for the reminder. I'd noticed this too, but with all the other
problems with OS5.0, I'd forgotten about it.

We're running 4.11.UC3 of isql. Any idea if 5.x has the same problem?

--


\_.--.*/        "I think there is a world market for maybe five computers."  
      v         ... Thomas Watson, chairman of IBM, 1943

 
 
 

informix 4.x stuff & SCO Open Server Release 5

Post by Bob Meye » Sat, 04 Nov 1995 04:00:00




>> a) isql not able to see all *.sql files in current directory
>>    (28 exist:  it sees 25)

>(Or even 3 exist: it sees 2)

>Thanks for the reminder. I'd noticed this too, but with all the other
>problems with OS5.0, I'd forgotten about it.

I have also hit this problem when calling up report files. Please relay
the solution (when someone figuresd it out).

Does Informix have a Web page or anything?

 
 
 

informix 4.x stuff & SCO Open Server Release 5

Post by John Beaud » Sun, 05 Nov 1995 04:00:00




>> a) isql not able to see all *.sql files in current directory
>>    (28 exist:  it sees 25)

>We're running 4.11.UC3 of isql. Any idea if 5.x has the same problem?

Sorry, I don't have any experience with 5.x

----------------------------
My *real* .sig awaits future display technology

 
 
 

informix 4.x stuff & SCO Open Server Release 5

Post by Craig Macbri » Thu, 09 Nov 1995 04:00:00



>I have also hit this problem when calling up report files. Please relay
>the solution (when someone figuresd it out).

I got a suggestion from a helpful Informix guy, who suggested that the
problem may only occur when the file names are 10 characters or more,
(including the .sql) and that works for me. If I truncate all the names
to 5 characters (eg. xxxxx.sql) or less, they all appear in the list under
SCO OS5.0.

(No matter what the length, they all appear under SCO 4.x. Strange.)

--


\_.--.*/        "I think there is a world market for maybe five computers."  
      v         ... Thomas Watson, chairman of IBM, 1943