Mercurial > dive4elements > framework
view artifact-database/src/main/resources/sql/org-h2-driver.properties @ 253:a2df2b48d2aa
Enabled the artifact database to handle requests specific to collection attributes and collection item attributes.
artifacts/trunk@1746 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Tue, 26 Apr 2011 07:43:40 +0000 |
parents | 33b9cc23ac9b |
children | 22a90706d32d |
line wrap: on
line source
artifacts.id.nextval=SELECT NEXTVAL('ARTIFACTS_ID_SEQ') artifacts.insert=INSERT INTO artifacts \ (id, gid, creation, last_access, ttl, factory, data) \ VALUES (?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?, ?) artifacts.update=UPDATE artifacts SET last_access = CURRENT_TIMESTAMP, \ data = ? WHERE id = ? artifacts.touch=UPDATE artifacts SET last_access = CURRENT_TIMESTAMP WHERE id = ? artifacts.outdated=SELECT id, factory, data FROM artifacts WHERE ttl IS NOT NULL \ AND DATEDIFF('MILLISECOND', last_access, CURRENT_TIMESTAMP) > ttl \ AND id NOT IN (SELECT DISTINCT artifact_id FROM collection_items) \ AND id NOT IN ($LOCKED_IDS$) \ LIMIT 50 artifacts.select.gid=SELECT id, ttl, factory, data FROM artifacts WHERE gid = ?::uuid \ AND (ttl IS NULL \ OR (DATEDIFF('MILLISECOND', last_access, CURRENT_TIMESTAMP) <= ttl) \ OR id IN (SELECT artifact_id FROM collection_items)) artifacts.get.id=SELECT id FROM artifacts WHERE gid = ? artifacts.replace=UPDATE artifacts SET \ creation = CURRENT_TIMESTAMP, last_access = CURRENT_TIMESTAMP, \ ttl = ?, factory = ?, data = ? \ WHERE id = ? artifacts.delete=DELETE FROM artifacts WHERE id = ? # USERS users.id.nextval=SELECT NEXTVAL('USERS_ID_SEQ') users.insert=INSERT INTO users (id, gid, name, role) VALUES (?, ?, ?, ?) users.select.id.by.gid=SELECT id FROM users WHERE gid = ? users.select.gid=SELECT id, name, role FROM users WHERE gid = ? users.delete.id=DELETE FROM users WHERE id = ? users.delete.collections=DELETE FROM collections where owner_id = ? users.select.all=SELECT id, gid, name, role FROM users collection.check.artifact=SELECT id FROM collection_items \ WHERE artifact_id = ? AND collection_id = ? # COLLECTION ITEMS collection.items.id.nextval=SELECT NEXTVAL('COLLECTION_ITEMS_ID_SEQ') collection.items.insert=INSERT INTO collection_items \ (id, collection_id, artifact_id, attribute) \ VALUES (?, ?, ?, ?) collection.item.get.attribute= \ SELECT ci.attribute FROM collection_items ci \ INNER JOIN collections c ON ci.collection_id = c.id \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE c.gid = ? AND a.gid = ? collection.item.set.attribute= \ UPDATE collection_items SET attribute = ? WHERE id IN ( \ SELECT ci.id FROM collection_items ci \ INNER JOIN collections c ON ci.collection_id = c.id \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE c.gid = ? AND a.gid = ?) collection.item.id.cid.aid= \ SELECT ci.id, ci.collection_id, ci.artifact_id FROM collection_items ci \ INNER JOIN collections c ON ci.collection_id = c.id \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE c.gid = ? AND a.gid = ? collection.item.outdate.artifact= \ UPDATE artifacts \ SET last_access = DATEADD('MILLISECOND', -2, CURRENT_TIMESTAMP), ttl = 1 \ WHERE id = ? AND \ NOT EXSITS \ (SELECT id FROM collection_items WHERE collection_id <> ? AND artifact_id = ?) collection.item.delete=DELETE FROM collection_items WHERE id = ? collection.items.list.gid= \ SELECT a.gid, ci.attribute FROM collection_items ci \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE ci.collection_id IN (SELECT id FROM collections WHERE gid = ?) # COLLECTIONS collections.outdated= \ SELECT c.id FROM collections c \ INNER JOIN collection_items ci ON c.id = ci.collection_id \ INNER JOIN artifacts a ON ci.artifact_id = a.id \ WHERE c.ttl IS NOT NULL \ AND DATEDIFF('MILLISECOND', c.last_access, CURRENT_TIMESTAMP) > c.ttl \ AND a.id NOT IN ($LOCKED_IDS$) collections.touch.trigger.function = \ UPDATE collections SET last_access = current_timestamp \ WHERE id IN \ (SELECT c.id FROM collections c \ INNER JOIN collection_items ci ON c.id = ci.collection_id \ INNER JOIN artifacts a ON a.id = ci.artifact_id \ WHERE a.id = ?) collections.touch.by.gid =\ UPDATE collections SET last_access = CURRENT_TIMESTAMP \ WHERE gid = ? collections.touch.by.id =\ UPDATE collections SET last_access = CURRENT_TIMESTAMP \ WHERE id = ? collections.id.nextval=SELECT NEXTVAL('COLLECTIONS_ID_SEQ') collections.id.by.gid=SELECT id FROM collections WHERE gid = ? delete.collection.items=DELETE FROM collection_items WHERE collection_id = ? delete.collection=DELETE FROM collections WHERE id = ? delete.user.collection.items= \ DELETE FROM collection_items WHERE collection_id IN \ (SELECT id FROM collections WHERE owner_id = ?) collections.insert= \ INSERT INTO collections \ (id, gid, name, owner_id, creation, last_access, ttl, attribute) \ VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?, ?) collection.creation.time=SELECT creation from collections WHERE id = ? collections.select.user= \ SELECT c.gid, c.name, c.creation, u.gid FROM \ collections c LEFT OUTER JOIN users u ON c.owner_id = u.id \ WHERE u.gid = ? collections.select.all= \ SELECT c.gid, c.name, c.creation, u.gid FROM \ collections c LEFT OUTER JOIN users u ON c.owner_id = u.id collections.select.by.gid= \ SELECT id, name, owner_id, creation, last_access, attribute \ FROM collections WHERE gid = ? users.collections=SELECT collection_id, gid, name FROM collections WHERE owner_id = ? users.collection.ids=SELECT collection_id FROM collections WHERE owner_id = ? users.delete.all.collections=DELETE FROM collections WHERE owner_id = ? artifacts.in.one.collection.only= \ SELECT artifact_id FROM collection_items\ WHERE collection_id = ? AND\ artifact_id NOT IN (SELECT DISTINCT artifact_id FROM collection_items WHERE collection_id <> ?) outdate.artifacts.collection=UPDATE artifacts \ SET last_access = DATEADD('MILLISECOND', -2, CURRENT_TIMESTAMP), ttl = 1 \ WHERE id IN \ SELECT artifact_id FROM collection_items \ WHERE collection_id = ? AND \ artifact_id NOT IN (SELECT DISTINCT artifact_id FROM collection_items WHERE collection_id <> ?)) outdate.artifacts.user=UPDATE artifacts \ SET last_access = DATEADD('MILLISECOND', -2, CURRENT_TIMESTAMP), ttl = 1 \ WHERE id IN \ (SELECT artifact_id FROM collection_items WHERE \ collection_id IN (SELECT id FROM collections WHERE owner_id = ?) \ AND artifact_id NOT IN \ (SELECT artifact_id FROM collection_items WHERE collection_id IN \ (SELECT id FROM collections WHERE owner_id <> ?))) collection.get.attribute= \ SELECT c.attribute FROM collections c WHERE c.gid = ? collection.set.attribute= \ UPDATE collections SET attribute = ? WHERE gid = ?