File Release Notes and Changelog

Release Name: 0.25.0

Release Notes

pgTAP 0.25.0

[pgTAP]( is a unit testing framework for PostgreSQL written
in PL/pgSQL and PL/SQL. It includes a comprehensive collection of
[TAP]( assertion functions, as well as the
ability to integrate with other TAP-emitting test frameworks. It can also be
used in the xUnit testing style. For detailed documentation, see the
documentation in `doc/` or
[online]( "Complete pgTAP Documentation").

Change Log

0.25.0 2011-02-02T03:21:55
* Minor documentation tweaks.
* The sequence created to keep track of test numbers is now a temporary
  sequence. This will prevent it from persisting beyond the current
  connection, which could lead to erorrs in future connections. Thanks to
  Richard Huxton for the report.
* Fixed `is_superuser()` and `isnt_superuser()` so that they properly detect
  superuser roles as well as users.
* Fixed examples of single-quoted string values stored in `psql` variables in
* Fixed a bug in `plan()` where a sequence wasn't getting created as a
  temporary sequence. This wasn't a problem if all testing was done inside a
  transaction, but if not, you could only run tests once without an error.
* Fixed bug where `has_column()`, `col_type_is()`, `domain_type_is()`,
  `cast_exists()`, `cast_context_is()`, and `has_operator()`, were forcing the
  type argument to lowercase, which wasn't correct when the type is actually
  mixed case or uppercase (that is, named in double quotes when it was
* The expected type passed to `index_is_type()` is no longer compared
  case-insensitively, since it might be possible in the future to create a
  type with mixed case by using double quotes when naming it.
* Documented that double-quotes must be used for types created with
  double-quoted names in the strings passed to `casts_are()`. This should be
  the only part of the API that does require this sort of quoting.
* Added `diag(anyelement)` (for 8.3 and higher) and `diag(VARIADIC anyarray)`
  (for 8.4 and higher) to make it easier to emit diagnostics for whatever data
  you have at hand.
* The `_cleanup()` function now properly drops the temporary sequences as well
  as the temporary tables. These are usually automatically dropped when the
  tests finish and the client disconnects, but it's best to try to keep things
  tidy ourselves, too. Spotted by Peter Eisentraut.
* Fixed a bug in `has_pk()` so that it properly checks that a table is visible
  in the search path when a schema is not specified, and doesn't check that
  when the schema *is* specified. Patch from Cédric Villemain.
* Fixed a bug in `col_is_unique()` and `col_has_check()` where they considered
  *all* columns in a table that were unique or involved in a check constraint
  were assocated with only one constraint. Since one can have multiple unique
  or check constraints on a table, each using different columns, this was
  sub-optimal. Thanks to Cédric Villemain for the spot!
* Removed `pg_prove` and `pg_tapgen` from the distribution. They must now be
  installed separately from CPAN. If it's not installed, the intaller will
  issue a warning.
* Added `META.json` and distributed on [PGXN](
* Rearranged the source directory layout to more closely match the [preferred
  PGXN layout](
Powered By FusionForge