Robert Haas pushed:
</p>
+<p>
+- Tweaks for SSI out-of-shared memory behavior. If we call
+ hash_search() with HASH_ENTER, it will bail out rather than return
+ NULL, so it's redundant to check for NULL again in the caller.
+ Thus, in cases where we believe it's impossible for the hash table
+ to run out of slots anyway, we can simplify the code slightly. On
+ the flip side, in cases where it's theoretically possible to run out
+ of space, we don't want to rely on dynahash.c to throw an error;
+ instead, we pass HASH_ENTER_NULL and throw the error ourselves if a
+ NULL comes back, so that we can provide a more descriptive error
+ message. Kevin Grittner
+ <a href="http://git.postgresql.org/pg/commitdiff/56c7140ca813ba4c7ecb122a1d2b1268e705d092">http://git.postgresql.org/pg/commitdiff/56c7140ca813ba4c7ecb122a1d2b1268e705d092</a>
+</p>
+
<p>
- Include pid in pg_lock_status() results even for SIREAD locks. Dan
Ports.
<p>
- Partially roll back overenthusiastic SSI optimization. When a
- regular lock is held, Steve Singer can use that in lieu of a
- predicate lock to detect rw conflicts; but if the regular lock is
- being taken by a subtransaction, we can't assume that it'll commit,
- so releasing the parent transaction's lock in that case is a no-no.
- Kevin Grittner
+ regular lock is held, SSI can use that in lieu of a predicate lock
+ to detect rw conflicts; but if the regular lock is being taken by a
+ subtransaction, we can't assume that it'll commit, so releasing the
+ parent transaction's lock in that case is a no-no. Kevin Grittner
<a href="http://git.postgresql.org/pg/commitdiff/fbc0d07796bcae8b2ee4b09ed236877338c95130">http://git.postgresql.org/pg/commitdiff/fbc0d07796bcae8b2ee4b09ed236877338c95130</a>
</p>
<a href="http://git.postgresql.org/pg/commitdiff/73d9a908140e709b4cb12a8d2257a11baaec974f">http://git.postgresql.org/pg/commitdiff/73d9a908140e709b4cb12a8d2257a11baaec974f</a>
</p>
-<p>
-- Tweaks for SSI out-of-shared memory behavior. If we call
- hash_search() with HASH_ENTER, it will bail out rather than return
- NULL, so it's redundant to check for NULL again in the caller.
- Thus, in cases where we believe it's impossible for the hash table
- to run out of slots anyway, we can simplify the code slightly. On
- the flip side, in cases where it's theoretically possible to run out
- of space, we don't want to rely on dynahash.c to throw an error;
- instead, we pass HASH_ENTER_NULL and throw the error ourselves if a
- NULL comes back, so that we can provide a more descriptive error
- message. Kevin Grittner
- <a href="http://git.postgresql.org/pg/commitdiff/56c7140ca813ba4c7ecb122a1d2b1268e705d092">http://git.postgresql.org/pg/commitdiff/56c7140ca813ba4c7ecb122a1d2b1268e705d092</a>
-</p>
-
<p>
- Add an example of WITH (UPDATE RETURNING) INSERT to the INSERT ref
page. Per a discussion with Gavin Flower. This barely scratches