[PATCH] Extend the length of BackgroundWorker.bgw_library_name
Yurii Rashkovskii <yrashk@gmail.com>
From: Yurii Rashkovskii <yrashk@gmail.com>
To: pgsql-hackers@lists.postgresql.org
Date: 2023-03-13T14:57:47Z
Lists: pgsql-hackers
Attachments
- v1-0001-Extend-the-length-of-BackgroundWorker.bgw_library_name.patch (application/octet-stream) patch v1-0001
Hi, I want to suggest a patch against master (it may also be worth backporting it) that makes it possible to use longer filenames (such as those with absolute paths) in `BackgroundWorker.bgw_library_name`. `BackgroundWorker.bgw_library_name` currently allows names up to BGW_MAXLEN-1, which is generally sufficient if `$libdir` expansion is used. However, there are use cases where [potentially] longer names are expected/desired; for example, test benches (where library files may not [or can not] be copied to Postgres installation) or alternative library installation methods that do not put them into $libdir. The patch is backwards-compatible and ensures that bgw_library_name stays *at least* as long as BGW_MAXLEN. Existing external code that uses BGW_MAXLEN is a length boundary (for example, in `strncpy`) will continue to work as expected. The trade-off of this patch is that the `BackgroundWorker` structure becomes larger. From my perspective, this is a reasonable cost (less than a kilobyte of extra space per worker). The patch builds and `make check` succeeds. Any feedback is welcome! -- http://omnigres.org Yurii
Commits
-
Increase size of bgw_library_name.
- 957845789bb9 17.0 landed