| From: | Amit Langote <amitlangote09(at)gmail(dot)com> |
|---|---|
| To: | Hu Xunqi <huxunqi(dot)08(at)gmail(dot)com> |
| Cc: | Euler Taveira <euler(at)eulerto(dot)com>, Lakshmi N <lakshmin(dot)jhs(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net> |
| Subject: | Re: Reject invalid databases in pg_get_database_ddl() |
| Date: | 2026-04-17 03:30:59 |
| Message-ID: | CA+HiwqGf_eQNK_bqJzL7YZvXKhpCWsbxxa6pwYVAhQLcPS0rAQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Hi,
On Fri, Apr 17, 2026 at 11:49 AM Hu Xunqi <huxunqi(dot)08(at)gmail(dot)com> wrote:
> On Fri, Apr 17, 2026 at 10:16 AM Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
> + /*
> + * Reject invalid databases: datconnlimit = -2 would be emitted as
> + * CONNECTION LIMIT = -2, which cannot be executed.
> + */
>
> This comment looks a bit too centered on datconnlimit=-2, but the real issue is that an invalid pg_database row should not be deparsed into DDL. So, maybe rephrase like:
>
> /*
> * Reject invalid databases. Deparsing a pg_database row in invalid state
> * can produce SQL that is not executable, such as CONNECTION LIMIT = -2.
> */
I was trying to be precise about datconnlimit = -2 being the thing
that produces invalid SQL. But your version covers that with the "such
as CONNECTION LIMIT = -2" example, and it's closer to the original,
which was on the right track, just needed to be more precise. Let's go
with it.
--
Thanks, Amit Langote
| Attachment | Content-Type | Size |
|---|---|---|
| v4-0001-Reject-invalid-databases-in-pg_get_database_ddl.patch | application/octet-stream | 1.7 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Chao Li | 2026-04-17 03:35:14 | repack: fix a bug to reject deferrable primary key fallback for concurrent mode |
| Previous Message | jian he | 2026-04-17 03:20:08 | Re: DELETE/UPDATE FOR PORTION OF with rule system is not working |