Re: Moving other hex functions to /common
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Bruce Momjian <bruce@momjian.us>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-12-31T06:10:29Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Rework refactoring of hex and encoding routines
- aef8948f38d9 14.0 landed
On Wed, Dec 30, 2020 at 08:22:07PM -0500, Bruce Momjian wrote: > So, I am learning this cfbot thing. Seems I need -M100% to disable > rename detection for diffs to work with cfbot --- makes sense. A good way to make sure that a patch format is correct for the CF bot would be to use "git format-patch -1" to generate a patch from a single commit. > New patch attached. I think that this patch would have more value if we remove completely the hex routines from ECPG and have ECPG use what's moved in src/common/, meaning the following changes: - Remove the exit(), pg_log_fatal() and ereport() calls from src/common/hex.c, replace the error code paths with -1, and return a signed result. - The ECPG copies make no use of ecpg_raise(), so things map easily. - This means keeping small wrappers in encode.c able to generate those ereport(FATAL) in the backend, but that's just necessary for the decode routine that's the only thing using get_hex(). - Let's prefix the routines in src/common/ with "pg_", to be consistent with base64. - It would be good to document the top each routine in hex.c (see base64.c for a similar reference). -- Michael