Mercurial > libervia-pubsub
view db/sat_pubsub_update_3_4.sql @ 374:40e5edd7ea11
storage: changed items order:
items were so far ordered by item_id, i.e. by order of creation.
This has been changed to order them by date of last update, so an item overwritting an old one appears on top (with former behaviour, it was staying at the same place).
The XEP is not clear on that, but this seems more in correct with ยง 6.5.7 which says "implementations SHOULD return the N most recent (as opposed to the N oldest) items".
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 03 Jan 2019 20:31:03 +0100 |
parents | a772f7dac930 |
children | 1dc606612405 |
line wrap: on
line source
-- we check version of the database before doing anything -- and stop execution if not good \set ON_ERROR_STOP DO $$ DECLARE ver text; BEGIN SELECT value INTO ver FROM metadata WHERE key='version'; IF NOT FOUND OR ver!='3' THEN RAISE EXCEPTION 'This update file need to be applied on database schema version 3, you use version %',ver; END IF; END$$; \unset ON_ERROR_STOP -- end of version check /* new "serial ids" option */ ALTER TABLE nodes ADD COLUMN serial_ids boolean NOT NULL DEFAULT FALSE; /* we want to keep creation and update times */ ALTER TABLE items RENAME COLUMN date TO created; ALTER TABLE items ADD COLUMN updated timestamp with time zone NOT NULL DEFAULT now(); UPDATE metadata SET value='4' WHERE key='version';