Adjust timestamp regression tests to prevent two low-probability failure
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 25 May 2008 21:51:38 +0000 (21:51 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 25 May 2008 21:51:38 +0000 (21:51 +0000)
commitdd718573c2521fee76c56ffe09429e2426730ab4
tree76a67607746577cbbdfb4836e571f8543a44fdc2
parent0a8b82dfb735bad8dd4720f1a6b093714fd5ee86
Adjust timestamp regression tests to prevent two low-probability failure
cases.  Recent buildfarm experience shows that it is sometimes possible
to execute several SQL commands in less time than the granularity of
Windows' not-very-high-resolution gettimeofday(), leading to a failure
because the tests expect the value of now() to change and it doesn't.
Also, it was recognized some time ago that the same area of the tests
could fail if local midnight passes between the insertion and the checking
of the values for 'yesterday', 'tomorrow', etc.  Clean all this up per
ideas from myself and Greg Stark.

There remains a window for failure if the transaction block is entered
exactly at local midnight (so that 'now' and 'today' have the same value),
but that seems low-probability enough to live with.

Since the point of this change is mostly to eliminate buildfarm noise,
back-patch to all versions we are still actively testing.
src/test/regress/expected/timestamp.out
src/test/regress/expected/timestamptz.out
src/test/regress/sql/timestamp.sql
src/test/regress/sql/timestamptz.sql