- version jump to indicate this version will break existing code (I really didn't want to do this, but there are a lot of advantages. And I've decided to put all the proposed breaking changes into a single version jump to simplify upgrades)
- The upgrade script is able to upgrade all the managed tables and functions, but you'll have to modify your code
- now requires PostgreSQL 9.2 or newer (due to the usage of range types)
- Added schema support:
- The extension itself has been moved to the
recall
schema (and therecall_
prefix has been removed) _log
and_tpl
tables will now be placed into therecall
schema (to help keeping table listings cleaner)recall.enable()
added an optionaltgtSchema
parameter (defaults torecall
) specifying where the_log
and_tpl
tables will be stored.recall.enable()
prepends the data table's schema to the_tpl
and_log
table's names unless the data table is inpublic
(or matchestgtSchema
).
Sorecall.enable('abc.foo', 'some interval', 'abc')
createsabc.foo_log
, whilerecall.enable('abc.foo', 'some interval')
creates `recall.abc__foo_log')
- The extension itself has been moved to the
- The
now()
issue has been fixed (The trigger function is now able to update - candidate for 1.0
Under the hood:
- replaced the two
timestamptz
columns in log tables with the single column_log_time
of typetstzrange
- The OIDs of the
_log
and_tpl
tables are now stored torecall._config
, so you can move the tables (pg_recall will still find them) - Added a no-overlap constraint to the
_log
tables. The resulting GiST index replaces the primary key (used up until now).
The GiST index allows fast lookups based on key, timestamps or both (also speeds up thecleanup()
process) - Added a CHECK constraint preventing empty interval log entries (which could mess up querying)
When updating:
- The extension still shows up to be installed into the
public
schema (when listing extensions e.g. using\dx
in psql) even though everything's in therecall
schema (there should be no practical differences between a fresh 0.9.5 installation and an upgraded one) - all your
_log
and_tpl
tables will be moved to therecall
schema (the update script assumes that they've been in thepublic
schema before as there's no real schema support in previous versions) - replace all the function calls to any of the extension's functions
- If you rely on the log tables to have private keys (e.g. if you want to reference the log table using a foreign key - for whatever reason), add them yourselve
- fixed PostgreSQL 9.1 compatibility (by removing a call to 9.4's cardinality() function)
- added recall_at()
- only logging changes (i.e. checking if anything has changed and abort if it hasn't)
- First upgradable version