X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/5ba01432d80e839e2c6240717225017635cba28f..b828085578158fe94874f39369754fcc5e0113a3:/tools/word.pg.sql?ds=sidebyside

diff --git a/tools/word.pg.sql b/tools/word.pg.sql
index 9f6bd41..9f972dc 100644
--- a/tools/word.pg.sql
+++ b/tools/word.pg.sql
@@ -4,7 +4,7 @@ CREATE TABLE login (
 	email      text,
 	fullname   text,
 	editlang   text[],
-	id         serial      NOT NULL PRIMARY KEY
+	id         integer     NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
 );
 
 CREATE TABLE word (
@@ -24,7 +24,7 @@ CREATE TABLE word (
 	creator    integer              REFERENCES login (id),
 	created    timestamptz          DEFAULT now(),
 	updated    timestamptz,
-	id         serial      NOT NULL PRIMARY KEY
+	id         integer     NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
 );
 
 COMMENT ON COLUMN word.form       IS 'preferred textual representation';
@@ -49,19 +49,11 @@ CREATE TABLE kind (
 	creator    integer              REFERENCES login (id),
 	created    timestamptz          DEFAULT now(),
 	updated    timestamptz,
-	id         serial      NOT NULL PRIMARY KEY
+	id         integer     NOT NULL PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY
 );
 
 COMMENT ON COLUMN kind.truth      IS 'link validity ranging from 0 (never) to 100 (always)';
 
-CREATE OR REPLACE FUNCTION exportform(word) RETURNS text AS $$
-	SELECT concat(
-		coalesce($1.ref, $1.id), ':',
-		$1.prio, CASE WHEN $1.cover THEN 'c' ELSE '' END, ':',
-		array_to_string($1.form || $1.alt, '/')
-	);
-$$ LANGUAGE SQL IMMUTABLE;
-
 CREATE OR REPLACE VIEW _word_ref AS
 	SELECT
 		r.form, r.alt, r.lang,
@@ -102,10 +94,3 @@ CREATE OR REPLACE VIEW _word AS
 		w.*
 	FROM _word_ref w
 	;
-
-CREATE OR REPLACE VIEW _cat_words AS
-	SELECT exportform(word.*) form, sub.*, word.lang, word.ref
-	FROM word RIGHT JOIN (
-		SELECT cat id, array_agg(exportform(word.*) ORDER BY grade, form) forms
-			FROM word WHERE ref IS NULL GROUP BY cat
-	) sub USING (id);
