Releases: theory/pgtap
Releases · theory/pgtap
Release v1.3.3
Changes for v1.3.3
- Improved the correctness and performance of
col_type_is
on Postgres 17 thanks to the introduction of theto_regtypemod()
function. - Fix bug introduced in v1.3.2 where
col_type_is
throws an error when the type isn't in the search path. Thanks to Erik Wienhold for the PR (#332)! - Removed the reference to PGUnit from the docs, as the project seems to have disappeared. Also the link to the GitHub repo. Thanks to Vick Khera for the report (#333)!
Release v1.3.2
Changes for v1.3.2
Release v1.3.1
Changes for v1.3.1:
- Revamped the handling of data type declarations in
col_type_is()
to always accurately normalize data type representations, whether using aliases, such asvarchar
forcharacter varying
, or more complicated types that failed to work in v1.3.0, such asinterval second(0)
. This is done by delegating the parsing of the type declaration to a core PostgresSQL function. Many thanks to Erik Wienhold for the report and for ultimately uncovering and implementing an SQL interface to theparseTypeString()
core function (#315). - Removed the documentation for
pg_typeof()
, which was removed from pgTAP when support for PostgreSQL 8.3 was dropped, since the same function has been available in the PostgreSQL core since then. - Improved the support for type name aliases to the following functions:
has_cast()
hasnt_cast()
cast_context_is()
domain_type_is()
domain_type_isnt()
has_operator()
hasnt_operator()
- Added the
has_pk( :schema, :table )
variant, which requires that:table
be cast toname
to avoid confusion with thehas_pk( :schema, :description )
variant. Thanks to Adrian Klaver for the report (#287)!
Release v1.3.0
Changes for v1.3.0:
- Fixed an issue with xUnit tests where they would exit immediately on
unexpected errors (aside from PL/pgSQL RAISE errors) rather than exit just the
current test function. Thanks to @kzathey for the report and to @fjf2002 for
the analysis. - Fixed a pluralization error reporting xUnit test failures to report "failed 1
test" instead of "failed 1 tests". - Removed the indentation for diagnostic comments at the start of subtests to
make it easier to see where they start and end. This changes the output
format, which will not affect tests run bypg_prove
, but will break tests
that depend on diffing files, aspg_regress
does. Thanks to Matt DeLuco for
highlighting the visual confusion of the indented diagnostic (#264). - Added variants of
col_is_pk()
with schema and without description (variants
without schema or description already existed). Thanks to Luca Ferrari and
Matteo Ferrando for the PRs (#178 & #199)! - Added a note on the use of temporary tables to the
fk_ok()
documentation, as
well as a test to ensure the suggested expressions work. Thanks to Jim Nasby
for highlighting the special treatment of the temporary schema (#109). - Removed redundant
DROP
statements from the 1.2.0 upgrade script that
prevented upgrades from working properly. Thanks to @robins for the PR
(#300)! - Fixed a test failure caused by the removal of support for select rules in
postgres/postgres@b23cd18 (expected in Postgres 16). Thanks to @Deltaus for
the report (#309)! - Fixed
LIKE
expression inschemas_are()
to escape the underscore wildcard,
making itpg\_%
instead ofpg_%
. Thanks to Jehan-Guillaume (ioguix) de
Rorthais for the PR (#311)! - Updated function-testing functions to allow short names for argument types, so
that they can be specified as, e.g.,int
andbool
rather thaninteger
andboolean
. The return value argument tofunction_returns
and and data
type tests such ascol_type_is
andcast_context_is
must still use full
type names. Thanks to @wphilips53 for the suggestion (#292). - Updated type-testing functions to allow short names for types, and updated
function-testing functions to allow short names for argument types. This means
that common aliases for standard types can be specified as, e.g.,int
and
bool
rather thaninteger
andboolean
. Thanks to @wphilips53 for the
suggestion (#292). - Tweaked the installation docs for Docker, binary Linux distributions, and
downloading the source from PGXN. Thanks to @jed-walker-icd (#275) and
@machineghost (#301) for the suggestions!
Release v1.2.0
Changes for v1.2.0:
- Made the description field optional in
has_view()
andhasnt_view()
when
specifying schema (#230). Thanks to Godwottery for the patch! - Added support for the date and time keywords
CURRENT_DATE
,CURRENT_TIME
,
CURRENT_TIMESTAMP
,LOCALTIME
, andLOCALTIMESTAMP
tocol_default_is()
.
Thanks to Kevin Brannen for the report (#244)! - Fixed failure to run tests on Postgres 13. Thanks to Christoph Berg for the
report (#248). - Documented that mixed-case column names created with double quotes
must be double-quoted when passed tohas_index()
oris_indexed()
,
sadly unlike other column arguments in pgTAP. Thanks to Keith Fiske for
the report (#247). - Fixed test failures where the current username was not being quoted as an
identifier. Thanks to Matt DeLuco for the report (#216) and pull request
#259)! - Fixed the
col_not_null()
drop statements in the uninstall script. Thanks
to Kyle L. Jensen for the report (#252). - Removed straggler references to Postgres 9.0 and earlier, including
conditional tests. - Updated all relevant URLs to use https instead of http.
- Added instructions to install the extension on a host with PostgreSQL running
and with the contrib modules installed. Thanks to F. Eugene Aumson for the
report (#276). - Fixed test failures due to changes in PostgreSQL 14. Thanks to Christoph Berg
for the report (#277). - Added
isnt_member_of()
(#38, #204). Thanks to Wolfgang Walther for the
pull request (#249). - Added docker files for local test environment. Thanks to Wolfgang Walther for
the pull request (#250). - Added
hasnt_operator()
,hasnt_leftop()
,hasnt_rightop()
(#38). Thanks to
Wolfgang Walther for the pull request (#251). - Improved the output of
results_eq()
andresults_ne()
when the number of
columns or their types are different (#37). Thanks to Wolfgang Walther for
the pull request (#255). - Fixed testing issue where tests for unsupported features were not properly
skipped on Postgres 9.6 and earlier. Only appeared when tests were run
serially (#279). - Fixed an issue where tests might not run in parallel even when the server
supported it (#279).