From: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Add Boolean node |
Date: | 2022-01-03 11:04:52 |
Message-ID: | b3989cca-fa81-4d23-bd85-5f499fe91585@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 27.12.21 10:02, Peter Eisentraut wrote:
> This patch adds a new node type Boolean, to go alongside the "value"
> nodes Integer, Float, String, etc. This seems appropriate given that
> Boolean values are a fundamental part of the system and are used a lot.
>
> Before, SQL-level Boolean constants were represented by a string with
> a cast, and internal Boolean values in DDL commands were usually
> represented by Integer nodes. This takes the place of both of these
> uses, making the intent clearer and having some amount of type safety.
Here is an update of this patch set based on the feedback. First, I
added a patch that makes some changes in AlterRole() that my original
patch might have broken or at least made more confusing. Unlike in
CreateRole(), we use three-valued logic here, so that a variable like
issuper would have 0 = no, 1 = yes, -1 = not specified, keep previous
value. I'm simplifying this, by instead using the dissuper etc.
variables to track whether a setting was specified. This makes
everything a bit simpler and makes the subsequent patch easier.
Second, I added the suggest by Tom Lane to rename to fields in the
used-to-be-Value nodes to be different in each node type (ival, fval,
etc.). I agree that this makes things a bit cleaner and reduces the
changes of mixups.
And third, the original patch that introduces the Boolean node with some
small changes based on the feedback.
Attachment | Content-Type | Size |
---|---|---|
v2-0001-Refactor-AlterRole.patch | text/plain | 7.7 KB |
v2-0002-Rename-value-node-fields.patch | text/plain | 14.3 KB |
v2-0003-Add-Boolean-node.patch | text/plain | 34.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andrey Borodin | 2022-01-03 11:13:10 | Re: Index-only scans vs. partially-retrievable indexes |
Previous Message | Michael Paquier | 2022-01-03 08:36:25 | Re: An obsolete comment of pg_stat_statements |