Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Oct 17, 2009
  1. @theory

    Add `isa_ok()`.

    theory authored
Commits on Sep 13, 2009
  1. @theory

    Fixed date type formatting bug.

    theory authored
    In the function tests, the return value of a function was not always
    consistently formatted. For example, `function_returns()` would find "bool"
    instead of "boolean".
Commits on Jul 30, 2009
  1. @theory

    Updated for 8.3 again.

    theory authored
    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!
  2. @theory

    Updated for 8.0

    theory authored
    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.
  3. @theory

    Move use of VALUES to new test file.

    theory authored
    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).
  4. @theory

    Fixed compatibility with 8.3.

    theory authored
Commits on Jul 28, 2009
  1. @theory
  2. @theory

    Added results_ne().

    theory authored
    Added `results_ne()` and fixed a bug in `results_ne()` where `NULL`
    columns were not properly respected. See
    [the blog entry](http://justatheory.com/computers/databases/postgresql/neither-null-nor-not-null.html)
    for more on this particular SQL pathology.
Commits on Jul 23, 2009
  1. @theory
  2. @theory
Commits on Jul 21, 2009
  1. @theory
Commits on Jul 10, 2009
  1. @theory

    Add set_has(), bag_has(), set_hasnt(), and bag_hasnt()

    theory authored
    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 `uninstal_pgtap.sql.in`.
Commits on Jul 1, 2009
  1. @theory
Commits on Jun 30, 2009
  1. @theory

    Broader support for prepared statement name arguments; more documenta…

    theory authored
    …tion.
    
    * 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()`.
  2. @theory
  3. @theory

    Documented `results_eq()`.

    theory authored
    * 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.
  4. @theory
  5. @theory

    Filled out the result set comparison functions.

    theory authored
    * Dropped `poset_eq()`. It was just way too hard to do. And how do you really ignore dupes, since the dupes can effect order? It's just not worth it at this point.
    * Added tests for `bag_eq()`.
    * Added tests for `pobag_eq()` and fixed it up to actually work. This included making it display "()" in the diagnostics when a row is empty, as I think that this will be more intuitive than parens with a bunch of commas.
    * Tweaked the wording of the diagnostic message for `pobag_eq()`.
    * Added an implementation of `pobag_eq()` that can take cursor arguments directly.
    * Deleted a bunch of comments that were playing with various function names.
Commits on Jun 29, 2009
  1. @theory
  2. @theory
Commits on Jun 28, 2009
  1. @theory
Commits on Jun 27, 2009
  1. @theory
Commits on May 28, 2009
  1. @theory

    Repair 8.1 compatibility.

    theory authored
    * Update `compat/install_8.1.patch`.
    * Fix test functions in `sql/aretap.sql` that returned `NULL` instead of an empty array.
  2. @theory

    Fixed compatibility on 8.2.

    theory authored
    * "set" was reserved back then, I guess, so changed the test function fro `set()` to `pet()`.
    * Updated patches.
  3. @theory
Commits on May 27, 2009
  1. @theory

    Added more function assertions.

    theory authored
    * Added `is_aggregate()`.
    * Added `is_strict()`.
    * Added `volatility_is()`.
    * Renamed `function_is_definer()` to `is_definer()`. Still weighing whether to change it to `is_setuid()` or `is_secdef()`. `is_scurity_definer()` feelds too long.
  2. @theory

    Added `function_is_definer()`.

    theory authored
  3. @theory

    Added `function_returns()`.

    theory authored
    * Added `function_returns()`.
    * Refactored all of the function-related tests to use a new view, `tap_funky`, to make them all quite a bit simpler. There was too much redundant code!
    * Added some notes for some other function-testing assertions to add. I've already added the necessary code to `tap_funky` to make them work.
    * Eliminated some extra spaces in the test descriptions in `sql/functap.sql`.
  4. @theory

    Added `function_lang_is()`.

    theory authored
Commits on May 26, 2009
  1. @theory

    Added `rule_is_on()`.

    theory authored
  2. @theory

    Added `hasnt_function()`.

    theory authored
    * Added `hasnt_function()`.
    * Renamed `sql/cantap.sql` to `sql/functap.sql`.
    * Renamed `expected/cantap.out` to `expected/functap.out`.
  3. @theory
  4. @theory

    Added `hasnt_index()`.

    theory authored
    * Added `hasnt_index()`.
    * Restored `_have_index()`, turns out I needed it after all. It was broken,
      though, so I refactored it to do a proper index lookup. I added a bunch of
      new tests in the process of tracking down the problem.
    * Fixed a bunch of "not should" typos; they are supposed to be "should not".
Commits on May 25, 2009
  1. @theory
  2. @theory
Something went wrong with that request. Please try again.