pg.ddx.io pgsql-committers@postgresql.org mailing list archive
help / color / mirror / Atom feedpgsql: Inline pg_ascii_tolower() and pg_ascii_toupper().
6+ messages / 6 participants
[nested] [flat]
* pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper().
@ 2025-11-26 18:08 Jeff Davis <jdavis@postgresql.org>
2025-11-28 18:00 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Álvaro Herrera <alvherre@kurilemu.de>
0 siblings, 1 reply; 6+ messages in thread
From: Jeff Davis @ 2025-11-26 18:08 UTC (permalink / raw)
To: pgsql-committers@lists.postgresql.org
Inline pg_ascii_tolower() and pg_ascii_toupper().
Discussion: https://postgr.es/m/450ceb6260cad30d7afdf155d991a9caafee7c0d.camel@j-davis.com
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/ec4997a9d733e91b614d0c2f3e6445cc2905fd16
Modified Files
--------------
src/include/port.h | 25 +++++++++++++++++++++++--
src/port/pgstrcasecmp.c | 26 --------------------------
2 files changed, 23 insertions(+), 28 deletions(-)
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper().
2025-11-26 18:08 pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Jeff Davis <jdavis@postgresql.org>
@ 2025-11-28 18:00 ` Álvaro Herrera <alvherre@kurilemu.de>
2025-11-28 20:40 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Tom Lane <tgl@sss.pgh.pa.us>
0 siblings, 1 reply; 6+ messages in thread
From: Álvaro Herrera @ 2025-11-28 18:00 UTC (permalink / raw)
To: Jeff Davis <jdavis@postgresql.org>; +Cc: pgsql-hackers@lists.postgresql.org
On 2025-Nov-26, Jeff Davis wrote:
> Inline pg_ascii_tolower() and pg_ascii_toupper().
I think this broke the CI on (some flavors of?) Windows. In
https://cirrus-ci.com/task/6080935063453696
I got
[19:09:39.518] [1597/2357] Linking target src/backend/postgres.exe
[19:09:39.518] FAILED: [code=1] src/backend/postgres.exe
[19:09:39.518] "cc" @src/backend/postgres.exe.rsp
[19:09:39.518] C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/backend/postgres_lib.a.p/commands_event_trigger.c.obj: in function `filter_list_to_array':
[19:09:39.518] c:\cirrus\build/../src/backend/commands/event_trigger.c:377:(.text+0x2a5): undefined reference to `pg_ascii_toupper'
[19:09:39.518] collect2.exe: error: ld returned 1 exit status
[19:09:39.520] [1598/2357] Compiling C object src/backend/snowball/dict_snowball.dll.p/libstemmer_stem_ISO_8859_1_indonesian.c.obj
[19:09:39.521] [1599/2357] Compiling C object src/backend/snowball/dict_snowball.dll.p/libstemmer_stem_ISO_8859_1_irish.c.obj
[19:09:39.616] [1600/2357] Compiling C object src/backend/snowball/dict_snowball.dll.p/libstemmer_stem_ISO_8859_1_english.c.obj
[19:09:39.648] [1601/2357] Compiling C object src/backend/replication/pgoutput/pgoutput.dll.p/pgoutput.c.obj
[19:09:39.760] [1602/2357] Compiling C object src/backend/snowball/dict_snowball.dll.p/libstemmer_stem_ISO_8859_1_german.c.obj
[19:09:39.762] ninja: build stopped: subcommand failed.
I'm surprised it didn't do anything to the buildfarm. Are we lacking coverage?
--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper().
2025-11-26 18:08 pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Jeff Davis <jdavis@postgresql.org>
2025-11-28 18:00 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Álvaro Herrera <alvherre@kurilemu.de>
@ 2025-11-28 20:40 ` Tom Lane <tgl@sss.pgh.pa.us>
2025-11-29 01:54 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Chao Li <li.evan.chao@gmail.com>
2025-11-29 14:53 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Andres Freund <andres@anarazel.de>
0 siblings, 2 replies; 6+ messages in thread
From: Tom Lane @ 2025-11-28 20:40 UTC (permalink / raw)
To: Álvaro Herrera <alvherre@kurilemu.de>; +Cc: Jeff Davis <jdavis@postgresql.org>; pgsql-hackers@lists.postgresql.org
=?utf-8?Q?=C3=81lvaro?= Herrera <alvherre@kurilemu.de> writes:
> On 2025-Nov-26, Jeff Davis wrote:
>> Inline pg_ascii_tolower() and pg_ascii_toupper().
> I think this broke the CI on (some flavors of?) Windows. In
> https://cirrus-ci.com/task/6080935063453696
> I got
> [19:09:39.518] C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/backend/postgres_lib.a.p/commands_event_trigger.c.obj: in function `filter_list_to_array':
> [19:09:39.518] c:\cirrus\build/../src/backend/commands/event_trigger.c:377:(.text+0x2a5): undefined reference to `pg_ascii_toupper'
That's bizarre. I checked recent cfbot rebuilds of some of my patches
and there's no problem, also just looking at port.h it's impossible
to see how this could happen. Some weird compiled-code caching
misbehavior in CI, perhaps?
regards, tom lane
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper().
2025-11-26 18:08 pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Jeff Davis <jdavis@postgresql.org>
2025-11-28 18:00 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Álvaro Herrera <alvherre@kurilemu.de>
2025-11-28 20:40 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Tom Lane <tgl@sss.pgh.pa.us>
@ 2025-11-29 01:54 ` Chao Li <li.evan.chao@gmail.com>
1 sibling, 0 replies; 6+ messages in thread
From: Chao Li @ 2025-11-29 01:54 UTC (permalink / raw)
To: Tom Lane <tgl@sss.pgh.pa.us>; +Cc: Álvaro Herrera <alvherre@kurilemu.de>; Jeff Davis <jdavis@postgresql.org>; pgsql-hackers@lists.postgresql.org
> On Nov 29, 2025, at 04:40, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> =?utf-8?Q?=C3=81lvaro?= Herrera <alvherre@kurilemu.de> writes:
>> On 2025-Nov-26, Jeff Davis wrote:
>>> Inline pg_ascii_tolower() and pg_ascii_toupper().
>
>> I think this broke the CI on (some flavors of?) Windows. In
>> https://cirrus-ci.com/task/6080935063453696
>> I got
>
>> [19:09:39.518] C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/backend/postgres_lib.a.p/commands_event_trigger.c.obj: in function `filter_list_to_array':
>> [19:09:39.518] c:\cirrus\build/../src/backend/commands/event_trigger.c:377:(.text+0x2a5): undefined reference to `pg_ascii_toupper'
>
> That's bizarre. I checked recent cfbot rebuilds of some of my patches
> and there's no problem, also just looking at port.h it's impossible
> to see how this could happen. Some weird compiled-code caching
> misbehavior in CI, perhaps?
>
> regards, tom lane
>
>
ec4997a moved the two functions from pgstrcasecmp.c to port.h and made them inline, so maybe some old .o were not rebuilt and still need to link to the old functions.
Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper().
2025-11-26 18:08 pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Jeff Davis <jdavis@postgresql.org>
2025-11-28 18:00 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Álvaro Herrera <alvherre@kurilemu.de>
2025-11-28 20:40 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Tom Lane <tgl@sss.pgh.pa.us>
@ 2025-11-29 14:53 ` Andres Freund <andres@anarazel.de>
2025-11-30 02:20 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Thomas Munro <thomas.munro@gmail.com>
1 sibling, 1 reply; 6+ messages in thread
From: Andres Freund @ 2025-11-29 14:53 UTC (permalink / raw)
To: Tom Lane <tgl@sss.pgh.pa.us>; +Cc: Álvaro Herrera <alvherre@kurilemu.de>; Jeff Davis <jdavis@postgresql.org>; pgsql-hackers@lists.postgresql.org
Hi,
On 2025-11-28 15:40:19 -0500, Tom Lane wrote:
> =?utf-8?Q?=C3=81lvaro?= Herrera <alvherre@kurilemu.de> writes:
> > On 2025-Nov-26, Jeff Davis wrote:
> >> Inline pg_ascii_tolower() and pg_ascii_toupper().
>
> > I think this broke the CI on (some flavors of?) Windows. In
> > https://cirrus-ci.com/task/6080935063453696
> > I got
>
> > [19:09:39.518] C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/backend/postgres_lib.a.p/commands_event_trigger.c.obj: in function `filter_list_to_array':
> > [19:09:39.518] c:\cirrus\build/../src/backend/commands/event_trigger.c:377:(.text+0x2a5): undefined reference to `pg_ascii_toupper'
>
> That's bizarre. I checked recent cfbot rebuilds of some of my patches
> and there's no problem, also just looking at port.h it's impossible
> to see how this could happen. Some weird compiled-code caching
> misbehavior in CI, perhaps?
Yea, I suspect something with ccache is going wrong. We have before noticed
problems with ccache on mingw, where it somehow used .o files from the wrong
major versions, despite obviously the input files obviously not supposed to be
matching. I don't know what could cause that...
For now I've cleared the task's cache, but that's clearly not a full fix...
Greetings,
Andres Freund
^ permalink raw reply [nested|flat] 6+ messages in thread
* Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper().
2025-11-26 18:08 pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Jeff Davis <jdavis@postgresql.org>
2025-11-28 18:00 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Álvaro Herrera <alvherre@kurilemu.de>
2025-11-28 20:40 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Tom Lane <tgl@sss.pgh.pa.us>
2025-11-29 14:53 ` Re: pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Andres Freund <andres@anarazel.de>
@ 2025-11-30 02:20 ` Thomas Munro <thomas.munro@gmail.com>
0 siblings, 0 replies; 6+ messages in thread
From: Thomas Munro @ 2025-11-30 02:20 UTC (permalink / raw)
To: Andres Freund <andres@anarazel.de>; +Cc: Tom Lane <tgl@sss.pgh.pa.us>; Álvaro Herrera <alvherre@kurilemu.de>; Jeff Davis <jdavis@postgresql.org>; pgsql-hackers@lists.postgresql.org
On Sun, Nov 30, 2025 at 3:53 AM Andres Freund <andres@anarazel.de> wrote:
> On 2025-11-28 15:40:19 -0500, Tom Lane wrote:
> > =?utf-8?Q?=C3=81lvaro?= Herrera <alvherre@kurilemu.de> writes:
> > > On 2025-Nov-26, Jeff Davis wrote:
> > >> Inline pg_ascii_tolower() and pg_ascii_toupper().
> >
> > > I think this broke the CI on (some flavors of?) Windows. In
> > > https://cirrus-ci.com/task/6080935063453696
> > > I got
> >
> > > [19:09:39.518] C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: src/backend/postgres_lib.a.p/commands_event_trigger.c.obj: in function `filter_list_to_array':
> > > [19:09:39.518] c:\cirrus\build/../src/backend/commands/event_trigger.c:377:(.text+0x2a5): undefined reference to `pg_ascii_toupper'
> >
> > That's bizarre. I checked recent cfbot rebuilds of some of my patches
> > and there's no problem, also just looking at port.h it's impossible
> > to see how this could happen. Some weird compiled-code caching
> > misbehavior in CI, perhaps?
>
> Yea, I suspect something with ccache is going wrong. We have before noticed
> problems with ccache on mingw, where it somehow used .o files from the wrong
> major versions, despite obviously the input files obviously not supposed to be
> matching. I don't know what could cause that...
To have compiled event_trigger.c without a warning about an undeclared
function and then generated an unresolvable symbol reference, I
suppose it must either have (1) failed to track the dependency on the
precompiled header (so ccache spat out a cached .o from before commit
ec4997a9 that it shouldn't have), or (2) failed to re-precompile the
header (so ccache spat out a cached .pch from before commit ec4997a9
that it shouldn't have and then this or some earlier build compiled a
broken .o)? Hmm...
^ permalink raw reply [nested|flat] 6+ messages in thread
end of thread, other threads:[~2025-11-30 02:20 UTC | newest]
Thread overview: 6+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-11-26 18:08 pgsql: Inline pg_ascii_tolower() and pg_ascii_toupper(). Jeff Davis <jdavis@postgresql.org>
2025-11-28 18:00 ` Álvaro Herrera <alvherre@kurilemu.de>
2025-11-28 20:40 ` Tom Lane <tgl@sss.pgh.pa.us>
2025-11-29 01:54 ` Chao Li <li.evan.chao@gmail.com>
2025-11-29 14:53 ` Andres Freund <andres@anarazel.de>
2025-11-30 02:20 ` Thomas Munro <thomas.munro@gmail.com>
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox