On 8/16/16 3:29 PM, Andres Freund wrote:
> Well, having typed pg_list.h style lists, ilist.h linked lists,
> hash-tables, and proper typechecks for pg_nodes.h instead of the NodeTag
> stuff, would surely make life easier.
I certainly wish parts of the system brought code and "data" together in
a better way. Nodes are an example; all the Walker stuff in the
planner/executor is another. (I'm not saying C++ would make that better,
just saying those are parts of the code I find it much harder to grok.)
> But given the small subset of C++ available on all our supported
> platforms... I think we'd first need to make the decision to cut support
> for some platforms, before using C++. Which imo is a distinct task from
> *allowing* to compile with a C++ compiler.
Exactly. If we at least maintain support for compiling that means people
can experiment with other enhancements in a way that's much more
compatible with normal community contribution practices, which makes it
far more likely for that stuff to be accepted.
As for the backwards compatibility... the stance I've seen the community
take is cost vs benefit. Right now the benefits are completely
hypothetical, because no one could realistically propose a patch to use
C++ (or maybe even Rust) features.
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com
855-TREBLE2 (855-873-2532) mobile: 512-569-9461