gnucobol-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[open-cobol-list] Re: COBOL utilities project


From: David Essex
Subject: [open-cobol-list] Re: COBOL utilities project
Date: Fri Jun 14 20:20:02 2002

At 10:03 PM 14/06/02 -0400, David A. Cobb wrote:

> Tim Josling wrote:
>
>> David Essex wrote:
>> ...  
>>> How is COBOL4GCC going to deal with indexed files ? 
>>> Will it also be using DB ?
>>
>> Probably. I will probably reuse whatever you guys are doing. 
>> Maybe later on we might do a custom piece but I think DB is 
>> good enough to start.
>
> Isn't DB (Berkeley, IIRC) rather overkill?  Some of their code, maybe, 
> but there's a lot more in a DB than is needed for COBOL ISAM.  A COBOL 
> indexed file has an unsurprising similarity to an IBM VS*M file system. 
> Other than how it manages space allocation and lock management, there's 
> nothing very sophisticated about VSAM, it's still a 1970's concept.  In 
> contrast, even the simple xBase indexed structure "knows" more about the 
> structure of the data.  In fact, the only thing required of an indexed 
> file is that the key be the same sequential character positions in every 
> record -- the records need not even be the same otherwise.  That would 
> drive a DB system bonkers.

Berkeley DB maybe overkill, and ISAM maybe a 1970's concept, but
unfortunately there are no free nor open source implementation of ISAM.

This has been one of the killer problems in many open source COBOL projects.

MySQL used a version of ISAM, but recently they converted to DB for the low
level structures.

So AFIK, DB is the only choice available.

The closest implementation of VS*M on UN*X is C-IS*M, which by the way is
now owned by I*M.

What I would to see is an OpenISAM project with the following criteria.
- XOpen ISAM standard conformity.
- Low level concurrence file locking.

If there are any volunteers who would like to work on this project, then
the project is all your.




David Essex



reply via email to

[Prev in Thread] Current Thread [Next in Thread]