File Release Notes and Changelog

Release Name: 0.18

Release Notes

pgTAP 0.18
==========

pgTAP is a unit testing framework for PostgreSQL written in PL/pgSQL and
PL/SQL. It includes a comprehensive collection of TAP-emitting 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.

pgTAP 0.18 is a bug-fix-only release. Upgrading is strongly recommended. See
the Changes document for more details. Enjoy!

Change Log

0.18  2009-02-06T20:06:00
      - Fixed `pg_version_num()`. It was broken in 0.16; sorry about that!
      - Fixed a bug in `col_type_is()` where it would die if it was looking
        for a type in a table that had dropped columns. Thanks to depesz and
        RhodiumToad on #postgresql for the help nailing that one down!
      - Fixed a test failure in `sql/coltap.sql` on PostgreSQL 8.3.
      - Fixed a bug in the `Makefile` where it did not properly point to
        `pg_config` when building from the `compat` directory in the
        PostgreSQL source tree.
      - Fixed a bug in the `Makefile` where the `test_setup.sql` file, which
        is required for tests, was not always getting created.

0.17  2009-02-06T17:51:52
      - Fixed `col_default_is()` so that it works properly in cases where the
        default value is `NULL`.
      - Fixed `col_default_is()` to gracefully handle different data types,
        columns without defaults, and nonexistent columns.
      - Fixed the three-argument form of `col_default_is()` to accept any data
        type for the default, not just text.
      *NOTE:* You must `DROP FUNCTION col_default_is ( NAME, NAME, TEXT );` if
        you have previous versions of this function installed, so as to
        eliminate the incompatible version.
      - Added `col_has_default()` and `col_hasnt_default()`.
      - Changed default descriptions for column testing functions to refer to
        the columns as the more SQL-standard `schema.table.column` instead of
        `schema.table(column)`.
      - Modified all diagnostic messages and test descriptions that reference
        database objects to use `quote_ident()` to quote the names of those
        objects, rather than emitting them with or without double-quotes in an
        ad-hoc way as had hitherto been the case.
      - Modified `col_not_null()`, `col_is_null()` and `col_type_is()` to emit
        diagnostics if they fail because the column in question does not
        exist.
      - Added `has_tablespace()` and `hasnt_tablespace()`.
      - Added `has_sequence()` and `hasnt_sequence()`.
      - Changed `has_index()` so that expressions are compared case-
        sensitively.
      - In the schema testing functions, now using `quote_ident()` to compare
        all identifiers, such as table names, schema names, column names, etc.
        It had been a mix of straight-forward string comparison, and
        case-insensitive matching. This means that tests should use only
        lowercase strings to specify object names, unless mixed case objects
        were crated with double quote characters.
      - Added version of `todo()` with the `why` and `how_many` arugments
        reversed, so that I don't have to remember a specific order.
Powered By FusionForge