Re: Pass ParseState as down to utility functions.
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Kirill Reshke <reshkekirill@gmail.com>
Cc: jian he <jian.universality@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-12-05T06:45:41Z
Lists: pgsql-hackers
On Wed, Dec 04, 2024 at 03:31:47PM +0500, Kirill Reshke wrote: > On Sat, 30 Nov 2024 at 17:37, jian he <jian.universality@gmail.com> wrote: >> So I guess bundling it into a single patch should be fine? > > Ok. I created CF entry for this patch. > > [0] https://commitfest.postgresql.org/51/5420/ Note that v3 of the patch is failing in the CI, so you should look at that: https://cirrus-ci.com/github/postgresql-cfbot/postgresql/cf%2F5420 Combining everything into a single patch is not a big deal in this case IMO as the code paths touched are different. I was playing with the patch and tried how typenameType() would like to force a rule so as the pstate should be always non-NULL, and got reminded by the various callers of typenameTypeIdAndMod() that this was a bad idea. This patch does not show how the error reports are influenced for DefineType() and AlterType(). This reminds as well that there is little coverage for many error paths of DefineDomain(), with some paths actually modified in this patch: https://coverage.postgresql.org/src/backend/commands/typecmds.c.gcov.html I'd suggest to do something about that, while on it, to check that the parser issues a location on error. -- Michael
Commits
-
Print out error position for some ALTER TABLE ALTER COLUMN type
- 65281391a937 18.0 landed
-
Print out error position for some more DDLs
- 0f23dedc9176 18.0 landed
-
Print out error position for CREATE DOMAIN
- 39240bcad56d 18.0 landed
-
Add some regression tests for missing DDL patterns
- 0172b4c9449e 18.0 landed
-
Re-implement the ereport() macro using __VA_ARGS__.
- e3a87b4991cc 13.0 cited