X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/5ba01432d80e839e2c6240717225017635cba28f..HEAD:/tools/word.pg.sql 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);