]> granicus.if.org Git - postgresql/commit
Reduce length of GIN predicate locking isolation test suite
authorAlexander Korotkov <akorotkov@postgresql.org>
Fri, 28 Dec 2018 00:33:10 +0000 (03:33 +0300)
committerAlexander Korotkov <akorotkov@postgresql.org>
Fri, 28 Dec 2018 00:33:10 +0000 (03:33 +0300)
commit0c6f4f9212cf3155b258910acf80fec89f49b767
treec94c837e7e1fad5cc202ff07023591b86800e336
parentae4472c619341ff0517254d395d74796277622e6
Reduce length of GIN predicate locking isolation test suite

Isolation test suite of GIN predicate locking was criticized for being too slow,
especially under Valgrind.  This commit is intended to accelerate it.  Tests are
simplified in the following ways.

  1) Amount of data is reduced.  We're now close to the minimal amount of data,
     which produces at least one posting tree and at least two pages of entry
     tree.
  2) Three isolation tests are merged into one.
  3) Only one tuple is queried from posting tree.  So, locking of index is the
     same, but tuple locks are not propagated to relation lock.  Also, it is
     faster.
  4) Test cases itself are simplified.  Now each test case run just one INSERT
     and one SELECT involving GIN, which either conflict or not.

Discussion: https://postgr.es/m/20181204000740.ok2q53nvkftwu43a%40alap3.anarazel.de
Reported-by: Andres Freund
Tested-by: Andrew Dunstan
Author: Alexander Korotkov
Backpatch-through: 11
src/test/isolation/expected/predicate-gin-fastupdate.out [deleted file]
src/test/isolation/expected/predicate-gin-nomatch.out [deleted file]
src/test/isolation/expected/predicate-gin.out
src/test/isolation/isolation_schedule
src/test/isolation/specs/predicate-gin-fastupdate.spec [deleted file]
src/test/isolation/specs/predicate-gin-nomatch.spec [deleted file]
src/test/isolation/specs/predicate-gin.spec