I have never worked much with VAXes, but I do remember that VAX used a file
system where you made a new version of a file and the older versions were
automatically kept. I guess that is the purpose of the INDEXED
organisation. It is not so much a limitation of gfortran that it does not
support this, but a consequence of the operating system's completely
different view on files and file management.

Regards,

Arjen

Op di 7 mrt 2023 om 23:58 schreef Thomas Koenig via Fortran <
fortran@gcc.gnu.org>:

> Hi Roland,
>
> >   210  OPEN (UNIT=K_DRAW_CHAN,
> >       1        FILE=DRAWING_DATA,
> >       2        STATUS='OLD',
> >       3        ORGANIZATION='INDEXED',
>
> I'd never heard of that one up to now.
>
> >       4        ACCESS='KEYED',
> >       5        RECORDTYPE='FIXED',
> >       6        FORM='UNFORMATTED',
> >       7        RECL=K_DRAWING_RECORD_SIZE/4,
> >       8        CARRIAGECONTROL='FORTRAN',
> >       9        KEY=(1:8:CHARACTER),
> >       1        DISP='KEEP',
> >       2        IOSTAT=L_DRAW_ERR,
> >       3        ERR=999)
> >
> > The ORGANIZATION='INDEXED' is key.
> >
> > GnuCOBOL
> >
> > https://gnucobol.sourceforge.io/
> >
> > uses the BerkleyDB (sp?) library so the standard COBOL indexed file
> > support from the big computers can at least be mimicked.
> >
> > I'm searching everywhere and I cannot find Gnu Fortran (any flavor)
> > having an ORGANIZATION clause in the OPEN().
>
> ORGANIZATION is not an extension that gfortran supports.
> ifort, which traces its lineage back to VMS Fortran, supports
> ORGANIZATION, but not 'INDEXED', according to
>
>
> https://www.intel.com/content/www/us/en/develop/documentation/fortran-compiler-oneapi-dev-guide-and-reference/top/language-reference/file-operation-i-o-statements/open-statement-specifiers/open-organization-specifier.html
>
> This is likely a Fortran interface to a VMS speciality; the older
> operating systems had stuff like that.  UNIX did away with all
> the record-orientation (I also remember VSAM and ISAM data sets
> on old IBM mainframes) and UNIX and derivatives, and Windows, now
> just offers the "stream of bytes" model.
>
> So, if you need the functionality, you will have to implement it
> yourself, possibly via a database.
>
> Best regards
>
>         Thomas
>

Reply via email to