Historical trivia (was Re: First Major Open Source Database) - Mailing list pgsql-hackers

From Tom Lane
Subject Historical trivia (was Re: First Major Open Source Database)
Date
Msg-id 5352.947309850@sss.pgh.pa.us
Whole thread Raw
In response to Re: [HACKERS] [Fwd: Re: First Major Open Source Database]  (Thomas Lockhart <lockhart@alumni.caltech.edu>)
Responses Re: [HACKERS] Historical trivia (was Re: First Major Open Source Database)
List pgsql-hackers
Thomas Lockhart <lockhart@alumni.caltech.edu> writes:
>> It did not use any Ingres code, as told to me by Jolly, I think.  My
>> book has Ingres mentioned as an "ancestor" of Postgres.

> I suppose we could have figured this out ourselves, since Postgres was
> originally written in Lisp, and afaik Ingres was always C or somesuch
> traditional compiled-only code. We still see evidence of this in our
> code tree with the way lists and parser nodes are handled.

It's clear from both the comments and remnants of coding conventions
that the planner/optimizer was originally Lisp code, and was hand-
translated to C at some point in the dim mists of prehistory (early
1990s, possibly ;-)).  That Lisp heritage is responsible for some of
the better things about the code, and also some of the worse things.

But I'm not sure I believe that *all* of the code was originally
Lisp.  I've never heard of a Lisp interface for yacc-generated
parsers, for example.  The parts of the executor I've looked at
don't seem nearly as Lispy as the parser/planner/optimizer, either.
So it seems possible that parts of Postgres were written afresh in
Lisp while other parts were lifted from an older C implementation.

</idle speculation>

Does anyone here still recall the origins of Postgres?  I'm curious
to know more about the history of this beast.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Thomas Lockhart
Date:
Subject: Re: [HACKERS] [Fwd: Re: First Major Open Source Database]
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Historical trivia (was Re: First Major Open Source Database)