Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

multixact.c

Blame
    • Alvaro Herrera's avatar
      a50d9762
      Wrap multixact/members correctly during extension · a50d9762
      Alvaro Herrera authored
      In the 9.2 code for extending multixact/members, the logic was very
      simple because the number of entries in a members page was a proper
      divisor of 2^32, and thus at 2^32 wraparound the logic for page switch
      was identical than at any other page boundary.  In commit 0ac5ad51 I
      failed to realize this and introduced code that was not able to go over
      the 2^32 boundary.  Fix that by ensuring that when we reach the last
      page of the last segment we correctly zero the initial page of the
      initial segment, using correct uint32-wraparound-safe arithmetic.
      
      Noticed while investigating bug #8673 reported by Serge Negodyuck, as
      diagnosed by Andres Freund.
      a50d9762
      History
      Wrap multixact/members correctly during extension
      Alvaro Herrera authored
      In the 9.2 code for extending multixact/members, the logic was very
      simple because the number of entries in a members page was a proper
      divisor of 2^32, and thus at 2^32 wraparound the logic for page switch
      was identical than at any other page boundary.  In commit 0ac5ad51 I
      failed to realize this and introduced code that was not able to go over
      the 2^32 boundary.  Fix that by ensuring that when we reach the last
      page of the last segment we correctly zero the initial page of the
      initial segment, using correct uint32-wraparound-safe arithmetic.
      
      Noticed while investigating bug #8673 reported by Serge Negodyuck, as
      diagnosed by Andres Freund.