Mercurial > dive4elements > river
view flys-artifacts/src/main/resources/datacage-sql/org-postgresql-driver.properties @ 5509:627584bc0586
Datacage: Added <dc:filter> element. This allows cleaner way to narrow the datasets.
Example:
<dc:context>
<dc:statement>
SELECT DISTINCT
name AS hws_name,
official AS hws_official,
kind_id AS hws_kind
FROM hws_lines
WHERE river_id = ${river_id}
</dc:statement>
<dc:if test="dc:has-result()">
<lines>
<dc:macro name="hws-lines">
<dc:elements>
<hws factory="hwsfactory" name="{$hws_name}"/>
</dc:elements>
</dc:macro>
<dc:filter expr="$hws_official=1">
<dc:if test="dc:has-result()">
<official>
<dc:filter expr="$hws_kind=1">
<dc:if test="dc:has-result()">
<Durchlass><dc:call-macro name="hws-lines"></Durchlass>
</dc:if>
</dc:filter>
<dc:filter expr="$hws_kind=2">
<dc:if test="dc:has-result()">
<Damm><dc:call-macro name="hws-lines"></Damm>
</dc:if>
</dc:filter>
<dc:filter expr="$hws_kind=3">
<dc:if test="dc:has-result()">
<Graben><dc:call-macro name="hws-lines"></Graben>
</dc:if>
</dc:filter>
</official>
</dc:if>
</dc:filter>
</lines>
</dc:if>
</dc:context>
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 28 Mar 2013 16:51:15 +0100 |
parents | 02c327ffbad7 |
children |
line wrap: on
line source
delete.all.users = DELETE FROM users delete.all.artifacts = DELETE FROM artifacts user.id.nextval = SELECT NEXTVAL('USERS_ID_SEQ') user.by.gid = SELECT id FROM users WHERE gid = ?::uuid insert.user = INSERT INTO users (id, gid) VALUES (?, ?::uuid) collection.by.gid = SELECT id FROM collections WHERE gid = ?::uuid collection.id.nextval = SELECT NEXTVAL('COLLECTIONS_ID_SEQ') insert.collection = INSERT INTO collections (id, gid, user_id, name, creation) VALUES (?, ?::uuid, ?, ?, ?) artifact.by.gid = SELECT id FROM artifacts WHERE gid = ?::uuid collection.item.id.nextval = SELECT NEXTVAL('COLLECTION_ITEMS_ID_SEQ') insert.collection.item = INSERT INTO collection_items (id, collection_id, artifact_id) VALUES (?, ?, ?) artifact.id.nextval = SELECT NEXTVAL('ARTIFACTS_ID_SEQ') insert.artifact = INSERT INTO artifacts (id, gid, state, creation) VALUES (?, ?::uuid, ?, ?) artifact.data.id.nextval = SELECT NEXTVAL('ARTIFACT_DATA_ID_SEQ') insert.artifact.data = INSERT INTO artifact_data (id, artifact_id, kind, k, v) VALUES (?, ?, ?, ?, ?) out.id.nextval = SELECT NEXTVAL('OUTS_ID_SEQ') insert.out = INSERT INTO outs (id, artifact_id, name, description, out_type) VALUES (?, ?, ?, ?, ?) facet.id.nextval = SELECT NEXTVAL('FACETS_ID_SEQ') insert.facet = INSERT INTO facets (id, out_id, name, num, state, description) VALUES (?, ?, ?, ?, ?, ?) update.collection.name = UPDATE collections SET name = ? WHERE gid = ?::uuid delete.artifact.from.collection = DELETE FROM collection_items WHERE collection_id = ? AND artifact_id = ? delete.collection.by.gid = DELETE FROM collections WHERE gid = ?::uuid delete.user.by.gid = DELETE FROM user WHERE gid = ?::uuid delete.artifact.data.by.artifact.id = DELETE FROM artifact_data WHERE artifact_id = ? delete.outs.by.artifact.id = DELETE FROM outs WHERE artifact_id = ? delete.facets.by.artifact.id = DELETE FROM facets WHERE out_id IN (SELECT id FROM outs WHERE artifact_id = ?) delete.artifact.by.gid = DELETE FROM artifacts WHERE gid = ?::uuid