diff --git a/etc/db/schema-template.sql b/etc/db/schema-template.sql index 5938a10..c744873 100644 --- a/etc/db/schema-template.sql +++ b/etc/db/schema-template.sql @@ -441,6 +441,13 @@ COMMENT ON TABLE _SURVEY__TEMPLATE_.events_timed_seq IS 'If a timed event is wit -- CREATE VIEW _SURVEY__TEMPLATE_.events AS + WITH qc AS ( + SELECT rs.sequence, + rs.point, + ARRAY[jsonb_array_elements_text(q.labels)] AS labels + FROM _SURVEY__TEMPLATE_.raw_shots rs, + LATERAL jsonb_path_query(rs.meta, '$."qc".*."labels"'::jsonpath) q(labels) + ) SELECT 'sequence'::text AS type, false AS virtual, s.sequence, @@ -494,16 +501,16 @@ UNION rs.sequence, rs.point, ((10000000 + (rs.sequence * 100000)) + rs.point) AS id, - (q.q)::text AS remarks, + (q.remarks)::text AS remarks, rs.line, rs.objref, rs.tstamp, rs.hash, rs.geometry, - ARRAY['QC'::text, jsonb_array_elements_text(l.l)] AS labels - FROM _SURVEY__TEMPLATE_.raw_shots rs, - LATERAL jsonb_path_query(rs.meta, '$."qc".*."results"'::jsonpath) q(q), - LATERAL jsonb_path_query(rs.meta, '$."qc".*."labels"'::jsonpath) l(l) + ('{QC}'::text[] || qc.labels) AS labels + FROM (_SURVEY__TEMPLATE_.raw_shots rs + LEFT JOIN qc USING (sequence, point)), + LATERAL jsonb_path_query(rs.meta, '$."qc".*."results"'::jsonpath) q(remarks) WHERE (rs.meta ? 'qc'::text);