Mercurial > libervia-pubsub
annotate db/libervia_pubsub_update_4_5.sql @ 491:4e8e8788bc86
Bookmark compatibility layer:
The new `bookmark_compat` module add a compatibility layer between XEP-0048 (with
XEP-0049 private XML storage) and XEP-0402, i.e. it implements the
`urn:xmpp:bookmarks:1#compat` feature.
author | Goffi <goffi@goffi.org> |
---|---|
date | Thu, 21 Nov 2024 11:03:51 +0100 |
parents | 9af0ef2c145c |
children |
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'; |