- utility methods for transforming data to PGObject jsonb format and reversing the transformation
- wait until migrations have reached a safe point before closing the pool. If the pool is closed during a migration step, the migration is marked as reserved and won't be able to continue.
- update to migratus 1.0.8
- change migration function to use interruptibility built into migratus.
- alter migration function to observe interruptibility of the thread so that migrations can be interrupted
- cleanup connection used in
uncompleted-migrations
function to prevent leak.
- alter pool initialization behavior to retry transients, but fail on everything else.
- alter pool getConnection to throw a RuntimeException when trying to use the pool with an initialization failure
- alter pool behavior to run migrations when replication-mode is left out of the migration options
- multiple test flakeyness issues resolved
- fix issue with pg-logical wrappers and multiple statements issued by migratus
- Update libraries for Java 9 compatibility
- update migratus to version 1.0.3
- update postgresql driver to 42.2.0
- update java.jdbc to 0.7.5
- update HikariCP to version 2.7.4
- update postgresql driver to 42.1.4
- fix deprecation warning on 'initializationFailFast' in Hikari configuration
- fix an issue where exceptions during migration for a replica were not caught
- update HikariCP to version 2.6.1
- update kitchensink to 0.3.0
- update cheshire to 5.7.1
- update dev dependency slf4j related items to 1.7.22 to sync with Hikari
- Fix
create-db!
when the owner of the new database is a different user than the one creating the database. - Add
has-role?
.
- Improved Japanese translation strings.
- Add
db-exists?
,create-db!
, anddrop-db!
. - Add
user-exists?
,create-user!
, anddrop-user!
.
- Add lifetime protocol to pool interface to allow shutdown routines to wait for initialization to complete.
- Fix
consolidate-provider-status
to correctly report the status.
- Fix an issue where the Hikari config option
setInitializationFailFast
was set after the connection was made, which meant that the option wasn't applied to the connection.
- Change the behavior of
reconcile-sequence-for-column!
so that it will never set a sequence to a lower value than it currently has. - Update the migratus dependency to 0.8.30 (no breaking changes).
- Remove the
NOWAIT
argument when locking a table forreconcile-sequence-for-column!
. This is unlikely to do anything but cause problems in most circumstances.
- Fixed a bug with
spec->migration-db-spec
that would allow nil:password
keys to appear in the output. The same function now also properly separates:user
from:migration-password
and:migration-user
from:password
, so that the two sets of credentials won't be erroneously combined.
- Added the ability to pass in a timeout to
combined-replication-status
(defaulting to four seconds) which will cause the replication status to be unknown if the replication status cannot be retrieved in the span of the timeout. This fixed a bug withreplication-status
which caused trapperkeeper-status checks to timeout when no database connection was available because the replication status check was not timing out.
- Fix a bug with
reconcile-sequence-for-column!
that prevented it from working when the given column was empty.
- Block startup of
:replication-mode
replicas waiting on migrations. If the application is configured as a replica wait on migrations before initializing the database (useful for waiting on pglogical replication which will replicate the migrations). - Added
Add reconcile-sequence-for-column!
that will reset a sequence to the maximum value in the column, or else 0.
- Add support for running migrations when creating a connection pool (separate from the init-fn).
- Add functionality for retrieving the status of pglogical replication.
- Add
drop-public-functions!
utility function.
- Allow the connection health check timeout to be set via
options->hikari-config
using the :connection-check-timeout entry. - Select the :connection-check-timeout entry in
select-user-configurable-hikari-options
.
- Change exception behavior of
update-pglogical-replication-set
. If the db user doesn't have rights to update pglogical, catches the exception and returns false. Other exceptions are passed through.
- Add
select-user-configurable-hikari-options
to provide a consistent way of preserving only the hikari specific options from a given map of options.
- Specifying the timeout in
wrap-with-delayed-init
does not allow the connectivity timeout to be configured independently. Addedadd-connectivity-check-timeout-ms
to allow independent configuration.
- Change the
handle-postgres-permission-errors
to generate a 500 code instead of a 403 when database permissions fail.
- Add a
middleware
namespace with ring middleware for catching Postgres permission errors and returning an http response. - Add utility functions for pglogical support under the
pglogical
namespace. - Add the
puppetlabs/i18n
library and externalize strings.
- Update
java.jdbc
dependency to 0.6.1. This version ofjava.jdbc
has breaking changes.
- Convert PGObjects to their textual value in
core/query
- It is expected that users who don't want this functionality will either calljdbc/query
directly or implement their own wrapper using the component functions called bycore/query