On 2017-04-05 09:43:53 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > I argued before that we should migrate to stdbool.h by default, because
> > it's only going to get more common. We already do so in a way for c++
> > compilers...
>
> Yeah, I was just thinking about that. The core problem though is that
> we need the "bool" fields in the system catalog structs (or anyplace
> else that it represents an on-disk bool datum) to be understood as
> being 1 byte wide. I do not think we can assume that that's true of
> every compiler's _Bool type. So we'd need some workaround for that.
> There are probably other places such as isnull arrays where it'd be
> wise to force the width to be 1 byte.
I wonder if there's any compiler that has _Bool/stdbool.h where it's not
1 byte sized. It's definitely not guaranteed by the standard.
Having a seperate booldatum type or such shouldn't be too bad, either
way.
> In any case, that's a research project that's not getting done for v10.
Agreed.
- Andres