Re: pg_trgm comparison bug on cross-architecture replication due to different char implementation
Peter Eisentraut <peter@eisentraut.org>
On 30.04.24 19:29, Tom Lane wrote: >> 1) Assume that char signedness is somehow a property of bits-on-disk >> even though it's weird. Then pg_trgm indexes are correct, but we need >> to store char signedness in pg_control. >> 2) Assume that char signedness is not a property of bits-on-disk. >> Then pg_trgm indexes are buggy and need to be fixed. >> What do you think? > Also, the bigger picture here is the seeming assumption that "if > we change pg_trgm then it will be safe to replicate from x86 to > arm". I don't believe that that's a good idea and I'm unwilling > to promise that it will work, regardless of what we do about > char signedness. That being the case, I don't want to invest a > lot of effort in the signedness issue. Option (1) is clearly > a small change with little if any risk of future breakage. But note that option 1 would prevent some replication that is currently working.
Commits
-
pg_upgrade: Check for the expected error message in TAP tests.
- f52345995d36 18.0 landed
-
Fix a typo in 005_char_signedness.pl test.
- 945a9e3832c3 18.0 landed
-
Add test 005_char_signedness.pl to meson.build.
- 78d3f4889502 18.0 landed
-
Fix an issue with index scan using pg_trgm due to char signedness on different architectures.
- dfd8e6c73eea 18.0 landed
-
pg_upgrade: Add --set-char-signedness to set the default char signedness of new cluster.
- 1aab6805919b 18.0 landed
-
pg_upgrade: Preserve default char signedness value from old cluster.
- a8238f87f980 18.0 landed
-
pg_resetwal: Add --char-signedness option to change the default char signedness.
- 30666d1857d7 18.0 landed
-
Add default_char_signedness field to ControlFileData.
- 44fe30fdab67 18.0 landed
-
Remove unneeded nbtree array preprocessing assert.
- 480bc6e3ed3a 17.0 cited