postgresql/src/test
Tom Lane 77a3be32f7 Fix mishandling of NaN counts in numeric_[avg_]combine.
When merging two NumericAggStates, the code missed adding the new
state's NaNcount unless its N was also nonzero; since those counts
are independent, this is wrong.

This would only have visible effect if some partial aggregate scans
found only NaNs while earlier ones found only non-NaNs; then we could
end up falsely deciding that there were no NaNs and fail to return a
NaN final result as expected.  That's pretty improbable, so it's no
surprise this hasn't been reported from the field.  Still, it's a bug.

I didn't try to produce a regression test that would show the bug,
but I did notice that these functions weren't being reached at all
in our regression tests, so I improved the tests to at least
exercise them.  With these additions, I see pretty complete code
coverage on the aggregation-related functions in numeric.c.

Back-patch to 9.6 where this code was introduced.  (I only added
the improved test case as far back as v10, though, since the
relevant part of aggregates.sql isn't there at all in 9.6.)
2020-06-11 17:38:42 -04:00
..
authentication Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
examples Update copyrights for 2020 2020-01-01 12:21:45 -05:00
isolation Avoid update conflict out serialization anomalies. 2020-06-11 10:09:47 -07:00
kerberos Extensive code review for GSSAPI encryption mechanism. 2020-01-11 17:14:08 -05:00
ldap Update copyrights for 2020 2020-01-01 12:21:45 -05:00
locale Use perl warnings pragma consistently 2020-04-13 11:55:45 -04:00
mb Fix MB regression tests for WAL-logging of hash indexes. 2017-03-15 07:25:36 -04:00
modules Spelling adjustments 2020-06-07 15:06:51 +02:00
perl Fix walsender error cleanup code 2020-05-15 20:00:52 -04:00
recovery Fix crash in WAL sender when starting physical replication 2020-06-08 10:12:24 +09:00
regress Fix mishandling of NaN counts in numeric_[avg_]combine. 2020-06-11 17:38:42 -04:00
ssl OpenSSL 3.0.0 compatibility in tests 2020-06-05 11:18:11 +02:00
subscription Fix assertion with relation using REPLICA IDENTITY FULL in subscriber 2020-05-16 18:15:18 +09:00
thread Update copyrights for 2020 2020-01-01 12:21:45 -05:00
Makefile Revert "Allow on-line enabling and disabling of data checksums" 2018-04-09 19:03:42 +02:00
README Add TAP tests for password-based authentication methods. 2017-03-17 11:34:16 +02:00

README

PostgreSQL tests
================

This directory contains a variety of test infrastructure as well as some of the
tests in PostgreSQL. Not all tests are here -- in particular, there are more in
individual contrib/ modules and in src/bin.

Not all these tests get run by "make check". Check src/test/Makefile to see
which tests get run automatically.

authentication/
  Tests for authentication

examples/
  Demonstration programs for libpq that double as regression tests via
  "make check"

isolation/
  Tests for concurrent behavior at the SQL level

locale/
  Sanity checks for locale data, encodings, etc

mb/
  Tests for multibyte encoding (UTF-8) support

modules/
  Extensions used only or mainly for test purposes, generally not suitable
  for installing in production databases

perl/
  Infrastructure for Perl-based TAP tests

recovery/
  Test suite for recovery and replication

regress/
  PostgreSQL's main regression test suite, pg_regress

ssl/
  Tests to exercise and verify SSL certificate handling

subscription/
  Tests for logical replication

thread/
  A thread-safety-testing utility used by configure