Re: [GENERAL] C++ port of Postgres - Mailing list pgsql-hackers

From Peter Geoghegan
Subject Re: [GENERAL] C++ port of Postgres
Date
Msg-id CAM3SWZRf9u8CbyOZY4W2iS3Xj_bafMHYraetSbc=W79NQKn_DA@mail.gmail.com
Whole thread Raw
In response to Re: [GENERAL] C++ port of Postgres  (Peter Geoghegan <pg@heroku.com>)
Responses Re: [GENERAL] C++ port of Postgres  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On Tue, Aug 16, 2016 at 1:29 PM, Peter Geoghegan <pg@heroku.com> wrote:
> IMV, it would be useful to use C++ classes (and even template classes)
> for a small number of data structures, while still largely adhering to
> earlier practices (this is what GCC did). Specifically, a few modules
> such as StringInfo, could be made to follow the RAII/scope bound
> resource management usefully, which doesn't seem incompatible with
> memory contexts. However, this doesn't seem terribly exciting to me.

Actually, come to think of it, I guess this is wrong. The problem with
what I say here is that longjmp() and setjmp() are incompatible with
the stack unwinding used by C++ destructors in general (exceptions are
another issue). I think that the practical implication of that is that
we can never use any C++ feature that hides the complexity of resource
management, unless and until elog() is reimplemented to not use
longjmp() and setjmp().


-- 
Peter Geoghegan



pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: [GENERAL] C++ port of Postgres
Next
From: Jim Nasby
Date:
Subject: Re: [GENERAL] C++ port of Postgres