- Notifications
You must be signed in to change notification settings - Fork5.2k
PermalinkChoose a base ref {{ refName }}default Choose a head ref {{ refName }}default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also orlearn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also.Learn more about diff comparisons here.
base repository:postgres/postgres
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
Uh oh!
There was an error while loading.Please reload this page.
base:master@{1day}
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}defaultLoading
...
head repository:postgres/postgres
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
Uh oh!
There was an error while loading.Please reload this page.
compare:master
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}defaultLoading
- 4commits
- 38files changed
- 2contributors
Commits on Nov 7, 2025
Fix generic read and write barriers for Clang.
generic-gcc.h maps our read and write barriers to C11 acquire andrelease fences using compiler builtins, for platforms where we don'thave our own hand-rolled assembler. This is apparently enough for GCC,but the C11 memory model is only defined in terms of atomic accesses,and our barriers for non-atomic, non-volatile accesses were not alwaysrespected under Clang's stricter interpretation of the standard.This explains the occasional breakage observed on new RISC-V + Clanganimal greenfly in lock-free PgAioHandle manipulation code containing arepeating pattern of loads and read barriers. The problem can also beobserved in code generated for MIPS and LoongAarch, though we aren'tcurrently testing those with Clang, and on x86, though we use our ownassembler there. The scariest aspect is that we use the generic versionon very common ARM systems, but it doesn't seem to reorder the relevantcode there (or we'd have debugged this long ago).Fix by inserting an explicit compiler barrier. It expands to an emptyassembler block declared to have memory side-effects, so registers areflushed and reordering is prevented. In those respects this is like thearchitecture-specific assembler versions, but the compiler is still incharge of generating the appropriate fence instruction. Done for writebarriers on principle, though concrete problems have only been observedwith read barriers.Reported-by: Alexander Lakhin <exclusion@gmail.com>Tested-by: Alexander Lakhin <exclusion@gmail.com>Discussion:https://postgr.es/m/d79691be-22bd-457d-9d90-18033b78c40a%40gmail.comBackpatch-through: 13
Commits on Nov 8, 2025
Was added in commit5e89985.Reported-by: Ashutosh BapatAuthor: Ashutosh BapatDiscussion:https://postgr.es/m/CAExHW5tba_biyuMrd_iPVzq-+XvsMdPcEnjQ+d+__V=cjYj8Pg@mail.gmail.comBackpatch-through: master
docs: fix text by adding/removing parentheses
Reported-by: Daisuke HiguchiAuthor: Daisuke Higuchi, Erik WienholdReviewed-by: Erik WienholdDiscussion:https://postgr.es/m/CAEVT6c9FRQcFCzQ8AO=QoeQNA-w6RhTkfOUHzY6N2xD5YnBxhg@mail.gmail.comBackpatch-through: master
doc: consistently use "structname" and "structfield" markup
Previously "literal" and "classname" were used, inconsistently, forSQL table and column names.Reported-by: Peter SmithAuthor: Peter SmithDiscussion:https://postgr.es/m/CAHut+Pvtf24r+bdPgBind84dBLPvgNL7aB+=HxAUupdPuo2gRg@mail.gmail.comBackpatch-through: master
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:git diff master@{1day}...master
Uh oh!
There was an error while loading.Please reload this page.