annotate db/sat_pubsub_update_4_5.sql @ 431:5e8b8ef5c862

implentation of XEP-0346 (Form Discovery and Publishing): The former non standard node schema has been replaced by XEP-0346 which uses 2 nodes (one from schema/template and one for submitted values). The implementation is an adapation of the former one, and data validation is still done even if this is not currently specified in any XEP. When the template node is modified, the change is reflected in the node schema.
author Goffi <goffi@goffi.org>
date Fri, 11 Dec 2020 17:19:00 +0100
parents 1dc606612405
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
403
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
1 -- we check version of the database before doing anything
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
2 -- and stop execution if not good
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
3 \set ON_ERROR_STOP
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
4 DO $$
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 DECLARE ver text;
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
6 BEGIN
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
7 SELECT value INTO ver FROM metadata WHERE key='version';
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
8 IF NOT FOUND OR ver!='4' THEN
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
9 RAISE EXCEPTION 'This update file needs to be applied on database schema version 4, you use version %',ver;
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
10 END IF;
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 END$$;
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
12 \unset ON_ERROR_STOP
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
13 -- end of version check
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
14
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
15 /* new "max_items" and "consistent publisher" options */
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
16 ALTER TABLE nodes ADD COLUMN max_items integer NOT NULL DEFAULT 0
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 CHECK (max_items >= 0);
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 ALTER TABLE nodes ADD COLUMN consistent_publisher boolean NOT NULL DEFAULT FALSE;
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
19
1dc606612405 implemented experimental "consistent_publisher" option:
Goffi <goffi@goffi.org>
parents:
diff changeset
20 UPDATE metadata SET value='5' WHERE key='version';