DSL for easy, modular construction of SQL queries.
System for automatic validation and migration of a database schema.
Changes
hpqtypes-extras-1.21.0.0 (2026-09-18)
migrateDatabase and checkDatabase now require PostgreSQL 15 or later. On an
older server they stop with an error.
Remove checkAndRememberMaterializationSupport. All supported servers
understand the MATERIALIZED keyword, so delete the call from your code.
sqlWith now emits a plain WITH clause and lets PostgreSQL decide whether
to materialize it. It used to emit WITH ... AS NOT MATERIALIZED. To keep the
old behavior, use the new sqlWithNotMaterialized.
hpqtypes-extras-1.20.0.0 (2026-06-10)
Drop crypton dependency in favor of ppad-ripemd160.
Add support for customizing trigger functions.
Adds a Function datatype and a defaultTriggerFunction backwards-compatible
trigger function helper.
Remove Read instance of IndexMethod.
Add support for the NUMERIC column type.
Fix getting the row estimate for ModifyColumnMigration if a table with the
same name is present in multiple schemas.
Add support for renaming an existing local index during a migration that
creates index concurrently.
Fix two bugs in overlapping indexes check (not excluding local indexes
properly and query failure when the table doesn’t exist).
Drop redundant table name from CreateIndexConcurrentlyMigration,
DropIndexConcurrentlyMigration and ModifyColumnMigration.
hpqtypes-extras-1.19.0.0 (2025-11-27)
Compatibility with hpqtypes >= 0.13.0.0.
hpqtypes-extras-1.18.0.0 (2025-06-02)
Don’t consider invalid indexes when checking consistency of the database.
Improve handling of lock failures during migrations.
Rename eoLockTimeoutMs to eoLockTimeoutSecs to normalize units.
hpqtypes-extras-1.17.0.1 (2025-03-27)
Fix validation of NOT NULL domains with PostgreSQL >= 17.
hpqtypes-extras-1.17.0.0 (2025-03-12)
Grouped some parameters of migrateDatabase and checkDatabase into a
DatabaseDefinitions record type.
Add an optional check that all foreign keys have an index.
Add support for NULLS NOT DISTINCT in unique indexes.
Add sqlAll and sqlAny to allow creating SQL expressions with
nested AND and OR conditions.
Add SqlWhereAll and SqlWhereAny so they can be used in signatures.
Add rudimentary support for enum types.
Add support for some regular triggers, ie: AFTER triggers without constraints
and BEFORE triggers.
hpqtypes-extras-1.16.4.4 (2023-08-23)
Switch from cryptonite to crypton.
Make sqlWhereEqualsAny, sqlWhereIn and sqlWhereNotIn prepared-query
friendly.
hpqtypes-extras-1.16.4.3 (2023-06-12)
Synchronize timezone of a session with timezone of a database after changing
the latter.
hpqtypes-extras-1.16.4.2 (2023-05-23)
Make order of tables during schema creation irrelevant.
hpqtypes-extras-1.16.4.1 (2023-05-15)
Relax checks around indexes related to the REINDEX operation.
hpqtypes-extras-1.16.4.0 (2023-04-20)
Add support for the UNION ALL clause via sqlUnionAll.
Introduce checkPKPresence to enforce primary keys on all tables supplied to checkDatabase
Introduce an options data type, ExtrasOptions
hpqtypes-extras-1.5.0.1 (2018-01-09)
Changed getDBTableNames to only schemas explicitly in search path, rather
than an exclusion list. Affects table version and unknown tables checks.
hpqtypes-extras-1.5.0.0 (2017-12-08)
Changed internal representation of PrimaryKey to NubList (#11)
This will break existing PKs set on multiple columns unless they are
alphabetically sorted in the defining list.
hpqtypes-extras-1.4.0.0 (2017-11-24)
Introduced tsvector postgres type and indexing methods GIN and BTree