Skip to content
Commits on Jul 31, 2009
  1. Timestamped for 0.22 release.

    committed Jul 30, 2009
  2. Reorganized bag and set function documentation.

    As I was writing a blog entry for 0.22, I realized that it made more sense to
    keep the set and bag functions grouped spearately: sets with sets and bags
    with bags.
    I also updated the link to the summary of result set function arguments
    to the new name of the section.
    committed Jul 30, 2009
Commits on Jul 30, 2009
  1. Updated 8.2 patch

    committed Jul 30, 2009
  2. Updated for 8.3 again.

    In updating for 8.0, I got rid of all the `E''`s in `sql/resultset.sql` and
    `sql/valueset.sql`, but since they had backslashes in them, they broke in
    later versions. Fortunately, I was able to replaces those backslashes (in
    regular expressions) with character classes (`[(]` instead of `\\(`), thus
    eliminating the problem in all versions of PostgreSQL.
    Also updated the 8.3 install patch, since I deleted a line while working
    on 8.0. Also got the 8.3 patch to apply again!
    committed Jul 30, 2009
  3. Updated for 8.0

    Looks like I will have to figure out some way to avoid E'' in the resultset tests.
    In higher versions of PostgreSQL, that is. Not sure how I'll do it, but
    that's coming next.
    committed Jul 30, 2009
  4. Move use of VALUES to new test file.

    It turns out that PostgreSQL 8.1 and earlier don't support the `VALUES`
    statement. So I moved all the tests in `sql/resultset.sql` to
    `sql/valueset.sql` and disabled them for 8.1 and earlier. Then I changed all
    the uses of `VALUES` in `sql/resultset.sql` to use either `UNION` queries (for
    set- and bag-comparing functions, where order doesn't matter) or temporary
    tables (for result-comparing functions, where order does matter).
    committed Jul 30, 2009
  5. Updated diff for 8.1.

    committed Jul 29, 2009
  6. Updated for 8.2

    committed Jul 29, 2009
  7. Updated patch files for 8.2.

    committed Jul 29, 2009
  8. Moved pg_typeof() to a patch.

    The pg_typeof() function is included in 8.4, so there was code removing it
    from `pgtap.sql` when building on 8.4 and later. I'd rather have the latest
    version of PostgreSQL make no changes to the file, so I've changed things
    around. Now `pg_typeof()` is no longer in ``, but is added by
    `compat/install-8.3.patch.`. This keeps things clean (and line numbers
    correct!) when I'm doing development on 8.4.
    committed Jul 29, 2009
  9. Fixed compatibility with 8.3.

    committed Jul 29, 2009
Commits on Jul 29, 2009
Commits on Jul 28, 2009
  1. Added results_ne().

    Added `results_ne()` and fixed a bug in `results_ne()` where `NULL`
    columns were not properly respected. See
    [the blog entry](
    for more on this particular SQL pathology.
    committed Jul 28, 2009
Commits on Jul 23, 2009
Commits on Jul 22, 2009
  1. More precise descriptions for --schema and --match

    Modified the summary documentation for the `--schema` and `--match` options to
    better reflect that they are for finding xUnit tests, rather than for finding
    pgTAP functions.
    committed Jul 21, 2009
Commits on Jul 21, 2009
  1. Added `set_ne()` and `bag_ne()`.

    committed Jul 21, 2009
Commits on Jul 10, 2009
  1. Add set_has(), bag_has(), set_hasnt(), and bag_hasnt()

    Add the `set_has()`, `bag_has()`, `set_hasnt()`, and `bag_hasnt()` functions
    to test subsets of query results. Also eliminated some trailing whitespace and
    updated ``.
    committed Jul 9, 2009
Commits on Jul 3, 2009
  1. @qdw

    Fixed a syntax error that affected uninstall_pgtap.sql on old pg vers…

    Signed-off-by: David E. Wheeler <>
    qdw committed with Jul 4, 2009
  2. @qdw

    Added a missing closing parenthesis, which was causing uninstall to f…

    Signed-off-by: David E. Wheeler <>
    qdw committed with Jul 4, 2009
  3. Aye kant spel, damitt.

    committed Jul 2, 2009
Commits on Jul 1, 2009
Commits on Jun 30, 2009
  1. Fixed broken xref links.

    committed Jun 30, 2009
  2. Broader support for prepared statement name arguments; more documenta…

    * Added support for prepared statement names in `throws_ok()`, `lives_ok()`, and `performs_ok()`.
    * Moved documentation for sql query arguments, including support for prepared statement names, to a new top-level header, "Submit Your Query" (better name requested!), which encapsulates the above three functions as well as the resultset-comparing functions.
    * Renamed the "query" argument to `throws_ok()`, `lives_ok()`, and `performs_ok()` functions to "sql".
    * Completed the documentation for the result set testing functions.
    * Eliminated bogus extra newline in the diagnostics from `set_eq()` and `bag_eq()`.
    committed Jun 30, 2009
  3. Documented `results_eq()`.

    * Added `results_eq()`, `set_eq()`, and `bag_eq()` to `Changes`.
    * Noted a few other To-Dos for the result comparison functions.
    * Made varying column count and type diagnostics more succinct.
    * Switched `restuls_eq()` to `IS DISTINCT FROM` instead of `<>` so that `NULL`s will be compared in a reasonable way.
    * Added exception handling to deal with data type mismatches when comparing results in `results_eq()`.
    * Added code to close cursors opened by `results_eq()`. Cursors passed from userland will not be touched.
    * Added variations of `results_eq()` to mix and match cursor and SQL statement arguments.
    committed Jun 30, 2009
Something went wrong with that request. Please try again.