]> 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:32 +0000 (03:33 +0300)
commitfcdda202bcf8fa71e1b919f62d3bb96f610ff25f
tree3abdb1ce0b09ecae49c44a9ebd9c9c20b5e96763
parentfd7c081955929df343318d6c5d32ea24a574aacf
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