From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Teodor Sigaev <teodor(at)sigaev(dot)ru>, Robert Haas <robertmhaas(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Yury Zhuravlev <u(dot)zhuravlev(at)postgrespro(dot)ru>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: GinPageIs* don't actually return a boolean |
Date: | 2016-02-12 16:35:26 |
Message-ID: | 64ACF6AC-89CC-4C29-8DF2-62E2E04714E3@anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On February 12, 2016 5:15:59 PM GMT+01:00, Teodor Sigaev <teodor(at)sigaev(dot)ru> wrote:
>One more option for patch:
>
>#define GinPageIsLeaf(page) ((bool)(GinPageGetOpaque(page)->flags &
>GIN_LEAF))
>
>Seems it will work on any platform with built-in bool. But I don't know
>will it
>work with 'typedef char bool' if high bit will be set.
Unless I am missing something major, that doesn't seem to achieve all that much. A cast to a char based bool wouldn't normalize this to 0 or 1. So you're still not guaranteed to be able to do somebool == anotherbool when either are set based on such a macro.
Andres
---
Please excuse brevity and formatting - I am writing this on my mobile phone.
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2016-02-12 16:35:58 | Re: [COMMITTERS] pgsql: Code cleanup in the wake of recent LWLock refactoring. |
Previous Message | Tom Lane | 2016-02-12 16:29:44 | Re: GinPageIs* don't actually return a boolean |