Разделен индекс на основу (полную форму) и сокращение. Поправлено Readme с учетом новых реалий.

This commit is contained in:
Jack Stdin
2016-02-21 01:08:16 +03:00
parent 5a5c2211db
commit c4b516a28c
5 changed files with 23 additions and 16 deletions

View File

@@ -1,14 +1,16 @@
WITH RECURSIVE PATH (cnt, aoid, aoguid, aolevel, fullname) AS (
SELECT ao.id as cnt, ao.aoid, ao.aoguid, ao.aolevel,
ao.shortname || ' ' || ao.formalname AS fullname
ao.shortname || ' ' || ao.formalname AS fullname,
ao.shortname || '' AS sname
FROM "ADDROBJ" AS ao
WHERE aolevel = 1 AND actstatus = TRUE AND livestatus = TRUE AND nextid IS NULL
UNION
SELECT child.id as cnt, child.aoid, child.aoguid, child.aolevel,
PATH.fullname || ', ' || child.shortname || ' ' || child.formalname AS fullname
PATH.fullname || ', ' || child.shortname || ' ' || child.formalname AS fullname,
PATH.sname || ' ' || child.shortname AS sname
FROM "ADDROBJ" AS child
, PATH
WHERE child.parentguid = PATH.aoguid AND actstatus = TRUE AND livestatus = TRUE AND nextid IS NULL
)
SELECT p.cnt, p.aoid, p.fullname, length(p.fullname)-length(replace(p.fullname, ' ', '')) as wordcount FROM PATH p WHERE p.AOLEVEL NOT IN (1, 3)
SELECT p.cnt, p.aoid, p.fullname, p.sname, length(p.fullname)-length(replace(p.fullname, ' ', '')) as wordcount FROM PATH p WHERE p.AOLEVEL NOT IN (1, 3)