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