map: import 10x10 dutch numbers mnemonic
[sheet.git] / tools / word.pg.sql
index 69ae03c0a071aea553d41846f1bc12278dc6d544..9f6bd41769a1b715b8f81f45f1dffb7254b15248 100644 (file)
@@ -74,24 +74,26 @@ CREATE OR REPLACE VIEW _word_ref AS
                coalesce(r.wptitle, w.wptitle) wptitle,
                coalesce(r.story,   w.story  ) story,
                r.creator, r.created, r.updated,
-               CASE WHEN r.image IS NULL THEN w.id ELSE r.id END id -- image id
+               CASE WHEN nullif(r.image, '{}') IS NOT NULL THEN r.id
+                    WHEN nullif(w.image, '{}') IS NOT NULL THEN w.id END id -- image id
        FROM word r
        LEFT JOIN word w ON w.id = r.ref;
 
 CREATE OR REPLACE VIEW _word_tree AS
        WITH RECURSIVE r AS (
-               SELECT w.ref, w.lang, w.cat, w.grade, NULL::int trans
+               SELECT w.ref, w.lang, w.cat, w.grade, w.form, NULL::int trans
                FROM _word_ref w
        UNION ALL
                SELECT r.ref, r.lang, w.cat,
                        CASE WHEN w.lang=r.lang OR t.lang=r.lang THEN r.grade ELSE w.grade END,
+                       CASE WHEN w.lang=r.lang OR t.lang=r.lang THEN r.form ELSE w.form END,
                        CASE WHEN w.lang=r.lang OR t.lang=r.lang THEN w.id END
                FROM r JOIN word w ON w.id = r.cat
                  LEFT JOIN word t ON w.id = t.ref AND t.lang = r.lang
                WHERE r.trans IS NULL
        )
-       SELECT ref, lang, trans cat, grade FROM r WHERE trans IS NOT NULL
-               ORDER BY cat, grade, ref;
+       SELECT ref, lang, trans cat, grade, form FROM r WHERE trans IS NOT NULL
+               ORDER BY cat, grade, form, ref;
 
 CREATE OR REPLACE VIEW _word AS
        SELECT