Re: Hide exposed impl detail of wchar.c

2024-01-29 Thread Nathan Bossart
On Fri, Jan 26, 2024 at 01:24:19PM -0500, Tom Lane wrote: > Nathan Bossart writes: >> I see that I was planning on back-patching this to v16, but since >> is_valid_ascii() was introduced in v15, I'm wondering if it'd be better to >> back-patch it there so that is_valid_ascii() lives in the same

Re: Hide exposed impl detail of wchar.c

2024-01-26 Thread Tom Lane
Nathan Bossart writes: > I see that I was planning on back-patching this to v16, but since > is_valid_ascii() was introduced in v15, I'm wondering if it'd be better to > back-patch it there so that is_valid_ascii() lives in the same file for all > versions where it exists. Thoughts? Yeah, if

Re: Hide exposed impl detail of wchar.c

2024-01-26 Thread Nathan Bossart
On Thu, Jan 04, 2024 at 04:43:29PM -0600, Nathan Bossart wrote: > On Mon, Nov 20, 2023 at 10:39:43PM -0600, Nathan Bossart wrote: >> Alright. The next minor release isn't until February, so I'll let this one >> sit a little while longer in case anyone objects to back-patching something >> like

Re: Hide exposed impl detail of wchar.c

2024-01-04 Thread Nathan Bossart
On Mon, Nov 20, 2023 at 10:39:43PM -0600, Nathan Bossart wrote: > Alright. The next minor release isn't until February, so I'll let this one > sit a little while longer in case anyone objects to back-patching something > like this [0]. > > [0]

Re: Hide exposed impl detail of wchar.c

2023-11-21 Thread Eric Ridge
(I hope you don't mind I'm reposting your reply -- I accidentally replied directly to you b/c phone) > On Nov 21, 2023, at 11:56 AM, Andres Freund wrote: > > Hi, > > On 2023-11-21 10:11:18 -0500, Eric Ridge wrote: >> On Mon, Nov 20, 2023 at 7:10 PM Andres Freund wrote: >> And I don’t know

Re: Hide exposed impl detail of wchar.c

2023-11-21 Thread Eric Ridge
> On Nov 20, 2023, at 7:10 PM, Andres Freund wrote: > > > What I don't quite get is why SIMD headers are particularly more problematic > than others - there's other headers that are compiler specific? The short answer is the rust-based bindings generation tool pgrx uses (bindgen) is a little

Re: Hide exposed impl detail of wchar.c

2023-11-20 Thread Nathan Bossart
On Mon, Nov 20, 2023 at 05:14:17PM -0800, Jubilee Young wrote: > On Mon, Nov 20, 2023 at 2:52 PM Nathan Bossart > wrote: >> Does pgrx use ascii.h at all? > > We don't use utils/ascii.h, no. Alright. The next minor release isn't until February, so I'll let this one sit a little while longer in

Re: Hide exposed impl detail of wchar.c

2023-11-20 Thread Andres Freund
Hi, On 2023-11-16 17:11:03 -0800, Jubilee Young wrote: > We don't directly `#include` C into Rust, but use libclang to preprocess and > compile a wrapping C header into a list of symbols Rust will look for at link > time. Our failure is in libclang and how we steer it: > - The Clang-C API

Re: Hide exposed impl detail of wchar.c

2023-11-20 Thread Nathan Bossart
On Mon, Nov 20, 2023 at 10:50:36AM -0800, Jubilee Young wrote: > In that case, I took a look across the codebase and saw a > utils/ascii.h that doesn't > seem to have gotten much love, but I suppose one could argue that it's > intended > to be a backend-only header file? That might work. It's

Re: Hide exposed impl detail of wchar.c

2023-11-20 Thread Jubilee Young
On Fri, Nov 17, 2023 at 2:26 AM John Naylor wrote: > > On Fri, Nov 17, 2023 at 5:54 AM Nathan Bossart > wrote: > > > > It looks like is_valid_ascii() was originally added to pg_wchar.h so that > > it could easily be used elsewhere [0] [1], but that doesn't seem to have > > happened yet. > > > >

Re: Hide exposed impl detail of wchar.c

2023-11-17 Thread John Naylor
On Fri, Nov 17, 2023 at 5:54 AM Nathan Bossart wrote: > > It looks like is_valid_ascii() was originally added to pg_wchar.h so that > it could easily be used elsewhere [0] [1], but that doesn't seem to have > happened yet. > > Would moving this definition to a separate header file be a viable

Re: Hide exposed impl detail of wchar.c

2023-11-16 Thread Nathan Bossart
On Thu, Nov 16, 2023 at 06:06:30PM -0500, Tom Lane wrote: > I'm generally sympathetic to the idea that simd.h was a rather large > dependency to add to something as widely used as pg_wchar.h. So I'd > favor getting it out of there just on compilation-time grounds, > independently of whether it's

Re: Hide exposed impl detail of wchar.c

2023-11-16 Thread Jubilee Young
On Thu, Nov 16, 2023 at 2:54 PM Nathan Bossart wrote: > That being said, it's not unheard of for Postgres to make adjustments for > third-party code (search for "pljava" in commits 62aba76 and f4aa3a1). I > read the description of the pgrx problem [2], and I'm still trying to > understand the

Re: Hide exposed impl detail of wchar.c

2023-11-16 Thread Tom Lane
Nathan Bossart writes: > It looks like is_valid_ascii() was originally added to pg_wchar.h so that > it could easily be used elsewhere [0] [1], but that doesn't seem to have > happened yet. It seems to be new as of v15, so there wouldn't have been a lot of time for external code to adopt it. As

Re: Hide exposed impl detail of wchar.c

2023-11-16 Thread Nathan Bossart
On Thu, Nov 16, 2023 at 12:10:59PM -0800, Jubilee Young wrote: > On the off-chance that everyone agrees with me without reserve, the > attached patch moves the relevant code around (and includes the gory > details). This seems to be unlikely to be the only mildly-exotic build > system failure

Re: Hide exposed impl detail of wchar.c

2023-11-16 Thread Tom Lane
Jubilee Young writes: > I have root-caused the exact problem, but the bug is... social, rather > than technical in nature: people with inadequate options at their > disposal have implemented increasingly clever educated guesses that > are increasingly prone to going wrong, rather than just asking

Hide exposed impl detail of wchar.c

2023-11-16 Thread Jubilee Young
Hello, I work on pgrx, a Rust crate (really, a set of them) that allows people to use Rust to write extensions against Postgres, exporting what Postgres sees as ordinary "C" dynamic libraries. Unfortunately, the build system for this is a touch complicated, as it cannot simply run pgxs.mk, and